Бувають випадки, коли потрібно виправити дані на Prod, які не існують на інших серверах. Це не лише від помилок, але може бути імпортом даних із файлу, який клієнт надіслав неправильно, або через проблему, викликану тим, що хтось викрав вашу систему. Або через проблему, спричинену неправильним введенням даних. Якщо ваша база даних велика або критична за часом, можливо, у вас не буде часу на відновлення останньої резервної копії та виправлення на програму dev.
Ваш перший захист (і те, що жодна база даних Enterprise не може дозволити собі без цього!) - таблиці аудиту. Ви можете використовувати їх для запобігання поганим змінам даних. Крім того, ви можете написати сценарії для повернення даних у попередній стан і протестувати їх на інших серверах задовго до того, як вам потрібно буде відновити перевірені дані. Тоді єдиний ризик полягає в тому, що ви визначили правильні записи для відновлення.
Далі всі сценарії для зміни даних про виробництво повинні включати наступні:
Вони повинні мати явні транзакції та мати блок TRY Catch.
У них повинен бути тестовий режим, який можна використовувати для відкату змін після того, як ви побачите, якими вони були б. У вас має бути вибір позиції до внесення змін та один запуск після зміни, щоб переконатися в правильності зміни. Сценарій повинен переконатися, що відображається кількість оброблених рядків. Деякі з них попередньо налаштовані у шаблоні, який гарантує, що деталі будуть готові. Шаблони змін допоможуть заощадити час і на написанні виправлення.
Якщо для зміни або оновлення існує велика кількість даних, тоді слід розглянути можливість написання сценарію для виконання пакетів з комітами для кожної партії. Ви не хочете блокувати всю систему, поки ви виправите мільйон записів. Якщо у вас є велика кількість даних для виправлення, переконайтесь, що dba або хтось, хто звик до налаштування продуктивності, переглядає сценарій перед запуском і запускається протягом неробочих годин, якщо це можливо.
Далі всі сценарії, щоб змінити що-небудь на виробництві, переглядаються і передаються у вихідний контроль. Усі вони - без винятку.
Нарешті, розробки не повинні запускати ці сценарії. Їм слід керувати dbas або групою управління конфігурацією. Якщо у вас немає жодного з них, права на керування речами повинні мати лише люди, які працюють із технічними технологіями або вище. Чим менше людей працює на продажі, тим простіше відстежити проблему. Сценарії повинні бути написані так, щоб вони були просто запущеними, не виділяючи деталей і виконуючись один за одним. Саме підсвічуючий матеріал часто заважає людям у біді, коли вони забули виділити пункт де.