Saya memiliki database SQL 2.8TB (kebanyakan file data, sekitar 400GB file log) yang saat ini membutuhkan sekitar 9 jam untuk dipulihkan. Basis data ini digunakan untuk tujuan pengujian dan harus dihapus dan dipulihkan dari cadangan di antara setiap proses, untuk memastikan kami selalu memulai dari titik yang sama.
Pertanyaan saya adalah, server saat ini memiliki 12 core dan 92GB RAM, dengan subsistem disk RAID 5 yang menjadi basis datanya. Area apa yang biasanya menyebabkan kemacetan untuk proses pengembalian SQL? Apakah itu disk, memori, atau CPU?
sql-server
performance
Sean Long
sumber
sumber
Jawaban:
Hambatan utama Anda pada pemulihan adalah disk IO. Untuk memperbaikinya pada dasarnya Anda membutuhkan disk yang lebih cepat atau konfigurasi yang berbeda. Saya tidak cukup tahu tentang RAID atau SAN untuk menyarankan apa pun di sana. Anda bahkan mungkin mempertimbangkan SSD. Mereka sangat cepat. Saya tidak ingin menggunakannya pada sesuatu yang tidak dapat dibuat ulang secara teratur (tempdb selalu merupakan kandidat yang bagus untuk ini) tetapi karena Anda sering mengembalikannya mungkin ok. Di sisi lain Anda mungkin ingin memastikan server pengujian Anda sedekat mungkin dengan server produksi Anda jika Anda melakukan pengujian kinerja.
Ada beberapa hal lain yang dapat Anda lakukan untuk membantu diri sendiri. Pertama kompres cadangan Anda jika Anda belum melakukannya. Ini tentu saja mengasumsikan SQL 2008 atau lebih tinggi. Ini akan mengurangi tidak hanya ruang disk untuk menyimpan cadangan tetapi IO untuk membacanya. Ada biaya CPU yang terlibat jadi waspada. Juga jangan hapus database Anda, cukup pulihkan. Dengan cara ini file sudah ada di tempatnya dan tidak ada overhead untuk membuatnya. Anda dapat mengaktifkan inisialisasi file instan (Ini adalah izin tingkat server) untuk secara dramatis mempercepat pembuatan / pertumbuhan file data Anda tetapi itu tidak akan berfungsi untuk file log Anda.
sumber
Jangan melakukan backup dan restore; menggunakan Snapshots SQL Server. Dibutuhkan banyak ruang disk untuk menyimpan file jarang dengan ukuran yang sama dengan file yang Anda snapshotted, tetapi memutar kembali ratusan kali lebih cepat.
Mereka tersedia dalam edisi SQL Server Enterprise dan SQL Server Developer.
sumber