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

batalkan perubahan pada prosedur tersimpan

Jawabannya adalah YA , Anda bisa mendapatkannya kembali, tapi itu tidak mudah. Semua basis data mencatat setiap perubahan yang dilakukan untuk itu. Anda perlu:

  1. Matikan server (atau setidaknya masukkan ke mode hanya-baca)
  2. Ambil cadangan penuh dari server
  3. Dapatkan salinan semua file log db yang kembali ke sebelumnya saat kecelakaan terjadi
  4. Pulihkan cadangan ke server lain
  5. Menggunakan alat admin db, putar kembali file log sampai Anda "membatalkan" kecelakaan
  6. Periksa kode yang dipulihkan di proc yang disimpan dan kodekan kembali ke versi Anda saat ini

Dan yang paling penting:DAPATKAN KODE PROSEDUR TERSIMPAN DI BAWAH KONTROL SUMBER

Banyak orang tidak memahami konsep ini:Anda hanya dapat membuat perubahan ke basis data; Anda tidak dapat memutar kembali versi proc yang disimpan seperti yang Anda bisa dengan kode aplikasi dengan mengganti file dengan versi sebelumnya. Untuk "memutar kembali", Anda harus membuat lebih banyak perubahan yang menjatuhkan/mendefinisikan proc tersimpan Anda.

Catatan untuk nitpickers:Yang saya maksud dengan "roll back" bukan "transaction roll back". Maksud saya, Anda telah membuat perubahan dan memutuskan setelah server dicadangkan bahwa perubahan tersebut tidak baik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghitung nilai Persentil ke-95?

  2. tumpukan SQL Server vs. indeks berkerumun

  3. PILIH UNTUK PEMBARUAN dengan SQL Server

  4. Apa itu Logis DAN Operator di SQL Server - Tutorial SQL Server / TSQL Bagian 120

  5. Apakah ada cara untuk mengakses nilai baris sebelumnya dalam pernyataan SELECT?