

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengakses basis data tempdb pada instans DB Microsoft SQL Server di Amazon RDS
<a name="SQLServer.TempDB"></a>

Anda dapat mengakses basis data `tempdb` pada instans DB Microsoft SQL Server di Amazon RDS. Anda dapat menjalankan kode di `tempdb` dengan menggunakan Transact-SQL melalui Microsoft SQL Server Management Studio (SSMS), atau aplikasi klien SQL standar lainnya. Untuk informasi selengkapnya tentang terhubung ke instans DB Anda, lihat [Menyambung ke instans Microsoft SQL Server DB](USER_ConnectToMicrosoftSQLServerInstance.md). 

Pengguna master untuk instans DB Anda diberi akses `CONTROL` ke `tempdb` sehingga pengguna ini dapat mengubah opsi basis data `tempdb`. Pengguna utama bukan pemilik basis data untuk basis data `tempdb`. Jika perlu, pengguna induk dapat memberikan akses `CONTROL` kepada pengguna lain sehingga mereka juga dapat mengubah opsi basis data `tempdb`. 

**catatan**  
Anda tidak dapat menjalankan Perintah Konsol basis data (DBCC) pada basis data `tempdb`. 

# Memodifikasi opsi basis data tempdb
<a name="SQLServer.TempDB.Modifying"></a>

