Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Mengubah Model Pemulihan Database SQL Server menggunakan T-SQL

SQL Server memiliki tiga model pemulihan; sederhana, penuh, dan dicatat secara massal. Setiap database menggunakan salah satu dari pengaturan ini.

Operasi pencadangan dan pemulihan terjadi dalam konteks model pemulihan database

Anda dapat mengubah model pemulihan database dengan menggunakan ALTER DATABASE pernyataan bersama dengan SET RECOVERY pilihan.

Opsi yang tersedia saat menggunakan ALTER DATABASE untuk mengatur model pemulihan adalah:

  • SIMPLE
  • FULL
  • BULK_LOGGED

Anda membutuhkan ALTER izin pada database untuk membuat perubahan tersebut.

Contoh

Misalkan kita memiliki database bernama PetHotel .

Kami dapat memeriksa model pemulihan saat ini dengan menanyakan sys.databases tampilan katalog:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Hasil:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | SIMPLE                |
+----------+-----------------------+

PetHotel database saat ini menggunakan model pemulihan sederhana.

Mari kita ubah ke model pemulihan penuh:

USE master;  
ALTER DATABASE PetHotel 
SET RECOVERY FULL;

Selesai.

Sekarang mari kita periksa hasilnya:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Hasil:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | FULL                  |
+----------+-----------------------+

Model pemulihan berhasil diubah seperti yang ditentukan.

Pertimbangan Penting

Saat beralih dari mode pemulihan sederhana ke salah satu dari yang lain, sakelar hanya berlaku setelah pencadangan data pertama.

Oleh karena itu, segera setelah Anda beralih dari mode pemulihan sederhana ke model pemulihan log penuh atau massal, Anda harus mengambil cadangan basis data lengkap atau diferensial untuk memulai rantai log.

Jika Anda beralih ke model pemulihan sederhana, lalu pastikan untuk menonaktifkan tugas terjadwal apa pun untuk mencadangkan log transaksi (model pemulihan sederhana tidak menggunakan pencadangan log).

Juga, model pemulihan massal khusus untuk operasi massal. Jika Anda beralih dari model pemulihan penuh ke model pencatatan massal untuk tujuan ini, Anda harus beralih kembali ke mode pemulihan penuh setelah Anda melakukan operasi massal.

Setelah beralih dari model pemulihan yang dicatat secara massal kembali ke model pemulihan penuh, pastikan untuk mencadangkan log.

Lihat Model Pemulihan di situs web Microsoft untuk ikhtisar setiap model pemulihan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengembalikan beberapa nilai dalam satu kolom (T-SQL)?

  2. Tahu-Cara Mengembalikan Catatan yang Dihapus di SQL Server

  3. Cara Tercepat untuk Menjalankan Kueri yang Sama Beberapa Kali di SQL Server

  4. Bagaimana cara menyiram buffer PRINT di TSQL?

  5. DATETIME2FROMPARTS() Contoh di SQL Server (T-SQL)