

# Recolher o banco de dados tempdb
<a name="SQLServer.TempDB.Shrinking"></a>

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\$1shrink\$1tempdbfile
<a name="SQLServer.TempDB.Shrinking.Proc"></a>

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`.

```
1. use tempdb;
2. GO
3. 
4. select name, * from sys.sysfiles;
5. GO
```

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

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

## Definir a propriedade SIZE
<a name="SQLServer.TempDB.Shrinking.Size"></a>

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](USER_RebootInstance.md).

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

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