Definir configurações tempdb para a Instância Gerenciada SQL do Azure

Aplica-se a:Instância Gerenciada SQL do Azure

Este artigo ensina você a definir suas configurações para a tempdb Instância Gerenciada SQL do Azure.

A Instância Gerenciada SQL do Azure permite configurar o seguinte:

  • Número de tempdb ficheiros
  • O incremento de crescimento de tempdb arquivos
  • Tamanho máximo tempdb

tempdb As configurações persistem depois que sua instância é reiniciada, atualizada ou se houver um failover.

Descrição geral

tempdb é um dos bancos de dados padrão do sistema que vem com a Instância Gerenciada SQL do Azure. A estrutura de é a mesma de qualquer outra estrutura de banco de dados de tempdb usuários, a diferença é que, como tempdb usada para armazenamento não durável, as transações são minimamente registradas.

tempdb não pode ser descartado, desanexado, colocado offline, renomeado ou restaurado. A tentativa de qualquer uma dessas operações retorna um erro. tempdb é regenerado a cada início da instância do servidor e quaisquer objetos que possam ter sido criados durante tempdb uma sessão anterior não persistem quando o serviço é reiniciado, após uma operação de gerenciamento de atualização de instância ou um failover.

A carga de trabalho difere das cargas de trabalho em tempdb outros bancos de dados de usuários, objetos e dados são frequentemente criados e destruídos e há uma simultaneidade extremamente alta. Há apenas um tempdb para cada instância gerenciada. Mesmo que você tenha vários bancos de dados e aplicativos se conectando à instância, todos eles usam o mesmo tempdb banco de dados. Os serviços podem sofrer contenção quando tentam alocar páginas em um arquivo tempdb. Dependendo do grau de contenção, as consultas e solicitações que envolvem tempdb podem deixar de responder. É por isso que tempdb é fundamental para o desempenho do serviço.

Número de tempdb ficheiros

Aumentar o número de arquivos de dados cria uma ou mais páginas GAM e SGAM para cada arquivo de dados, o que ajuda a melhorar tempdb a simultaneidade e reduz a contenção de tempdb páginas PFC. No entanto, aumentar o número de arquivos de dados pode ter outras implicações de desempenho, portanto, teste cuidadosamente antes de tempdb implementar na produção.

Por padrão, a Instância Gerenciada SQL do Azure cria 12 tempdb arquivos de dados e 1 tempdb arquivo de log, mas é possível modificar essa configuração.

Modificar o número de tempdb arquivos tem as seguintes limitações:

  • O nome lógico do novo arquivo não diferencia maiúsculas de minúsculas, com um máximo de 16 caracteres e sem espaços.
  • O número máximo de tempdb ficheiros é 128.

Nota

Não é necessário reiniciar o servidor depois de adicionar novos ficheiros; no entanto, os arquivos mais vazios serão preenchidos com maior prioridade e o algoritmo round-robin para alocação de páginas é perdido até que o sistema seja rebalanceado.

Você pode usar o SQL Server Management Studio (SSMS) e o Transact-SQL (T-SQL) para alterar o número de arquivos da tempdb Instância Gerenciada SQL do Azure.

Você pode usar o SQL Server Management Studio (SSMS) para modificar o número de tempdb arquivos. Para o fazer, siga estes passos:

  1. Conecte-se à sua instância gerenciada no SSMS.

  2. Expanda Bancos de Dados no Pesquisador de Objetos e, em seguida, expanda Bancos de dados do sistema.

  3. Clique com o botão direito do mouse e tempdbescolha Propriedades.

  4. Selecione Arquivos em Selecione uma página para exibir o número existente de tempdb arquivos.

  5. Para adicionar um arquivo, escolha Adicionar e forneça informações sobre o novo arquivo de dados na linha.

    Screenshot of Database Properties in SSMS, with new database file name highlighted.

  6. Para remover um tempdb ficheiro, escolha o ficheiro que pretende remover da lista de ficheiros de base de dados e, em seguida, selecione Remover.

Incremento do crescimento

tempdb O crescimento de arquivos pode ter um impacto no desempenho das consultas que usam tempdbo . Como tal, incrementos de crescimento de arquivos de dados muito pequenos podem causar fragmentação de extensão, tempdb enquanto incrementos muito grandes podem resultar em crescimento lento ou falha de crescimento se não houver espaço suficiente para que o crescimento aconteça. O valor ideal para tempdb incrementos de crescimento de arquivos depende da sua carga de trabalho.

Os incrementos de crescimento padrão para a Instância Gerenciada SQL são 254 MB para arquivos de dados e 64 MB para arquivos de log, mas você pode configurar incrementos de crescimento para tempdb tempdb se adaptar à sua carga de trabalho e ajustar seu desempenho.

Considere o seguinte:

  • O parâmetro de crescimento de arquivo suporta as seguintes unidades para int_growth_increment: KB, MB, GB, TB e %.
  • Os incrementos de crescimento devem ser os mesmos para todos os tempdb arquivos de dados, caso contrário, o algoritmo round robin que aloca páginas pode ser afetado.

Você pode usar o SQL Server Management Studio (SSMS) e o Transact-SQL (T-SQL) para alterar o incremento de crescimento de seus tempdb arquivos.

