Considerações para as definições de "duplicação" e "autoshrink" no SQL Server

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 315512
Sumário
Duplicação e autoshrink as predefinições irão funcionar para si com sem optimização em muitos sistemas do SQL Server. No entanto, existem ambientes onde não tem de activar as definições ou onde poderá ter de ajustar os parâmetros de duplicação e autoshrink . Este artigo fornece algumas informações de fundo para o orientar quando selecciona as definições para o seu ambiente.
Mais Informação
Eis alguns pontos a considerar se optar por optimizar os parâmetros de duplicação e autoshrink .

Como configuro as definições?

  1. Pode configurar as definições de duplicação e autoshrink , utilizando um dos seguintes procedimentos:
    • Uma instrução ALTER DATABASE
    • SQL Server Management Studio
    • O procedimento armazenado sp_dboption (preterido no SQL Server 2005)
    NotaPara mais informações sobre como definir estas definições no SQL Server 2005, visite os seguintes Web sites da Microsoft Developer Network (MSDN):
    Como: adicionar dados ou ficheiros de registo numa base de dados (SQL Server Management Studio)
    http://msdn2.microsoft.com/en-us/library/ms189253.aspx
    Propriedades de base de dados (página de ficheiros)
    http://msdn2.microsoft.com/en-us/library/ms180254.aspx
    Também pode configurar a opção de duplicação quando cria uma base de dados.

    Toview as definições actuais, execute o seguinte comando de Transact-SQL:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. Tenha em atenção que as definições de duplicação são por ficheiro. Consequentemente, terá de defini-las em, pelo menos, dois locais para cada base de dados (uma para o ficheiro de dados primária) e outra para o ficheiro de registo primário. Se tiver vários ficheiros de dados e/ou de registo, tem opções de setthe em cada ficheiro. Dependendo do ambiente, poderá ficar definições withdifferent para cada ficheiro de base de dados.

Quais são as implicações de desempenho?

  • Se executar uma transacção que requer mais thanis de espaço de registo disponíveis, e tiver activado a opção de duplicação para o registo de transacções de base de dados, em seguida, o ittakes de tempo para concluir a transacção incluirá o tempo que demora o registo de thetransaction para aumentar o valor configurado. Se o crescimento incrementar islarge ou não existem alguns outros factores que causou a demorar muito tempo, thequery em que abriu a transacção poderá falhar devido a um erro de tempo de espera.O mesmo tipo de problema pode resultar de uma duplicação dos dados de yourdatabase. Para alterar a configuração de duplicação , consulte o tópico "ALTER DATABASE" no SQL Server BooksOnline.
  • Se executar uma transacção de grande que requer o togrow de registo, outras transacções que requerem uma operação de escrita para o registo de transacções irão alsohave aguardar até a operação de crescimento é concluída.
  • Se combinar as opções de duplicação e autoshrink , poderá criar desnecessários sobrecarga. Certifique-se de que os limiares que accionam a aumentar e diminuir operações serão não causefrequent e alterações de tamanho. Por exemplo, poderá executar uma transacção thatcauses o log de transacções cresça por 100 MB no momento em que se compromete. Alguns timeafter que o autoshrink é iniciado e diminui o registo de transacções por 100 MB. Em seguida, é executado qualquer auto-teste mesma transacção e provoca o registo de transacções cresça novamente por 100 MB.Nesse exemplo, estiver a criar uma sobrecarga desnecessária e potencialmente creatingfragmentation do ficheiro de registo, quer da qual pode negativamente affectperformance.
  • Fragmentação física possam alterar o tamanho dos ficheiros de registo dataor pode ter um grave efeito no desempenho do. Isto é verdade whetheryou utilizar as definições automáticas ou quer manualmente aumentar e diminuir frequentemente thefiles.
  • Se aumentar a base de dados em pequenos deslocamentos ou se yougrow-lo e, em seguida, reduzir, pode acabar por com fragmentação do disco. Diskfragmentation pode provocar problemas de desempenho em algumas circunstâncias. Incremento de crescimento de ofsmall um cenário também pode reduzir o desempenho no yoursystem.
  • No SQL Server 2005 ou em versões posteriores, pode activar a inicialização do ficheiro instantâneas. Inicialização do ficheiro instantâneas acelera as atribuições de ficheiros só para ficheiros de dados. Inicialização do ficheiro instantâneas não se aplica a ficheiros de registo.
  • Se tiver muitos epidérmicas de ficheiro nos ficheiros de registo, poderá ter um número demasiado grande de ficheiros de registo virtual (VLF). Isto pode conduzir a problemas de desempenho com operações de arranque online da base de dados, replicação, espelhamento (mirroring) e alterar a captura de dados (CDC). Além disso, por vezes, isto pode causar problemas de desempenho com modificações de dados.

Procedimentos recomendados

  • Para um sistema de produção gerida, tem de considerar duplicação ser apenas uma contingência crescimento inesperado. Fazer não manageyour dados e de registo crescimento diariamente com duplicação.
  • Pode utilizar alertas ou programas de monitorização para monitorizar filesizes e aumentar ficheiros de forma pró-activa. Isto ajuda a evitar a fragmentação andpermits para mudar estas actividades de manutenção para não peakhours.
  • AutoShrink e duplicação devem ser cuidadosamente avaliadas por um Administrator(DBA) de base de dados com formação; não devem ser deixados não gerida.
  • O incremento de duplicação tem de ser suficientemente grande para evitar o penaltieslisted de desempenho na secção anterior. O valor exacto para utilizar em seu configurationsetting e a escolha entre uma percentagem do crescimento e uma sizegrowth MB específica depende de muitos factores no seu ambiente. Toyou um princípio geral pode utilizar para testar é definir a definição de duplicação para cerca de um-oito o tamanho do thefile.
  • Activar o <MAXSIZE>definir para cada ficheiro impedir qualquer um ficheiro fique a um ponto em que utiliza todos os availabledisk espaço.</MAXSIZE>
  • Manter o tamanho de suas transações mais pequeno possível impedir não planeado crescimento do ficheiro.

