Mengakses basis data tempdb pada instans DB Microsoft SQL Server di Amazon RDS - Layanan Basis Data Relasional Amazon

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

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 Menghubungkan ke instans DB yang menjalankan mesin basis data Microsoft SQL Server.

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

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 basis data tempdb 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

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 Mengoptimalkan performa tempdb di dokumentasi Microsoft.

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

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

Mencegah masalah penyimpanan

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

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

Mengurangi basis data tempdb

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_shrink_tempdbfile

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 Tipe data Default Diperlukan 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.

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

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

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

Mengatur properti SIZE

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.

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

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

Konfigurasi TempDB untuk penerapan Multi-AZ

Jika instans RDS untuk SQL Server DB Anda berada dalam Penyebaran Multi-AZ menggunakan Pencerminan Database (DBM) atau Grup Ketersediaan Selalu Aktif (AG), 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, dalam waktu UTC:

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 SQL Server Agent, Anda dapat mengaktifkan replikasi untuk pekerjaan Agen SQL 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 SQL Server Agent, lihat. Mengaktifkan replikasi pekerjaan SQL Server Agent

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.

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