Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога
Database to SQL script

Сегодня потребовалось снять копию базы данных Microsoft SQL Server, в виде большого SQL-файла, в котором были бы и данные, и схема.

Первая мысль, которая у меня возникла, это в SQL Server Management Studio выделить базу данных и вызвать пункт меню Script Database As => CREATE To => File. Но в результате я получил, только скрипт создания базы данных и ее настроек. Ни схемы, ни данных.

Со второй попытки, я все-таки создал скрипт со схемой. Для этого в SSMS пришлось сказать Tasks => Generate Scripts ... и далее при помощи мастера выбрать типы объектов и сами объекты, которые я хочу заскриптовать.

Третья попытка, провалилась. Я попытался воспользоватся опцией Tasks => Import Data..., но получил мастер импорта/экспорта, который создает и выполняет пакет для SSIS. Импорт можно куда угодно, но не в SQL-скрипт, как последовательность INSERT команд.

Поиск в Google/Live.com повел меня по разные форумам, где данная проблема обсуждается, и предлагаются куски Transact-SQL/C# кода, оеализующие данную операцию. Но писать и отлаживать скрипт лень.

И, я все-таки, нашел решение, которое устроило на 100%, хотя предназначалось для совсем других задач. Это SQL Server Hosting Toolkit. Цель данного продукта, помочь Web-разработчикам в разворачивании баз данных на хостинге к котором у них доступа при помощи SSMS/sqlcmd/etc.

Состоит из утилиты командной строки SqlPubWiz и Add-in'а к Visual Studio. А также набора сервисов, которые позволяют реально все это развернуть у провайдера.

Кроме отправки базы данных прямо к провайдеру, и утилита командной строки, и Add-in позволяют создать простой скрипт, в котором есть и схема и данные.

В результате я просто сказал:

SqlPubWiz script -d demo C:\demo.sql

, и золотой ключик у нас в кармане скрипт готов.

Posted: Thursday, May 31, 2007 7:59 PM від kosinsky

Коментарі

Немає коментарів

Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.