Você pode usar o SQL Server Management Studio (SSMS) para modificar o incremento de crescimento de tempdb arquivos. Para o fazer, siga estes passos:

  1. Conecte-se à sua instância gerenciada no SSMS.

  2. Expanda Bancos de Dados no Pesquisador de Objetos e, em seguida, expanda Bancos de dados do sistema.

  3. Clique com o botão direito do mouse e tempdbescolha Propriedades.

  4. Selecione Arquivos em Selecione uma página para exibir o número existente de tempdb arquivos.

  5. Escolha as reticências (...) ao lado de um arquivo de dados para abrir a janela de diálogo Alterar propriedades de crescimento automático.

  6. Marque a caixa ao lado de Habilitar crescimento automático e modifique as configurações de crescimento automático especificando os valores de crescimento do arquivo, em porcentagem ou megabytes.

    Screenshot of Change Autogrowth for tempdev in SSMS, with new database file name highlighted.

  7. Selecione OK para guardar as definições.

Tamanho máximo

tempdbtamanho é o tamanho da soma de todos os tempdb arquivos. tempdb tamanho do arquivo é um espaço alocado (zerado) para esse tempdb arquivo. O tamanho inicial do arquivo para todos os arquivos é de 16 MB, que é o tamanho de todos os tempdb tempdb arquivos quando a instância é reiniciada ou faz failover. Quando o espaço usado de um tempdb arquivo de dados atinge o tamanho do arquivo, todos os tempdb arquivos de dados crescem automaticamente por seus incrementos de crescimento configurados.

tempdbespaço usado é a soma do espaço usado de todos os tempdb arquivos. tempdb O espaço de arquivo usado é igual à parte do tamanho do tempdb arquivo que está ocupada com informações diferentes de zero. A soma do espaço usado etempdb do tempdbespaço livre é igual ao tempdb tamanho.

Você pode usar o T-SQL para determinar o espaço atual usado e livre para seus tempdb arquivos.

Para obter espaço utilizado, espaço livre e tamanho dos seus tempdb ficheiros de dados, execute este comando:

USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB, 
	SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB, 
	SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB 
FROM sys.dm_db_file_space_usage

A captura de tela a seguir mostra um exemplo de saída:

Screenshot of the query result in SSMS showing used and free space in the tempdb data file.

Para obter o espaço usado, o espaço livre e o tamanho dos arquivos tempdb de log, execute este comando:

USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
     (total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
     total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage

A captura de tela a seguir mostra um exemplo de saída:

Screenshot of the query result in SSMS showing used and free space in the tempdb log file.

tempdb O tamanho máximo é o limite após o qual você tempdb não pode crescer mais.

tempdb O tamanho máximo na Instância Gerenciada SQL tem as seguintes limitações:

  • Na camada de serviço de uso geral, o tamanho máximo é limitado a 24 GB/vCore (96-1920 GB) e o arquivo de log é tempdb de 120 GB.
  • Na camada de serviço Business Critical, compete com outros bancos de dados por recursos, tempdb de modo que o armazenamento reservado é compartilhado entre tempdb outros bancos de dados. O tamanho máximo do arquivo de log é de tempdb 2 TB.

tempdb Os arquivos crescem até atingirem o limite máximo permitido pela camada de serviço ou pelo tamanho máximo tempdb de arquivo configurado manualmente.

Você pode usar o SQL Server Management Studio (SSMS) e o Transact-SQL (T-SQL) para alterar o tamanho máximo dos seus tempdb arquivos.

Para determinar o tamanho máximo atual tempdb no SSMS, siga estas etapas:

  1. Conecte-se à sua instância gerenciada no SSMS.
  2. Expanda Bancos de Dados no Pesquisador de Objetos e, em seguida, expanda Bancos de dados do sistema.
  3. Clique com o botão direito do mouse e tempdbescolha Propriedades.
  4. Na página Geral, verifique o valor Tamanho em Banco de Dados para determinar o tamanho máximo do tempdb. Um valor de -1 indica tempdb max size é ilimitado.

Screenshot of tempdb database properties showing the max size for tempdb in SSMS.

Para alterar o tamanho máximo atual tempdb no SSMS, siga estas etapas:

  1. Conecte-se à sua instância gerenciada no SSMS.
  2. Expanda Bancos de Dados no Pesquisador de Objetos e, em seguida, expanda Bancos de dados do sistema.
  3. Clique com o botão direito do mouse e tempdbescolha Propriedades.
  4. Selecione Arquivos em Selecione uma página para exibir o número existente de tempdb arquivos.
  5. Escolha as reticências (...) ao lado de um arquivo de dados para abrir a janela de diálogo Alterar propriedades de crescimento automático.
  6. Modifique as tempdb configurações de tamanho máximo alterando os valores em Tamanho máximo do arquivo.
  7. Selecione OK para guardar as definições.

Screenshot of the change autogrowth dialog box in SSMS, with maximum file size highlighted.

Limites tempdb

A tabela a seguir define limites para várias tempdb definições de configuração:

Definição de configuração Valores
Nomes lógicos de tempdb arquivos Máximo de 16 caracteres
Número de tempdb ficheiros Máximo de 128 ficheiros
Número padrão de tempdb arquivos 13 (1 ficheiro de registo + 12 ficheiros de dados)
Tamanho inicial dos ficheiros de tempdb dados 16 MB
Incremento de crescimento padrão de arquivos de tempdb dados 256MB
Tamanho inicial dos arquivos de tempdb log 16 MB
Incremento de crescimento padrão de arquivos de tempdb log 64 MB
Tamanho máximo tempdbinicial -1 (ilimitado)
Tamanho máximo de tempdb Até ao tamanho do armazenamento

Próximos passos