Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
img
img

 

 

SQL Server
Blog. (Apuntes y Recopilaciones) por Norman M. Pardell

img
img
29 de Noviembre, 2011 · Parametrizar-bbdd-Sharepoint-SQL

Parametrizar bbdd de Sharepoint. SQL Server.

Voy a comentar de forma  detallada la manera de crear bases de datos y que parámetros hay que reconfigurar, para un entorno Sharepoint 2007 - SQL Server 2005 o 2008 

Parametros:

MODIFY FILE (.mdf),  FILEGROWTH = 100MB

MODIFY FILE (.ldf), FILEGROWTH = 50MB

 

SET AUTO_CLOSE OFF

SET AUTO_CREATE_STATISTICS ON

SET AUTO_SHRINK OFF

SET AUTO_UPDATE_STATISTICS ON

SET AUTO_UPDATE_STATISTICS_ASYNC ON

SET PAGE_VERIFY CHECKSUM

 

 Según la información consultada (“Microsoft  SharePoint 2010 Administrator’s Companion”) el parámetro “Autogrowth” no se hereda de la “Model Database” al crear bases de datos en SharePoint 2010 a través de la Administración Central. En efecto, en el capítulo 3 de dicho libro, podemos leer lo siguiente:

 

“…even if you configure the Model database with specific Autogrowth settings, they will not be applied when a new database is created through the Central Administration interface.”

 

Posteriormente, en ese mismo capítulo, se proporciona la manera de crear bases de datos heredando dicho parámetro de la “Model Database”:

 

Pre-Creating Your Content Databases

If your organization has a SQL DBA that manages all of your companies’ databases, including your SharePoint databases, you have the option of asking your DBA to pre-create your content databases from within SQL Server. You can then point to these pre-created databases from SharePoint, SharePoint will recognize them, and the databases will become part of the farm. The advantage of pre-creating databases is that all the Model database settings are inherited, including the Autogrowth setting that is not inherited when you create your content databases from within SharePoint. However, a disadvantage is that the default collation setting of the Model database is SQL_Latin1_General_CP1_CI_AS, which is not compatible with the required SharePoint database collation type. Therefore, your DBA will have to be sure that the pre-created content databases use the appropriate database collation type of Latin1_General_CI_AS_KS_WS, as shown in Figure 3-10. […]

 

[…]Remember, the Autogrowth settings are a contingency for unexpected growth and should not be used as a day-to-day action. To avoid using Autogrowth except when absolutely necessary, analyze the amount of information you expect to be in your SharePoint databases and set their initial size to hold the anticipated amount of content. Use the full recovery model to provide the opportunity to recover information in the event of a hardware failure, as discussed in the next section.

 

Como se puede leer, la idea se basa en pre-crear las bases de datos con SQL Server y posteriormente vincular dichas bases de datos a SharePoint. Es muy importante que las bases de datos tengan un collation type de Latin1_General_CI_AS_KS_WS. Éste es el collation type que usan las bases de datos de contenidos de SharePoint 2010. La Model Database tiene por defecto un collation type SQL_Latin1_General_CP1_CI_AS. Al pre-crear las bases de datos, éstas heredarán este collation type (si no especificamos nada en su pre-creación) y al hacer el vínculo entre éstas bases de datos y SharePoint nos dará error.

 

La manera de proceder sería la siguiente:

 

      -Abrimos Microsoft SQL Management Studio

       -Desplegamos el árbol de la carpeta “Databases”. Desplegamos “System Databases”.

       -Hacemos click con el botón derecho en “model”. Click en “Properties”




       -En “Files”, en la pestaña de “Autogrowth” metemos los parametros según vuestras especificaciones (MODIFY FILE (.mdf),  FILEGROWTH = 100MB y MODIFY FILE (.ldf), FILEGROWTH = 50MB):



       -En “Options”, cambiamos los parámetros según vuestras especificaciones (SET AUTO_CLOSE OFF, SET AUTO_CREATE_STATISTICS ON, SET AUTO_SHRINK OFF, SET AUTO_UPDATE_STATISTICS ON,  SET AUTO_UPDATE_STATISTICS_ASYNC ON y SET PAGE_VERIFY CHECKSUM ):





       -Con esto, hemos modificado la “Model Database” y, a partir de aquí, todas las bases de datos que se creen heredarán éstos parámetros de la “Model Database”.

       -Ahora tendríamos que crear las bases de datos. En entornos donde se creen muchas bases de datos, este proceso se podría automatizar con un script.

       -A modo de ejemplo, crearemos manualmente una base de datos:

 

o    Hacemos click con el botón derecho en “Databases”.  Clickamos en “New Database”:

o   Como se puede apreciar en la siguiente imagen, los parámetros que previamente cambiamos en la “Model Database” se han heredado:





Sin embargo, una vez creada, si volvemos a comprobar dichos parámetros, vemos que el archivo .ldf pasa de “unrestricted growth” a lo siguiente:




Sin embargo, observamos que está restringido a 2 TB, que es el máximo valor posible que puede tener un archivo .ldf.

 

o   IMPORTANTE. Seleccionamos el Collation Type adecuado para que sea posible vincular esta base de datos a SharePoint.



De no hacerlo, a la hora de hacer el vínculo, obtendríamos lo siguiente:




o   Hacemos click en “OK” y ya tendremos nuestra base de datos creada. A continuación, vincularemos esta base de datos con SharePoint.

 

       -Vincular la base de datos se puede hacer desde Administración Central o Powershell. Procederemos a usar PowerShell, concretamente el siguiente comando:

