Pertimbangan untuk setelan "pengembangan otomatis" dan "penciutan otomatis" di SQL Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 315512 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Setelan pengembangan otomatis dan penciutan otomatis dapat berfungsi tanpa penyetelan di banyak sistem SQL Server. Namun, ada lingkungan di mana Anda tidak perlu mengaktifkan setelan atau mungkin Anda perlu menyetel parameter pengembangan otomatis dan penciutan otomatis. Artikel ini menyediakan beberapa informasi latar belakang untuk memandu Anda saat memilih setelan untuk lingkungan Anda.

INFORMASI LEBIH LANJUT

Berikut beberapa hal yang perlu dipertimbangkan jika Anda memutuskan untuk menyetel parameter pengembangan otomatis dan penciutan otomatis.

Bagaimana cara mengkonfigurasi setelan ini?

  1. Anda dapat mengkonfigurasi setelan pengembangan otomatis dan penciutan otomatis menggunakan salah satu dari berikut ini:
    • Pernyataan MENGUBAH PANGKALAN DATA (tidak tersedia di SQL Server 7.0)
    • SQL Server Management Studio atau SQL Enterprise Manager
    • Prosedur tersimpan sp_dboption (ditolak di SQL Server 2005)
    Catatan Jika menggunakan SQL Server 2005, gunakan SQL Server Management Studio bukannya SQL Enterprise Manager. Untuk informasi lengkap tentang cara menata setelan ini di SQL Server 2005, kunjungi situs Web Jaringan Pengembang Microsoft (MSDN) berikut:
    Bagaimana caranya: Menambahkan Berkas Data atau Log ke Pangkalan Data (SQL Server Management Studio)
    http://msdn.microsoft.com/id-id/library/ms189253.aspx
    Properti Pangkalan Data (Halaman Berkas)
    http://msdn.microsoft.com/id-id/library/ms180254.aspx
    Anda juga dapat mengkonfigurasi opsi pengembangan otomatis saat membuat pangkalan data.

    Anda dapat melihat setelan saat ini melalui properti pangkalan data di SQL Enterprise Manager (SEM). Atau, Anda dapat menjalankan perintah Transact-SQL berikut ini:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. Ingat, setelan pengembangan otomatis bersifat per berkas. Oleh karena itu, Anda Anda harus menatanya sekurangnya di dua tempat untuk setiap pangkalan data (satu untuk berkas data primer dan satu untuk berkas log primer). Jika memiliki banyak berkas data dan/atau log, Anda harus menata opsi untuk setiap berkas. Tergantung lingkungan, Anda mungkin menjumpai setelan yang berbeda untuk setiap berkas pangkalan data.

