SQL Server 2008 R2 представил новую функцию в мастере генерации сценариев в SQL Server Management Studio, которая позволяет создавать сценарии данных, хранящихся в таблицах. Ранее это было невозможно в более ранних версиях SQL Server.
Если вам нужно переместить небольшое количество данных с одного сервера на другой, рекомендуется использовать опцию схемы и данных в мастере генерации сценариев. Однако, поскольку файлы сценариев могут быть большого размера, рекомендуется запускать сгенерированный файл сценария на целевом сервере с помощью утилиты SQLCMD.
Для больших объемов данных рекомендуется использовать метод резервного копирования и восстановления базы данных. В этом методе вы можете создать резервную копию базы данных на исходном сервере и восстановить ее на целевом сервере.
Давайте рассмотрим пример, в котором мы создаем сценарий всей базы данных AdventureWorks, а затем выполняем сгенерированный сценарий, включающий данные на уровне таблицы, с использованием утилиты SQLCMD.
- Подключитесь к экземпляру SQL Server с помощью SQL Server Management Studio. Щелкните правой кнопкой мыши на базе данных AdventureWorks и выберите опцию “Задачи”, а затем “Создать сценарии…”.
- На экране мастера создания и публикации сценариев нажмите “Далее”, чтобы продолжить.
- На экране выбора объектов выберите опцию “Создать сценарий всей базы данных и всех объектов базы данных” и нажмите “Далее”.
- На экране настройки параметров сценариев выберите тип вывода “Сохранить сценарии в определенном месте” и укажите путь, где вы хотите сохранить файл сценария базы данных. Нажмите кнопку “Дополнительно”, чтобы указать опцию сценария схемы и данных.
- На экране дополнительных параметров сценариев выберите опцию “Схема и данные” для типов данных, которые нужно создать сценарий, и нажмите “ОК”.
- На экране сводки проверьте выбранные параметры и нажмите “Далее”, чтобы подтвердить и создать сценарии.
- На экране сохранения или публикации сценариев вы увидите сообщение об успешном или неудачном выполнении для каждого объекта, для которого был запрошен сценарий. Нажмите “Завершить”, чтобы закрыть мастер.
- Если сгенерированные файлы сценариев слишком большие для открытия в SQL Server Management Studio, вы можете использовать утилиту SQLCMD для выполнения сценариев.
- В утилите SQLCMD введите следующую команду для загрузки схемы и данных в базу данных назначения:
SQLCMD -S LOCALHOST -d AdventureWorks -i C:\script.sql -E - Вы увидите сообщение о подтверждении, когда схема и данные успешно загружены в базу данных назначения.
Следуя этим шагам, вы можете легко создавать сценарии и выполнять данные в SQL Server, что позволяет эффективно перемещать данные между серверами или создавать резервные копии для целей миграции.