Quiero crear una nueva base de datos con un archivo de datos de 200GB ( .mdf
) y un archivo de registro de 50GB ( .ldf
).
Pero es muy lento (son unos 15 minutos y aún no se ha creado). y lleva mucho tiempo. ¿Eso es normal? en caso afirmativo, ¿qué hace que lleve tiempo? ¿Puedo mejorar su velocidad de creación?
Estoy usando SQL Server 2008 R2, Windows Server 2008R2, 16 GB de RAM (que limité a 12 GB en ssms) y Core i7 Cpu
sql-server
Mehrdad Kamelzadeh
fuente
fuente
Respuestas:
A menos que esté utilizando la Inicialización instantánea de archivos , SQL Server debe poner a cero todos los sectores para los archivos. Este es un proceso que consume mucho tiempo, especialmente para 250 GB (datos + registro). Para acelerar las cosas, habilite esta característica y luego SQL Server no pondrá a cero el espacio para los archivos de datos.
Tenga en cuenta que SQL Server siempre pondrá a cero el archivo de registro , por lo que aún estará limitado por eso. Otra referencia para la inicialización del archivo de registro
fuente
zero out all sectors
y cuándo y por qué SQL siempre pone a cero el archivo de registro? ¿Cuál es la ventaja de hacer eso?Si ejecuta,
secpol.msc
¿cuál es el valor de las políticas locales, la asignación de derechos de usuarioPerform Volume Maintenance Tasks
?Mi suposición en este punto es que la cuenta de servicio de SQL Server no tiene este derecho y, por lo tanto, pone a cero el mdf y el LDF. No se puede evitar que el LDF se ponga a cero, pero puede omitirlo para el MDF.
Referencia: http://timradney.com/2012/05/30/instant-file-initialization-for-sql-server-performance/
fuente