Apa implikasinya pada kinerja?

  • Jika Anda menjalankan transaksi yang memerlukan lebih banyak ruang log daripada yang tersedia, dan Anda mengaktifkan opsi pengembangan otomatis untuk log transaksi pangkalan data tersebut, waktu yang diperlukan untuk menyelesaikan transaksi sudah termasuk waktu untuk mengembangkan log transaksi sesuai jumlah yang dikonfigurasi. Jika kenaikan pengembangan cukup besar atau ada beberapa faktor lain yang membuat proses berlangsung lama, permintaan transaksi yang Anda buka mungkin gagal karena galat waktu habis. Masalah yang sama dapat disebabkan oleh pengembangan otomatis bagian data di pangkalan data. Untuk mengubah konfigurasi pengembangan otomatis, baca topik "MENGUBAH PANGKALAN DATA" di Pemesanan Daring SQL Server.
  • Jika Anda menjalankan transaksi besar yang memerlukan pengembangan log, transaksi lain yang memerlukan penulisan ke log transaksi juga harus menunggu hingga proses pengembangan selesai.
  • Jika menggabungkan opsi pengembangan otomatis dan penciutan otomatis, Anda mungkin menciptakan atashulu yang tidak diperlukan. Pastikan bahwa ambang yang memicu pengoperasian pengembangan dan penciutan tidak akan menyebabkan terlalu seringnya pertambahan dan reduksi ukuran. Contohnya, Anda mungkin menjalankan transaksi yang menyebabkan log transaksi berkembang menjadi 100 MB sesuai waktu yang diperlukan. Beberapa saat setelah penciutan otomatis dimulai dan menciutkan log transaksi menjadi 100 MB. Kemudian, Anda menjalankan transaksi yang sama dan menyebabkan log transaksi berkembang lagi menjadi 100 MB. Dalam contoh tersebut, Anda menciptakan atashulu yang tidak diperlukan dan berpotensi menciptakan fragmentasi berkas log, yang secara negatif dapat mempengaruhi kinerja.
  • Fragmentasi fisik dari perubahan ukuran data atau berkas log dapat berpengaruh besar terhadap kinerja. Ini benar-benar terjadi meskipun Anda menggunakan setelan otomatis maupun sering mengembangkan dan menciutkan berkas secara manual.
  • Jika Anda mengembangkan pangkalan data dengan sedikit peningkatan, atau jika mengembangkan kemudian menciutkannya, dapat terjadi fragmentasi cakram. Fragmentasi cakram dapat menyebabkan masalah kinerja di beberapa lingkungan. Skenario sedikit peningkatan pengembangan juga dapat menurunkan kinerja sistem.
  • Di SQL Server 2005 atau di versi yang lebih baru, Anda dapat mengaktifkan inisialisasi berkas instan. Inisialisasi berkas instan mempercepat alokasi berkas hanya untuk berkas data. Inisialisasi berkas instan tidak berlaku untuk berkas log.
  • Jika memiliki banyak pengembangan berkas di berkas log, Anda mungkin memiliki terlalu banyak berkas log virtual (VLF). Ini dapat menybabkan masalah kinerja dengan pengoperasian mulai/daring pangkalan data, replikasi, pencerminan, dan perubahan penangkapan data (CDC). Selain itu, kadang ini dapat menyebabkan masalah kinerja dengan modifikasi data.

Praktik Terbaik

  • Untuk sistem produksi terkelola, Anda harus mempertimbangkan pengembangan otomatis semata-mata hanya sebagai pengembangan yang tak terduga. Jangan mengelola data dan pengembangan log setiap hari dengan pengembangan otomatis.
  • Anda dapat menggunakan program peringatan atau pengawasan untuk mengawasi ukuran berkas dan mengembangkan berkas secara proaktif. Ini membantu Anda mengjindari fragmentasi dan memungkinkan Anda mengalihkan kegiatan pemeliharaan ini ke jam tidak sibuk.
  • PenciutanOtomatis dan pengembangan otomatis harus dievaluasi dengan seksama oleh Administrator Pangkalan Data (DBA) yang telah terlatih; proses ini tidak boleh dibiarkan tidak dikelola.
  • Peningkatan pengembangan otomatis harus cukup besar untuk menghindari penalti kinerja yang telah dicantumkan di bagian sebelumnya. Nilai yang tepat untuk digunakan di setelan konfigurasi Anda dan pilihan antara persentase pengembangan dan pengembangan ukuran MB yang spesifik tergantung pada banyak faktor di lingkungan Anda. Aturan umum utama yang dapat digunakan untuk pengujian adalah dengan menata setelan pengembangan otomatis ke sekitar seperdelapan ukuran berkas.
  • Aktifkan setelan <MAXSIZE> untuk setiap berkas untuk mencegah berkas apa pun berkembang hingga ke titik di mana berkas menggunakan semua ruang cakram yang tersedia.
  • Usahakan ukuran transaksi yang sekecil mungkin untuk mencegah pengembangan berkas yang tidak terduga.

