Crie um novo banco de dados com tamanho inicial grande


8

Desejo criar um novo banco de dados com um arquivo de dados de 200 GB ( .mdf) e um arquivo de log de 50 GB ( .ldf).

Mas é muito lento (são cerca de 15 minutos e ainda não foi criado). e consome muito tempo. Isso é normal? Se sim, o que faz isso leva tempo? posso melhorar a velocidade de criação?

Estou usando o SQL Server 2008 R2, o Windows Server 2008R2, 16 GB de RAM (que eu limitei para 12 GB em ssms) e a CPU Core i7


2
Para a criação de um banco de dados grande, você é muito mais limitado por E / S de disco do que qualquer outra coisa. Se o IFI estiver ativado (conforme as respostas), você poderá pular a inicialização (zerando) o arquivo de dados, mas não importa o que seja necessário para inicializar o arquivo de log. Se você estiver usando um disco rotativo típico do consumidor que pode levar até meia hora apenas para o arquivo de log.
Simon Righarts

Respostas:


17

A menos que você esteja usando a Inicialização instantânea de arquivos , o SQL Server deve zerar todos os setores dos arquivos. Este é um processo demorado, especialmente para 250 GB (dados + log). Para acelerar as coisas, ative esse recurso e o SQL Server não zerará o espaço para os arquivos de dados.

Observe que o SQL Server sempre zera o arquivo de log ; portanto, você ainda será limitado por isso. Outra referência para inicialização do arquivo de log


o que exatamente acontece no disco rígido quando zero out all sectorse por que o SQL sempre zera o arquivo de log? qual é a vantagem de fazer isso?
Mehrdad Kamelzadeh 7/10

Este é o processo de apagar dados no seu disco. Basicamente, a inicialização instantânea de arquivo ignora isso. No entanto, devido à maneira como o arquivo de log funciona internamente, o SQL Server deve zerá-lo completamente para poder usá-lo. Você pode encontrar mais detalhes aqui .
Mike Fal

@MehrdadKamelzadeh O servidor zerando o arquivo SQL APENAS se aplica aos arquivos de dados . Os arquivos de log não podem ser zero inicializados. Consulte ( sqlskills.com/blogs/paul/… ). Consulte também Como saber se a inicialização instantânea está ativada? ( sqlskills.com/blogs/paul/… ).
Kin Shah

11
@Kin - Os arquivos de log devem ser inicializados com zero, mas com o IFI você pode pular a inicialização com zero dos arquivos de dados.
Simon Righarts

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.