Bagaimana untuk mengecilkan database commenting out code di SQL Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 307487 - Melihat produk di mana artikel ini berlaku.
Pemberitahuan
Jika Anda adalah pelanggan bisnis kecil, Anda dapat menemukan pemecahan masalah tambahan dan sumber pada pembelajaran Dukungan untuk usaha kecilsitus.
Perbesar semua | Perkecil semua

Pada Halaman ini

Ringkasan

Artikel ini membahas tiga metode yang dapat Anda gunakan untuk mengecilkan database commenting out Code untuk ukuran yang lebih kecil daripada ukuran dikonfigurasi terakhir. Metode pertama memberi Anda kendali penuh dari ukuran file commenting out Code . Namun, metode pertama mengharuskan Anda untuk me-restart Microsoft SQL Server. Metode kedua menyusut database commenting out Code , dan Anda harus me-restart SQL Server. Metode ketiga dapat digunakan untuk mengecilkan file individu dalam database commenting out Code . Metode yang terakhir dua memerlukan bahwa tidak ada kegiatan dapat terjadi dalam database commenting out Code selama operasi menyusut.

Catatan Jika Anda menggunakan SQL Server 2005, metode ini juga berlaku. Namun, Anda harus menggunakan SQL Server Management Studio Enterprise Manager dan Query Analyzer untuk melakukan operasi ini. Juga perlu diketahui bahwa SQL Server Management Studio di SQL Server 2005 tidak menunjukkan ukuran yang benar commenting out Code file setelah operasi menyusut. "Saat ini mengalokasikan ruang" nilai selalu diambil dari sys.master_files DMV, dan nilai ini tidak diperbarui setelah operasi menyusut terjadi untuk database commenting out Code . Untuk menemukan ukuran yang benar commenting out Code file setelah operasi menyusut, mengeksekusi pernyataan berikut dalam SQL Server Management Studio:
use tempdb
select (size*8) as FileSizeKB from sys.database_files

Catatan SQL Server 2008 tidak terpengaruh oleh masalah bahwa ukuran salah commenting out Code file ditampilkan setelah operasi menyusut.

Informasi commenting out Code

Commenting out Code adalah ruang kerja sementara. Di antara lainnya, SQL Server menggunakan commenting out Code berikut ini:
  • Penyimpanan secara eksplisit dibuat temporary tables
  • Worktables yang menyimpan hasil antara yang dibuat selama permintaan pengolahan dan menyortir
  • Terwujud statis kursor
SQL Server catatan hanya cukup informasi dalam log transaksi commenting out Code untuk memutar kembali transaksi, tetapi tidak untuk mengulang transaksi selama pemulihan database. Fitur ini meningkatkan kinerja INSERT pernyataan dalam commenting out Code. Selain itu, Anda tidak perlu informasi untuk mengulang setiap transaksi karena commenting out Code adalah kembali setiap kali Anda me-restart SQL Server log. Oleh karena itu, ada tidak ada transaksi untuk roll ke depan atau untuk memutar kembali. Ketika SQL Server dimulai, commenting out Code kembali dengan menggunakan kopi karbon dari model database, dan commenting out Code di-reset ke ukuran dikonfigurasi terakhir.

secara asali, database commenting out Code dikonfigurasi untuk autogrow yang diperlukan. Oleh karena itu, database ini dapat tumbuh dalam waktu untuk ukuran yang lebih besar dari ukuran yang diinginkan. Restart sederhana SQL Server me-reset ukuran commenting out Code untuk ukuran dikonfigurasi terakhir. Ukuran dikonfigurasi adalah eksplisit terakhir ukuran yang ditetapkan oleh menggunakan ukuran file yang mengubah operasi seperti mengubah DATABASE yang menggunakan opsi MEMODIFIKASI FILE atau pernyataan DBCC SHRINKFILE.

Anda dapat menggunakan tiga metode berikut untuk mengecilkan commenting out Code untuk ukuran yang lebih kecil daripada ukuran dikonfigurasi.

Metode 1: Penggunaan Transact-SQL perintah

Metode 2: Gunakan perintah DBCC SHRINKDATABASE

Metode 3: Gunakan perintah DBCC SHRINKFILE

Efek eksekusi DBCC SHRINKDATABASE atau DBCCSHRINKFILE sementara ini commenting out Code digunakan

Jika commenting out Code yang digunakan, dan Anda mencoba untuk mengecilkan dengan menggunakan DBCC SHRINKDATABASE atau DBCC SHRINKFILE perintah, Anda mungkin menerima beberapa kesalahan konsistensi yang menyerupai berikut, dan operasi menyusut mungkin gagal:
  • Server: Msg 2501, tingkat 16, negara bagian 1, baris 1 Tidak dapat menemukan Daftar Tabel yang bernama '1525580473'. Periksa sysobjects.
  • Server: Msg 8909, tingkat 16, negara bagian 1, baris 0 Daftar Tabel korupsi: ID objek 1, indeks ID 0, halaman ID % S_PGID. PageId di hulu halaman = % S_PGID.
Meskipun kesalahan 2501 mungkin tidak menunjukkan setiap korupsi di commenting out Code, kesalahan ini menyebabkan menyusut operasi gagal. Di sisi lain, kesalahan 8909 bisa menunjukkan korupsi dalam database commenting out Code . Me-restart Server SQL untuk kembali commenting out Code dan Bersihkan kesalahan konsistensi. Namun, perlu diketahui bahwa mungkin ada alasan lain untuk kesalahan korupsi data secara fisik seperti kesalahan 8909, dan mereka termasuk input/output subsistem masalah.

REFERENSI

SQL Server buku secara Online; topik: "DBCC SHRINKFILE"; "DBCC SHRINKDATABASE"

Properti

ID Artikel: 307487 - Kajian Terakhir: 20 Juli 2012 - Revisi: 4.0
Berlaku bagi:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Kata kunci: 
kbsqlsetup kbhowtomaster kbmt KB307487 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 307487

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