Mengapa saya harus khawatir dengan ruang cakram jika setelan ukuran telah dikontrol secara otomatis?

  • Setelan pengembangan otomatis tidak dapat mengembangkan ukuran pangkalan data melampaui batas ruang cakram yang tersedia di pengandar untuk berkas yang ditetapkan. Oleh karena itu, jika mengandalkan fungsionalitas pengembangan otomatis untuk mengatur ukuran pangkalan data, Anda masih harus memeriksa ruang cakram keras yang tersedia. Setelan pengembangan otomatis juga dibatasi oleh parameter MAXSIZE yang dipilih untuk setiap berkas. Untuk mengurangi kemungkinan ruang habis, Anda dapat mengawasi penghitung Pengawas Kinerja SQL Server: Objek Pangkalan Data: Ukuran Berkas Data (KB) dan tetapkan peringatan jika pangkalan data mencapai ukuran tertentu.
  • Pengembangan berkas data atau log yang tidak terduga dapat menghabiskan ruang untuk aplikasi lain yang seharusnya tersedia dan dapat menyebabkan masalah pada aplikasi lain tersebut.
  • Peningkatan pengembangan log transaksi harus cukup besar agar dapat memenuhi kebutuhan unit transaksi Anda. Meskipun pengembangan otomatis diaktifkan, Anda dapat menerima pesan bahwa log transaksi penuh, jika tidak dapat berkembang cukup cepat untuk memenuhi kebutuhan permintaan Anda.
  • SQL Server tidak selalu menguji pangkalan data yang telah mencapai ambang konfigurasi penciutan otomatis. Alih-alih, malah melihat di pangkalan data yang tersedia dan menemukan pangkalan data yang dikonfigurasi untuk menciut otomatis. Server ini memeriksa dan menciutkan pangkalan data tersebut bila perlu. Kemudian, server ini menunggu beberapa menit sebelum memeriksa pangkalan data berikutnya yang dikonfigurasi penciutan otomatis. Dengan kata lain, SQL Server tidak memeriksa semua pangkalan data dan menciutkannya sekaligus. Server akan berkerja melalui pangkalan data secara bergiliran untuk mengatur pembongkaran muatan dalam periode waktu tertentu. Oleh karena itu, tergantung pada berapa banyak pangkalan data di SQL Server tertentu yang telah dikonfigurasi untuk menciut otomatis, mungkin memerlukan waktu beberapa jam sejak pangkalan data mencapai ambang hingga benar-benar diciutkan.

REFERENSI

Untuk informasi selengkapnya tentang cara mengembangkan dan menciutkan berkas pangkalan data dan log, klik nomor artikel dibawah ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
256650 Cara menciutkan log transaksi SQL Server 7.0
272318 Menciutkan log transaksi di SQL Server 2000 dengan DBCC SHRINKFILE
317375 Log transaksi mengembang secara tidak terduga atau menjadi penuh di komputer yang menjalankan SQL Server
247751 BUG: Rencana pemeliharaan pangkalan data tidak menciutkan pangkalan data
305635 Terjadi waktu habis saat pangkalan data mengembang secara otomatis
949523 Latensi replikasi transaksional cukup tinggi di SQL Server 2005 jika nilai properti "Ukuran Awal" dan nilai properti Pengembangan otomatis kecil
Untuk informasi selengkapnya tentang inisialisasi berkas pangkalan data, kunjungi situs Web Jaringan Pengembang Microsoft (MSDN) berikut:
Inisialisasi berkas pangkalan data
Untuk informasi selengkapnya tentang mengaktifkan inisialisasi berkas instan, kunjungi situs Web Microsoft berikut:
Bagaimana dan mengapa perlu mengaktifkan inisialisasi berkas instan
Untuk informasi selengkapnya tentang arsitektur fisik log transaksi, kunjungi situs Web MSDN berikut:
Arsitektur fisik log transaksi

Pemesanan Daring SQL Server; topik: "Arsitektur Fisik Log Transaksi"; "Menciutkan Log Transaksi"

Properti

ID Artikel: 315512 - Kajian Terakhir: 17 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Kata kunci: 
kbsqlmanagementtools kbinfo KB315512

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com