Імпортування збережених SQL скриптів до бази даних
Як імпортувати збережені SQL-скрипти в базу даних SQL Server?
Є кілька способів зберегти відновлені дані, отримані в результаті роботи програми SQL Server Repair Toolbox :
- Можна зберегти дані у вигляді скриптів SQL на жорсткий диск, і далі виконати ці скрипти. В результаті будуть створені таблиці та об'єкти (індекси, процедури, функції та інше). Потім імпортувати дані до цих таблиць.
- Також можна запустити дані SQL скрипти, використовуючи SQL Server Repair Toolbox, налаштувавши connection string до заданого сховища (SQL Server та іншу базу даних).
SQL скрипти можуть відрізнятися, незважаючи на те, що вони ґрунтуються на тих самих файлах бази даних. Це пов'язано з особливістю синтаксису в запитах, які виконуються при з'єднанні з серверами за допомогою ADO, а також з виконанням SQL запитів у середовищі Query Analyzer'а, що постачається разом із Microsoft SQL Server (використання «:», команди Go і т.д. .).
1. Конвертація відновлених даних у SQL скрипти та збереження їх на жорсткому диску
-
1.1 Перегляд збережених даних
Якщо ви вибрали режим збереження даних на жорсткий диск, програма автоматично створить підкаталог, який створюється в каталозі, вказаному користувачем, і всі скрипти будуть поміщені туди. Імена всіх скриптів, що створюються, відповідають правилам і складаються зі слів і цифр, де слово означає його роль, а цифра вказує на номер. Типів скриптів існує безліч, наприклад:
Порядковий номер скрипта використовується для розділення даних та збереження їх у безліч невеликих документів замість одного великого файлу. Слід зазначити, кожен файл типу “Data”може включати дані лише однієї таблиці.
Увага : у деяких файлах можуть бути відсутні номери, це означає, що в деяких таблицях відсутні дані або їх дуже мало.
1.2 Послідовність виконання скриптів
Послідовність виконання скриптів залежить від існуючих обмежень для даних та структур таблиці. Будь ласка, зверніть особливу увагу на ці фактори:
- Вкажіть відповідний первинний ключ, якщо хочете створити вторинний. Це дозволить зберегти ці операції у різні файли, які потрібно запустити у цій послідовності.
- Перед створенням індексів та вторинних ключів програма заповнює таблиці. Це необхідно, оскільки перевірка цілісності виконується при заповненні таблиці, в якій визначено вторинний ключ. Коли таблиці з вторинними ключами заповнюються до таблиць з первинними ключами, виникає помилка. Крім цього, даний спосіб має іншу особливість. Якщо відновлена інформація конфліктує з первинним ключем, унікальним індексом і т.д., то в цьому випадку таблиця в будь-якому випадку буде заповнена, але тоді обмеження не будуть створені (індекс, первинний ключ і т.д.). Якщо користувачам потрібна інша поведінка, вони можуть вибрати послідовність запуску скриптів.
- Створення таких об'єктів, як Procedures, Functions, Views, Triggers в базі даних має особливості, тому що ці об'єкти можуть мати заплутані і складні залежності. Procedure може посилатися інші об'єкти Procedure, View може посилатися на Function, а Trigger може посилатися всі об'єкти. Тому програма не може допомогти розплутати ці складні взаємозалежності. Користувачам потрібно вручну знайти всі залежності та запустити SQL у потрібнійпослідовності. Інша можливість полягає у запуску всіх скриптів цієї групи кілька разів, доки перестануть видаватися повідомлення про помилки.
Файл install.bat створюється для забезпечення автоматичного виконання всіх скриптів. Цей файл виконує всі скрипти, які раніше були збережені за допомогою цієї програми. Послідовність виконання скриптів буде такою самою, як і при виконанні скриптів на базі даних. Цей пакетний файл вимагає наявності встановленої утиліти isqlw, яка входить до складу клієнтської частини MS SQL Server. Будь ласка, вкажіть такі параметри, як ім'я сервера, ім'я бази даних, ім'я користувача, пароль у командному рядку. Наприклад: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword.
Примітка:
- Параметри потрібно вказувати через пропуск. Якщо будь-який із параметрів сам містить пробіл, вам потрібно вказати його в подвійних лапках.
- Не можна міняти місцями параметри.