

# 缩减临时数据库
<a name="SQLServer.TempDB.Shrinking"></a>

可通过两种方法缩减 Amazon RDS 数据库实例上的 `tempdb` 数据库。可以使用 `rds_shrink_tempdbfile` 过程，也可以设置 `SIZE` 属性。

## 使用 rds\$1shrink\$1tempdbfile 过程
<a name="SQLServer.TempDB.Shrinking.Proc"></a>

您可以使用 Amazon RDS 过程 `msdb.dbo.rds_shrink_tempdbfile` 缩减 `tempdb` 数据库。您只能在具有对 `rds_shrink_tempdbfile` 数据库的 `CONTROL` 访问权限时调用 `tempdb`。在调用 `rds_shrink_tempdbfile` 时，数据库实例不会停机。

`rds_shrink_tempdbfile` 过程具有以下参数。


****  

| 参数名称 | 数据类型 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | 
| `@temp_filename` | SYSNAME | — | 必需 | 要缩减的文件的逻辑名称。 | 
| `@target_size` | int | null | 可选 | 文件的新大小 (以 MB 为单位)。 | 

以下示例获取 `tempdb` 数据库的文件的名称。

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

以下示例缩减名为 `tempdb` 的 `test_file` 数据库文件，并请求新的 `10` MB 大小：

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

## 设置 SIZE 属性
<a name="SQLServer.TempDB.Shrinking.Size"></a>

您也可以通过设置 `tempdb` 属性，然后重新启动数据库实例来缩减 `SIZE` 数据库。有关重新启动数据库实例的更多信息，请参阅[重启数据库实例](USER_RebootInstance.md)。

以下示例说明了将 `SIZE` 属性设置为 1024 MB。

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