Bagikan melalui


Mengonfigurasi pengaturan tempdb untuk Azure SQL Managed Instance

Berlaku untuk:Azure SQL Managed Instance

Artikel ini mengajarkan Anda untuk mengonfigurasi tempdb pengaturan Untuk Azure SQL Managed Instance.

Azure SQL Managed Instance memungkinkan Anda mengonfigurasi hal berikut:

  • Jumlah tempdb file
  • Peningkatan pertumbuhan tempdb file
  • Ukuran maksimum tempdb

tempdb pengaturan tetap ada setelah instans Anda dimulai ulang, diperbarui, atau jika ada failover.

Gambaran Umum

tempdb adalah salah satu database sistem default yang dilengkapi dengan Azure SQL Managed Instance. Strukturnya tempdb sama dengan struktur database pengguna lainnya; perbedaannya adalah bahwa sejak tempdb digunakan untuk penyimpanan yang tidak dapat ditahan, transaksi dicatat secara minimal.

tempdb tidak dapat dihilangkan, dilepas, diambil offline, diganti namanya, atau dipulihkan. Mencoba salah satu operasi ini mengembalikan kesalahan. tempdb diregenerasi pada setiap awal instans server dan objek apa pun yang mungkin telah dibuat selama tempdb sesi sebelumnya tidak bertahan saat layanan dimulai ulang, setelah operasi manajemen pembaruan instans atau failover.

Beban kerja berbeda tempdb dari beban kerja di database pengguna lain; objek dan data sering dibuat dan dihancurkan dan ada konkurensi yang sangat tinggi. Hanya ada satu tempdb untuk setiap instans terkelola. Bahkan jika Anda memiliki beberapa database dan aplikasi yang terhubung ke instans, semuanya menggunakan database yang sama tempdb . Layanan mungkin mengalami ketidakcocokan ketika mereka mencoba mengalokasikan halaman dalam banyak digunakan tempdb. Tergantung pada tingkat ketidakcocokan, kueri, dan permintaan yang melibatkan tempdb dapat menjadi tidak responsif. Inilah sebabnya mengapa tempdb sangat penting untuk performa layanan.

Jumlah tempdb file

Meningkatkan jumlah tempdb file data membuat satu atau beberapa halaman GAM dan SGAM untuk setiap file data, yang membantu meningkatkan tempdb konkurensi dan mengurangi ketidakcocokan halaman PFC. Namun, meningkatkan jumlah tempdb file data dapat memiliki implikasi performa lain, jadi uji secara menyeluruh sebelum menerapkan dalam produksi.

Secara default, Azure SQL Managed Instance membuat 12 tempdb file data, dan 1 tempdb file log, tetapi dimungkinkan untuk memodifikasi konfigurasi ini.

Mengubah jumlah tempdb file memiliki batasan berikut:

  • Nama logis file baru tidak peka huruf besar/kecil, dengan maksimum 16 karakter dan tanpa spasi.
  • Jumlah tempdb maksimum file adalah 128.

Catatan

Anda tidak perlu memulai ulang server setelah menambahkan file baru; namun, file emptier akan diisi dengan prioritas yang lebih tinggi dan algoritma round-robin untuk mengalokasikan halaman hilang sampai sistem diseimbangkan kembali.

Anda dapat menggunakan SQL Server Management Studio (SSMS) dan Transact-SQL (T-SQL) untuk mengubah jumlah file di tempdb Azure SQL Managed Instance.

Anda dapat menggunakan SQL Server Management Studio (SSMS) untuk mengubah jumlah tempdb file. Untuk melakukannya, ikuti langkah berikut:

  1. Sambungkan ke instans terkelola Anda di SSMS.

  2. Perluas Database di Object Explorer, lalu perluas database Sistem.

  3. tempdbKlik kanan , dan pilih Properti.

  4. Pilih File di bawah Pilih halaman untuk melihat jumlah tempdb file yang ada.

  5. Untuk menambahkan file, pilih Tambahkan lalu berikan informasi tentang file data baru dalam baris.

    Screenshot of Database Properties in SSMS, with new database file name highlighted.

  6. Untuk menghapus tempdb file, pilih file yang ingin Anda hapus dari daftar file database, lalu pilih Hapus.

Kenaikan pertumbuhan

tempdb pertumbuhan file dapat memiliki dampak performa ke kueri menggunakan tempdb. Dengan demikian, tempdb kenaikan pertumbuhan file data yang terlalu kecil dapat menyebabkan fragmentasi yang luas, sementara kenaikan yang terlalu besar dapat mengakibatkan pertumbuhan lambat, atau kegagalan pertumbuhan jika tidak ada ruang yang cukup untuk pertumbuhan terjadi. Nilai optimal untuk tempdb kenaikan pertumbuhan file tergantung pada beban kerja Anda.

Kenaikan pertumbuhan default untuk SQL Managed Instance adalah 254 MB untuk tempdb file data, dan 64 MB untuk tempdb file log, tetapi Anda dapat mengonfigurasi kenaikan pertumbuhan untuk beradaptasi dengan beban kerja Anda dan menyetel performa Anda.

Pertimbangkan hal berikut:

  • Parameter pertumbuhan file mendukung unit berikut untuk int_growth_increment: KB, MB, GB, TB, dan %.
  • Kenaikan pertumbuhan harus sama untuk semua tempdb file data sebagaimana sebaliknya, algoritma round robin yang mengalokasikan halaman dapat terpengaruh.

Anda dapat menggunakan SQL Server Management Studio (SSMS) dan Transact-SQL (T-SQL) untuk mengubah kenaikan pertumbuhan untuk file Anda tempdb .