Porque tenho que se preocupar acerca de espaço em disco, se as definições de tamanho são automaticamente controladas?

  • A definição de duplicação não é possível aumentar o tamanho da base de dados para além dos limites de espaço em disco de theavailable nas unidades para o qual os ficheiros são definidos. Por conseguinte, ifyou dependem da funcionalidade de duplicação para dimensionar as bases de dados, deve stillindependently Verifique o espaço disponível no disco rígido. A definição de duplicação também é limitada pelo parâmetro MAXSIZE Seleccionar ficheiro foreach. Para reduzir a possibilidade de ficar sem espaço, é possível que o contador do Monitor de desempenho de monitorthe SQL Server: objecto de bases de dados: tamanho de ficheiro (s) de dados (KB) e configurar um alerta para quando a base de dados atinge um determinado tamanho.
  • Não planeado crescimento dos ficheiros de registo ou de dados pode demorar espaço thatother aplicações espera que esteja disponível e poderão fazer com que esses otherapplications a ter problemas.
  • O incremento de crescimento do registo de transacções do tem de ser testemunhos manter as necessidades das suas unidades de transacção. Mesmo com duplicação activada, pode receber uma mensagem que a transacção de registo isfull, se não é possível aumentar rapidamente para satisfazer as necessidades das yourquery.
  • SQL Server não constantemente testa para bases de dados que havehit o limiar configurado para autoshrink. Em vez disso, vê as bases de dados disponíveis e localiza o firstone configurado para autoshrink. Verifica essa base de dados e diminui thatdatabase, se necessário. Em seguida, aguarda vários minutos antes de verificar o nextdatabase configurado para autoshrink. Por outras palavras, o SQL Server não verifica a que diminuir de todas as bases de dados, onceand-las todas ao mesmo tempo. Irá funcionar através de bases de dados de uma forma de roundrobin escalonar a carga, durante um período de tempo. Por conseguinte, dependendo de quantas bases de dados de uma determinada instância do SQL Server haveconfigured a autoshrink, poderá demorar várias horas a partir do momento que o limiar de acertos de base até que efectivamente diminui.

A tabela seguinte fornece mais informações sobre os produtos ou ferramentas que verificam automaticamente para esta condição na sua instância do SQL Server e as versões do produto de servidor de SQL contra o qual a regra é avaliada.

Software de regraTítulo de regraDescrição da regraVersões de produtos contra os quais a regra é avaliada
O System Center AdvisorDefinição de crescimento do ficheiro de base de dados do SQL Server é mais do que o espaço disponível no disco actualClassificação do System Center determina se uma base de dados na instância do SQL Server tem automática crescer configurado para os ficheiros de base de dados. Se o incremento de auto-grow resultante é maior do que o espaço disponível no volume, o System Center Advisor gera um aviso para esta base de dados do SQL Server. Se receber este aviso de classificação do centro do sistema, reveja as definições para os ficheiros afectados automática de ampliação e executar uma acção correctiva. É possível resolver esta situação, utilizando um dos seguintes métodos:
  • Reduza o incremento de crescimento tal pode acontecer o crescimento seguinte neste volume.
  • Adicione mais espaço a este volume.
  • Mova este ficheiro para outro volume com espaço disponível para o seu crescimento.
SQL Server 2008
SQL Server 2008 R2



Referências
Para mais informações sobre como aumentar e diminuir os ficheiros de base de dados e registo, clique nos números de artigo seguinte para visualizar os artigos na Microsoft Knowledge Base:
256650 Como diminuir o registo de transacções do SQL Server 7.0
272318 Diminuir o registo de transacções no SQL Server 2000 com DBCC SHRINKFILE
317375 Um registo de transacções é ampliada inesperadamente ou fica cheio num computador com o SQL Server
247751 Erro: O plano de manutenção de base de dados não diminui a base de dados
305635 Um tempo limite ocorre quando uma base de dados é expandir automaticamente
949523 A latência de uma replicação transaccional é elevada no SQL Server 2005 quando o valor da propriedade "Initial Size" e o valor da propriedade Autogrowth são pequenas
Para mais informações sobre a inicialização do ficheiro de base de dados, visite o seguinte Web site da Microsoft Developer Network (MSDN): Para mais informações sobre como activar a inicialização do ficheiro instantâneas, visite o seguinte Web site da Microsoft: Para mais informações acerca da arquitectura física de registo de transacções, visite o seguinte Web site da MSDN:
SQL Server Books Online; tópicos: "Transaction Log Physical Architecture"; "Diminuir o registo de transacções"
aumentar diminuir crescente redução automática expandir fechar reduzir 1105 registo completo vazia grande maior menor não foi possível atribuir espaço para o objecto

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 315512 - Última Revisão: 03/15/2015 07:55:00 - Revisão: 8.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard

  • kbsqlsetup kbinfo kbmt KB315512 KbMtpt
Comentários