Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

отмяна на промени в съхранена процедура

Отговорът еДА , вие можете върнете го, но не е лесно. Всички бази данни регистрират всеки направена промяна в него. Трябва да:

  1. Изключете сървъра (или поне го поставете в режим само за четене)
  2. Направете пълно резервно копие на сървъра
  3. Вземете копие на всички db регистрационни файлове, връщайки се към преди, когато се е случил инцидентът
  4. Възстановете резервното копие на друг сървър
  5. Използвайки инструменти за администриране на db, превъртете се назад през регистрационните файлове, докато „отмените“ инцидента
  6. Разгледайте възстановения код в съхранената процедура и го кодирайте обратно във вашата текуща версия

И най-важното:ВЗЕМЕТЕ ВАШИЯ СЪХРАНЕН ПРОЦЕДУРЕН КОД ПОД КОНТРОЛ НА ИЗТОЧНИКА

Много хора не разбират тази концепция:можете само да правите промени към база данни; не можете да върнете съхранената версия на proc, както можете с кода на приложението, като замените файловете с предишните им версии. За да се „върнете назад“, трябва да направите още промени, които премахват/дефинират съхранената ви процедура.

Бележка към придирчиите:Под „връщане назад“ нямам предвид „връщане на транзакция“. Искам да кажа, че сте направили промените си и сте решили, след като сървърът се архивира, че промяната не е добра.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL COALESCE GROUPING SETS в една колона без NULL дубликати

  2. Показва основен/запис по подразбиране в базата данни

  3. Има ли разлика между IS NULL и =NULL

  4. Използване на COALESCE в SQL изглед

  5. Как да използвам разделяне по и подреждане по във функцията over?