Anda dapat menggunakan SQL Server Management Studio (SSMS) untuk memodifikasi kenaikan tempdb pertumbuhan file. Untuk melakukannya, ikuti langkah berikut:

  1. Sambungkan ke instans terkelola Anda di SSMS.

  2. Perluas Database di Object Explorer, lalu perluas database Sistem.

  3. tempdbKlik kanan , dan pilih Properti.

  4. Pilih File di bawah Pilih halaman untuk melihat jumlah tempdb file yang ada.

  5. Pilih elipsis (...) di samping file data untuk membuka jendela dialog Ubah properti Autogrowth.

  6. Centang kotak di samping Aktifkan Pertumbuhan Otomatis lalu ubah pengaturan pertumbuhan otomatis Anda dengan menentukan nilai pertumbuhan file, baik dalam persentase, atau megabyte.

    Screenshot of Change Autogrowth for tempdev in SSMS, with new database file name highlighted.

  7. Pilih OK untuk menyimpan pengaturan Anda.

Ukuran maksimum

tempdbukuran adalah ukuran jumlah semua tempdb file. tempdb ukuran file adalah ruang yang dialokasikan (nol) untuk file tersebut tempdb . Ukuran file awal untuk semua tempdb file adalah 16 MB, yang merupakan ukuran semua tempdb file saat instans dimulai ulang, atau failover. tempdb Setelah ruang yang digunakan file data mencapai ukuran file, semua tempdb file data secara otomatis bertambah berdasarkan kenaikan pertumbuhan yang dikonfigurasi.

tempdbruang yang digunakan adalah jumlah ruang yang digunakan dari semua tempdb file. tempdb ruang file yang digunakan sama dengan bagian dari ukuran file yang tempdb ditempati dengan informasi nonzero. Jumlah tempdbruang yang digunakan dan tempdbruang kosong sama dengan ukuran.tempdb

Anda dapat menggunakan T-SQL untuk menentukan ruang yang digunakan dan kosong saat ini untuk file Anda tempdb .

Untuk mendapatkan ruang yang digunakan, ruang kosong, dan ukuran file data Anda tempdb , jalankan perintah ini:

USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB, 
	SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB, 
	SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB 
FROM sys.dm_db_file_space_usage

Cuplikan layar berikut menunjukkan contoh output:

Screenshot of the query result in SSMS showing used and free space in the tempdb data file.

Untuk mendapatkan ruang yang digunakan, ruang kosong, dan ukuran file log Anda tempdb , jalankan perintah ini:

USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
     (total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
     total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage

Cuplikan layar berikut menunjukkan contoh output:

Screenshot of the query result in SSMS showing used and free space in the tempdb log file.

tempdb ukuran maks adalah batas setelah itu Anda tempdb tidak dapat tumbuh lebih jauh.

tempdb ukuran maksimum dalam SQL Managed Instance memiliki batasan berikut:

  • Dalam tingkat layanan Tujuan Umum, ukuran maksimum untuk tempdb dibatasi hingga 24 GB/vCore (96-1920 GB), dan file log adalah 120 GB.
  • Di tingkat layanan Business Critical, tempdb bersaing dengan database lain untuk sumber daya, sehingga penyimpanan yang dipesan dibagikan antara tempdb dan database lainnya. Ukuran tempdb maksimum file log adalah 2 TB.

tempdb file bertambah hingga mencapai batas maksimum yang diizinkan oleh tingkat layanan, atau dengan ukuran file maks tempdb yang dikonfigurasi secara manual.

Anda dapat menggunakan SQL Server Management Studio (SSMS) dan Transact-SQL (T-SQL) untuk mengubah ukuran maksimum file Anda tempdb .

Untuk menentukan ukuran maksimum Anda saat ini tempdb di SSMS, ikuti langkah-langkah berikut:

  1. Sambungkan ke instans terkelola Anda di SSMS.
  2. Perluas Database di Object Explorer, lalu perluas database Sistem.
  3. tempdbKlik kanan , dan pilih Properti.
  4. Pada halaman Umum, periksa nilai Ukuran di bawah Database untuk menentukan ukuran tempdb maksimum Anda. Nilai -1 menunjukkan ukuran maksimum tempdb tidak terbatas.

Screenshot of tempdb database properties showing the max size for tempdb in SSMS.

Untuk mengubah ukuran maksimum Anda saat ini tempdb di SSMS, ikuti langkah-langkah berikut:

  1. Sambungkan ke instans terkelola Anda di SSMS.
  2. Perluas Database di Object Explorer, lalu perluas database Sistem.
  3. tempdbKlik kanan , dan pilih Properti.
  4. Pilih File di bawah Pilih halaman untuk melihat jumlah tempdb file yang ada.
  5. Pilih elipsis (...) di samping file data untuk membuka jendela dialog Ubah properti Autogrowth.
  6. Ubah pengaturan ukuran maksimum Anda tempdb dengan mengubah nilai di bawah Ukuran file maksimum.
  7. Pilih OK untuk menyimpan pengaturan Anda.

Screenshot of the change autogrowth dialog box in SSMS, with maximum file size highlighted.

batas tempdb

Tabel berikut menentukan batas untuk berbagai tempdb pengaturan konfigurasi:

Pengaturan Konfigurasi Nilai
Nama tempdb logis file Maksimum 16 karakter
Jumlah tempdb file Maksimum 128 file
Jumlah tempdb file default 13 (1 file log + 12 file data)
Ukuran tempdb awal file data 16 MB
Kenaikan tempdb pertumbuhan default file data 256 MB
Ukuran tempdb awal file log 16 MB
Kenaikan tempdb pertumbuhan default file log 64 MB
Ukuran maks tempdbawal -1 (tidak terbatas)
Ukuran maksimum tempdb Hingga ukuran penyimpanan

Langkah berikutnya