none
Arquivo tempbd RRS feed

  • Pergunta

  • Bom dia.

    Minha base de dados principal tem em torno de 70GB e o arquivo tempbd está com 17GB, isso está ocupando muito espaço no meu disco. Então gostaria de saber se é possível automatizar esse arquivo tempbd:

    • Se o arquivo tempdb ficar em um local diferente do banco de dados principal, qual o impacto?
    • É possível definir um tamanho limite para o arquivo tempbd?

    Agradeço quem puder me ajudar.

    sexta-feira, 25 de agosto de 2017 12:13

Respostas

  • Amorim_Vinicius,

    Respondendo as suas perguntas.

    1. É recomendado que os arquivos da tempdb fiquem em discos/volumes separados do restante das databases de usuários.

    2. Não é recomendado, mas é possível sim definir um limite de crescimento alterando as opções de autogrow e maxsize dos arquivos, mas nesse caso você precisará ficar controlando o crescimento manual dos arquivos da tempdb. Para alterar estas opções você pode ir nas propriedades da database tempdb, ir na opção files e alterar os parâmetros de autogrow e maxsize.

    Para mais informações e melhores práticas sobre a tempdb você pode consultar o link abaixo:

    https://technet.microsoft.com/pt-br/library/ms175527(v=sql.105).aspx

    Espero ter ajudado.


    Felipe Lauffer
    MCT | MCSE: Data Management & Analytics | MCSE: Data Platform | MCSA: SQL Server 2012/2014 | MCP

    [ Blog ] - [ Profile ] - [ Wiki ] - [ Gallery ] - [ LinkedIn ]


    sexta-feira, 25 de agosto de 2017 13:06

Todas as Respostas

  • Olá Amorim_Vinicius,

    Veja nos links abaixo várias melhores práticas para o tempdb.

    https://docs.microsoft.com/pt-br/sql/relational-databases/databases/tempdb-database

    https://lhgaretti.wordpress.com/2016/02/05/melhores-praticas-com-tempdb/


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)


    sexta-feira, 25 de agosto de 2017 12:32
  • Amorim_Vinicius,

    Respondendo as suas perguntas.

    1. É recomendado que os arquivos da tempdb fiquem em discos/volumes separados do restante das databases de usuários.

    2. Não é recomendado, mas é possível sim definir um limite de crescimento alterando as opções de autogrow e maxsize dos arquivos, mas nesse caso você precisará ficar controlando o crescimento manual dos arquivos da tempdb. Para alterar estas opções você pode ir nas propriedades da database tempdb, ir na opção files e alterar os parâmetros de autogrow e maxsize.

    Para mais informações e melhores práticas sobre a tempdb você pode consultar o link abaixo:

    https://technet.microsoft.com/pt-br/library/ms175527(v=sql.105).aspx

    Espero ter ajudado.


    Felipe Lauffer
    MCT | MCSE: Data Management & Analytics | MCSE: Data Platform | MCSA: SQL Server 2012/2014 | MCP

    [ Blog ] - [ Profile ] - [ Wiki ] - [ Gallery ] - [ LinkedIn ]


    sexta-feira, 25 de agosto de 2017 13:06
  • Deleted
    sexta-feira, 25 de agosto de 2017 22:24
  • Não seria recomendado definir um tamanho limite devido a desempenho?
    terça-feira, 29 de agosto de 2017 12:07
  • SQL 2008 SP2
    terça-feira, 29 de agosto de 2017 12:07
  • O uso de discos mais performático para alocar os datafiles e logfile do banco tempdb é de longe a alternativa mais recomendada. O efeito na performance é quase que imediato. O indicado é diferenciar os discos para os arquivos e se tiver receita implementar tecnologia SSD. Claro que uma configuração de crescimento adequada é fundamental, mas só é possível aplicar posterior a uma análise mais cautelosa do ambiente. Sugiro que defina um monitoramento da base para ter ideia da média de carga que é sobreposta no tempdb pra depois defini limites para o auto crescimento. A leitura sugerida pelo amigo José dar uma noção fantástica da sua dúvida. Lembrando que deixar a configuração de auto crescimento de forma manual requer mais atenção e demanda em suas atividades diárias. Um alerta para ir lhe indicando quando será o próximo crescimento da base seria bom. Sinceramente não recomendaria para tempdb. Abraços. Espero ter ajudado!  


    terça-feira, 29 de agosto de 2017 19:45
  • Amorim,

    Um detalhe, você já identificou o que esta fazendo o TempDB crescer tanto e ficar ocupando este espaço por longo tempo?


    Pedro Antonio Galvao Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 30 de agosto de 2017 12:03
    Moderador
  • Junior Galvão, tem algum comando para eu verificar o que pode estar ocupado o tempbd?
    terça-feira, 12 de setembro de 2017 18:40
  • Junior Galvão, porque devo ficar controlando o crescimento dos arquivos?

    Pelo que eu entendi, se eu definir um tamanho X, o tempdb irá crescer somente até esse tamanho X e eliminaria os dados iniciais para poder continuar incrementando dados.

    terça-feira, 12 de setembro de 2017 19:23
  • Amorin,

    O código abaixo vai ajudar a identificar informações sobre o que esta sendo alocado no TempDB:

    SELECT files.physical_name, 
                 files.name,
                 stats.num_of_writes, (1.0 * stats.io_stall_write_ms / stats.num_of_writes) AS avg_write_stall_ms,
                 stats.num_of_reads, (1.0 * stats.io_stall_read_ms / stats.num_of_reads) AS avg_read_stall_ms
     FROM sys.dm_io_virtual_file_stats(2, NULL) as stats INNER JOIN master.sys.master_files AS files
    																						   ON stats.database_id = files.database_id
    																							AND stats.file_id = files.file_id
      WHERE files.type_desc = 'ROWS'


    Pedro Antonio Galvao Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 14 de setembro de 2017 18:43
    Moderador
  • Amorim,

    Sim, teoricamente é esse o procedimento, mas em alguns casos o que esta sendo processado temporariamente no TempDB acaba não sendo encerrado e isso acaba fazendo com que o arquivo tente crescer, forçando e sobrecarregando todo processamento, em alguns casos o TempDB pode parar de funcionar.


    Pedro Antonio Galvao Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 14 de setembro de 2017 18:44
    Moderador