Anda dapat memodifikasi opsi basis data pada basis data `tempdb` di instans DB Amazon RDS Anda. Untuk informasi selengkapnya tentang opsi mana yang dapat dimodifikasi, lihat [tempdb database](https://msdn.microsoft.com/en-us/library/ms190768%28v=sql.120%29.aspx) di dokumentasi Microsoft.

Opsi basis data seperti opsi ukuran file maksimum persisten setelah Anda memulai ulang instans DB Anda. Anda dapat memodifikasi opsi basis data untuk mengoptimalkan performa ketika mengimpor data, dan untuk mencegah kehabisan penyimpanan.

## Mengoptimalkan performa ketika mengimpor data
<a name="SQLServer.TempDB.Modifying.Import"></a>

Untuk mengoptimalkan performa saat mengimpor sejumlah besar data ke dalam instans DB Anda, atur properti `SIZE` dan `FILEGROWTH` dari basis data tempdb ke jumlah besar. Untuk informasi selengkapnya tentang cara mengoptimalkan `tempdb`, lihat [Optimizing tempdb performance](https://technet.microsoft.com/en-us/library/ms175527%28v=sql.120%29.aspx) di dokumentasi Microsoft.

Contoh berikut menunjukkan pengaturan ukuran menjadi 100 GB dan pertumbuhan file menjadi 10 persen. 

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

## Mencegah masalah penyimpanan
<a name="SQLServer.TempDB.Modifying.Full"></a>

Untuk mencegah basis data `tempdb` menggunakan semua ruang disk yang tersedia, atur properti `MAXSIZE`. Contoh berikut ini menunjukkan cara mengatur properti ke 2048 MB. 

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

# Mengurangi basis data tempdb
<a name="SQLServer.TempDB.Shrinking"></a>

Ada dua cara untuk mengurangi basis data `tempdb` di instans DB Amazon RDS Anda. Anda dapat menggunakan prosedur `rds_shrink_tempdbfile`, atau Anda dapat mengatur properti `SIZE`, 

## Menggunakan prosedur rds\$1shrink\$1tempdbfile
<a name="SQLServer.TempDB.Shrinking.Proc"></a>

Anda dapat menggunakan prosedur Amazon RDS `msdb.dbo.rds_shrink_tempdbfile` untuk mengurangi basis data `tempdb`. Anda hanya dapat memanggil `rds_shrink_tempdbfile` jika Anda memiliki akses `CONTROL` ke `tempdb`. Ketika Anda memanggil `rds_shrink_tempdbfile`, tidak ada waktu henti untuk instans DB Anda. 

Prosedur `rds_shrink_tempdbfile` memiliki parameter berikut.


****  

| Nama parameter | Jenis data | Default | Wajib | Deskripsi | 
| --- | --- | --- | --- | --- | 
| `@temp_filename` | SYSNAME | — | diperlukan | Nama logis dari file yang akan dikurangi. | 
| `@target_size` | int | null | opsional | Ukuran baru untuk file, dalam megabyte. | 

Contoh berikut ini akan mengambil nama file untuk basis data `tempdb`.

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

Contoh berikut mengurangi file basis data `tempdb` bernama `test_file`, dan meminta ukuran baru sebesar `10` megabyte: 

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

## Mengatur properti SIZE
<a name="SQLServer.TempDB.Shrinking.Size"></a>

Anda juga dapat mengurangi basis data `tempdb` dengan mengatur properti `SIZE`, lalu memulai ulang instans DB Anda. Untuk informasi selengkapnya tentang cara memulai ulang instans DB, lihat [Mem-boot ulang instans DB DB](USER_RebootInstance.md).

Contoh berikut ini menunjukkan cara mengatur properti `SIZE` ke 1024 MB. 

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

# Konfigurasi TempDB untuk penerapan Multi-AZ
<a name="SQLServer.TempDB.MAZ"></a>

Jika instans DB SQL Server Anda RDS berada dalam Penyebaran Multi-AZ menggunakan Database Mirroring (DBM) atau Always On Availability Groups (AGs), ingatlah pertimbangan berikut untuk menggunakan database. `tempdb`

Anda tidak dapat mereplikasi `tempdb` data dari instans DB utama Anda ke instans DB sekunder Anda. Ketika Anda gagal ke instance DB sekunder, `tempdb` pada instance DB sekunder itu akan kosong.

Anda dapat menyinkronkan konfigurasi opsi `tempdb` database, termasuk ukuran file dan pengaturan pertumbuhan otomatis, dari instans DB utama Anda ke instans DB sekunder Anda. Sinkronisasi `tempDB` konfigurasi didukung pada semua RDS untuk versi SQL Server. Anda dapat mengaktifkan sinkronisasi otomatis `tempdb` konfigurasi dengan menggunakan prosedur tersimpan berikut:

```
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
```

**penting**  
Sebelum menggunakan prosedur `rds_set_system_database_sync_objects` tersimpan, pastikan Anda telah mengatur `tempdb` konfigurasi pilihan Anda pada instans DB utama Anda, bukan pada instans DB sekunder Anda. Jika Anda membuat perubahan konfigurasi pada instans DB sekunder Anda, `tempdb` konfigurasi pilihan Anda dapat dihapus ketika Anda mengaktifkan sinkronisasi otomatis.

Anda dapat menggunakan fungsi berikut untuk mengonfirmasi apakah sinkronisasi otomatis `tempdb` konfigurasi diaktifkan:

```
SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();
```

Ketika sinkronisasi otomatis `tempdb` konfigurasi dihidupkan, akan ada nilai pengembalian untuk `object_class` bidang tersebut. Ketika dimatikan, tidak ada nilai yang dikembalikan.

Anda dapat menggunakan fungsi berikut untuk menemukan objek terakhir kali disinkronkan, UTC tepat waktu:

```
SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();
```

Misalnya, jika Anda memodifikasi `tempdb` konfigurasi pada 01:00 dan kemudian menjalankan `rds_fn_server_object_last_sync_time` fungsi, nilai yang dikembalikan untuk `last_sync_time` harus setelah 01:00, menunjukkan bahwa sinkronisasi otomatis terjadi.

Jika Anda juga menggunakan replikasi pekerjaan Agen SQL Server, Anda dapat mengaktifkan replikasi untuk pekerjaan SQL Agen dan `tempdb` konfigurasi dengan menyediakannya dalam parameter: `@object_type`

```
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';
```

Untuk informasi selengkapnya tentang replikasi pekerjaan Agen SQL Server, lihat[Mengaktifkan replikasi pekerjaan SQL Server Agent](Appendix.SQLServer.CommonDBATasks.Agent.md#SQLServerAgent.Replicate).

Sebagai alternatif untuk menggunakan prosedur `rds_set_system_database_sync_objects` tersimpan untuk memastikan bahwa perubahan `tempdb` konfigurasi disinkronkan secara otomatis, Anda dapat menggunakan salah satu metode manual berikut:

**catatan**  
Kami merekomendasikan untuk mengaktifkan sinkronisasi otomatis `tempdb` konfigurasi dengan menggunakan prosedur yang `rds_set_system_database_sync_objects` disimpan. Menggunakan sinkronisasi otomatis mencegah kebutuhan untuk melakukan tugas-tugas manual ini setiap kali Anda mengubah `tempdb` konfigurasi Anda.
+ Pertama, ubah instans DB Anda dan matikan Multi-AZ, kemudian modifikasi tempdb, dan terakhir aktifkan kembali Multi-AZ. Metode ini tidak melibatkan waktu henti apa pun.

  Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 
+ Perubahan pertama `tempdb` dalam instans primer asli, kemudian gagal secara manual, dan terakhir memodifikasi `tempdb` di instans utama baru. Metode ini melibatkan waktu henti. 

  Untuk informasi selengkapnya, lihat [Mem-boot ulang instans DB DB](USER_RebootInstance.md).