Acessar o banco de dados tempdb em instâncias de banco de dados Microsoft SQL Server no Amazon RDS - Amazon Relational Database Service

Acessar o banco de dados tempdb em instâncias de banco de dados Microsoft SQL Server no Amazon RDS

Você pode acessar o banco de dados tempdb nas instâncias de bancos de dados Microsoft SQL Server no Amazon RDS. É possível executar o código em tempdb usando Transact-SQL pelo Microsoft SQL Server Management Studio (SSMS) ou de qualquer outro aplicativo cliente SQL padrão. Para obter mais informações sobre como se conectar à sua instância de banco de dados, consulte Conectar-se a uma instância de banco de dados executando o mecanismo de banco de dados Microsoft SQL Server.

O usuário mestre para a instância de banco de dados tem acesso CONTROL a tempdb para que esse usuário possa modificar as opções do banco de dados tempdb. O usuário mestre não é o proprietário do banco de dados tempdb. Se necessário, o usuário mestre poderá conceder acesso a CONTROL a outros usuários, para que eles também possam modificar as opções do banco de dados tempdb.

nota

Não é possível executar Database Console Commands (DBCC) no banco de dados tempdb.

Modificar opções do banco de dados tempdb

Você pode modificar as opções no banco de dados tempdb nas instâncias de bancos de dados do Amazon RDS. Para obter mais informações sobre quais opções podem ser modificadas, consulte Banco de dados tempdb na documentação da Microsoft.

As opções do banco de dados, como as opções de tamanho máximo do arquivo, são persistentes depois que você reinicia sua instância de banco de dados. Você pode modificar as opções do banco de dados para otimizar a performance ao importar dados e para não ficar sem espaço de armazenamento.

Otimizar a performance ao importar dados

Para otimizar a performance ao importar grandes quantidades de dados na sua instância de banco de dados, defina as propriedades SIZE e FILEGROWTH do banco de dados tempdb para grandes quantidades. Para obter mais informações sobre como otimizar tempdb, consulte Otimizando a performance do tempdb na documentação da Microsoft.

O exemplo a seguir demonstra a configuração do tamanho para 100 GB e o crescimento de arquivos para 10%.

alter database[tempdb] modify file (NAME = N'templog', SIZE=100GB, FILEGROWTH = 10%)

Prevenir problemas de armazenamento

Para evitar que o banco de dados tempdb use todo o espaço em disco disponível, defina a propriedade MAXSIZE. O exemplo a seguir demonstra a configuração da propriedade para 2048 MB.

alter database [tempdb] modify file (NAME = N'templog', MAXSIZE = 2048MB)

Recolher o banco de dados tempdb

Existem duas maneiras de reduzir o banco de dados tempdb na instância de banco de dados do Amazon RDS. Você pode usar o procedimento rds_shrink_tempdbfile ou pode definir a propriedade SIZE,

Usar o procedimento rds_shrink_tempdbfile

Você pode usar o procedimento msdb.dbo.rds_shrink_tempdbfile do Amazon RDS para reduzir o banco de dados tempdb. Só será possível chamar rds_shrink_tempdbfile se você tiver acesso CONTROL a tempdb. Quando você chama rds_shrink_tempdbfile, não há tempo de inatividade para sua instância de banco de dados.

O procedimento rds_shrink_tempdbfile tem os seguintes parâmetros.

Nome do parâmetro Tipo de dados Padrão Obrigatório Descrição

@temp_filename

SYSNAME

obrigatório

O nome lógico do arquivo para encolher.

@target_size

int

nulo

opcional

O novo tamanho para o arquivo, em megabytes.

O exemplo a seguir obtém os nomes dos arquivos para o banco de dados tempdb.

use tempdb; GO select name, * from sys.sysfiles; GO

O exemplo a seguir reduz um arquivo do banco de dados tempdb chamado test_file e solicita um novo tamanho de 10 megabytes:

exec msdb.dbo.rds_shrink_tempdbfile @temp_filename = N'test_file', @target_size = 10;

Definir a propriedade SIZE

Você também pode reduzir o banco de dados tempdb definindo a propriedade SIZE e reiniciando a instância de banco de dados. Para obter mais informações sobre como reiniciar sua instância de banco de dados, consulte Reinicializar uma instância de banco de dados .

O exemplo a seguir demonstra a configuração da propriedade SIZE para 1024 MB.

alter database [tempdb] modify file (NAME = N'templog', SIZE = 1024MB)

Considerações para implantações Multi-AZ

Se a sua instância de banco de dados do Amazon RDS estiver em uma implantação Multi-AZ para o Microsoft SQL Server com Database Mirroring (DBM) ou grupos de disponibilidade (AGs) Always On, haverá alguns itens a serem considerados.

O banco de dados tempdb não pode ser replicado. Nenhum dado que você armazena na sua instância primária é replicado para sua instância secundária.

Se modificar qualquer opção do banco de dados tempdb, você poderá capturar essas alterações na instância secundária usando um dos seguintes métodos:

  • Primeiro modifique sua instância de banco de dados e desative o Multi-AZ e depois modifique tempdb e finalmente volte a ativar o Multi-AZ. Esse método não envolve qualquer tempo de inatividade.

    Para obter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.

  • Modifique tempdb na instância primária original, faça failover manualmente e, por fim, modifique tempdb na nova instância primária. Esse método envolve tempo de inatividade.

    Para mais informações, consulte Reinicializar uma instância de banco de dados .