Mount-SPContentDatabase "<ContentDb>" -DatabaseServer "<DbServer>" -WebApplication http://SiteName

 

       -Obtenemos lo siguiente:





       -Al comprobar los parámetros una vez hecho el vínculo, observamos que los parámetros de “autogrowth” se mantienen pero no así alguno de los otros:



       -Concretamente, habría que modificar de nuevo los parámetros Auto Create Statistics (ON) y Auto Update Statistics (ON)

       -Podemos hacer eso bien modificándolos directamente o bien haciendo las pertinentes queries a la base de datos en cuestión:

 

alter database WSS_Prueba set auto_create_statistics on

alter database WSS_Prueba set auto_update_statistics on




       -Esto dejaría la base de datos lista para ser usada por SharePoint y con los parámetros que especificásteis.

 

 

Técnicos del grupo de soporte de Microsoft, me comentaron que esto sí esta soportado aunque desde el grupo de SharePoint se recomienda no alterar la configuración de las bases de datos ya que se podría incurrir en un problema de rendimiento. Concretamente el parámetro Auto Shrink puede originar problemas. Esto lo podemos leer en el capítulo 3 de “Microsoft  SharePoint 2010 Administrator’s Companion” :

 

“… you also can configure your databases to automatically decrease in size by using the Auto Shrink option, as shown in Figure 3-9, or you can manually shrink them. This is done to free up space currently being used by your SharePoint databases. Although this option is available, you should use it sparingly. In fact, you should only shrink a database if you are confident that the database size won’t have to be increased again to accommodate SharePoint content. Altering the size of a database is costly from a performance perspective, so you want to create an environment that avoids the need for a constant increase and decrease in the size of your databases.”

 

Es conveniente tener en cuenta que la modificación de algún parámetro puede generar problemas de rendimiento.                                                                                                 

 

Pongo enlaces sobre las bases de datos que maneja SharePoint 2007 y sobre la model database en concreto:

 

       -http://technet.microsoft.com/es-es/library/cc262869.aspx

       -http://msdn.microsoft.com/es-es/library/ms186388.aspx

       -http://technet.microsoft.com/es-es/library/cc678868.aspx

 

 

         Por último, os dejo un script, que modifique y parametrice todas las bases de datos, que ya esten creadas, en vuestra/s instancia/s para Sharepoint:

declare @nombre as varchar (200), @execsql as varchar(1200)

 

 

declare mycursor cursor for

select name from sysdatabases

WHERE name not in ('master','tempdb','model','msdb')

-- SI SE QUIERE SOLAMENTE PARA ALGUNAS BBDD PONDREMOS --> and in ('bbdd1','bbdd2'...'bbddN')

 

 

open mycursor

 

 

fetch next from mycursor into @nombre

 

 

WHILE @@FETCH_STATUS = 0

BEGIN

 

set @execsql ='ALTER DATABASE [' + @nombre + ']

MODIFY FILE

    (NAME = [' + @nombre + '],

    FILEGROWTH = 100MB);

ALTER DATABASE [' + @nombre + ']

MODIFY FILE

(NAME = [' + @nombre + '_log],

    FILEGROWTH = 50MB);

ALTER DATABASE [' + @nombre + '] SET AUTO_CLOSE OFF WITH NO_WAIT;

ALTER DATABASE [' + @nombre + '] SET AUTO_CREATE_STATISTICS ON WITH NO_WAIT;

ALTER DATABASE [' + @nombre + '] SET AUTO_SHRINK OFF WITH NO_WAIT;

ALTER DATABASE [' + @nombre + '] SET AUTO_UPDATE_STATISTICS ON WITH NO_WAIT;

ALTER DATABASE [' + @nombre + '] SET AUTO_UPDATE_STATISTICS_ASYNC ON WITH NO_WAIT;

ALTER DATABASE [' + @nombre + '] SET PAGE_VERIFY CHECKSUM  WITH NO_WAIT;'

                    

exec (@execsql)

 

fetch next from mycursor into @nombre

END

 

 

close mycursor

deallocate mycursor


Apunte y recopilación por Norman M. Pardell

 

Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea posible.



















publicado por normanmpardell a las 06:55 · Sin comentarios  ·  Recomendar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
img
.Sobre mí
FOTO

Norman M. Pardell

MCITP: Database Administrator & Database Developer, SQL Server 2008. MCC Award Certificate. Consultor Senior de bases de datos en Capgemini España, S.L. Asesoramiento en implementación, desarrollo y gestión de bases de datos en grandes compañías. Actualmente, asignado a proyecto en compañía líder en el sector energético global. Más de 10 años trabajando con SQL Server (y otros gestores de BBDD)

» Ver perfil

img
.Secciones
» Inicio
img
.Enlaces
» Microsoft MSDN Foros
» Windows Server 2012
img
.Más leídos
» Asignar la cantidad correcta de Memoria para SQL Server
» Base de Datos Sospechosa (Suspect)
» Como modificar la Intercalación (Collation) en SQL Server
» Como renombrar una instancia de SQL Server. sp_dropserver. sp_addserver
» Detectar bloqueos. SQL Server V.2005 y superiores
» Funciones SQL Server. Funciones escalares y funciones con valores de tabla.
» Integridad y corrupción en las bases de datos: DBCC CHECKDB
» Log de transacciones ( .ldf ). SQL Server.
» Migrando SQL Server 2005, 2008, 2008 R2 a SQL Server 2012
» Transacciones activas. SQL server 2008
img
.Nube de tags [?]
                                                           
img img
FULLServices Network | Crear blog | Privacidad