У меня есть база данных SQL Server 2005, которую я хотел бы воссоздать в любой момент. Я хочу иметь возможность указывать на свою базу данных и генерировать полный набор скриптов, которые не только будут создавать все таблицы / представления / sprocs / функции, которые находятся в базе данных, но также будут заполнять все таблицы данными.
Есть какие-нибудь инструменты для этого? Существуют ли для этого какие-либо инструменты с открытым исходным кодом или бесплатные?





Проверьте следующее для процедуры, которая создаст сценарий, который будет генерировать таблицу и все ее данные. Вы можете обернуть это в другой сохраненный процесс, который повторяет все таблицы и генерирует один большой скрипт, который будет восстанавливать все с нуля.
http://anastasiosyal.com/archive/2007/04/25/5.aspx
Обновлено: похоже, Уилл нашел еще лучшее решение +1 к Уиллу
Мастер публикации базы данных - отличный маленький инструмент для этого. Его OSS и бесплатный, который трудно превзойти.
Что я всегда делаю, так это позволяю MS SQL Management Studio создать сценарий для восстановления базы данных и пустых таблиц. Затем я использую другой сценарий для создания командного файла ms-dos для экспорта / импорта данных через «bcp». См. Sql ниже.
/* this is used to export */
use databaseXXX
select ('bcp databaseXXX..' + name + ' OUT ' + name + ' /eErrors.txt /b100 /n /Usa /Ppwd /Sserver') as bcp
from
sysobjects
where
type = 'U'
order by
[name]
/* this is used to import */
use databaseXXX
select ('bcp databaseXXX..' + name + ' IN ' + name + ' /E /eErrors.txt /b100 /n /Usa /Ppwd /Sserver') as bcp
from
sysobjects
where
type = 'U'
order by
[name]
Работает у меня всегда и быстро. Если вы сохраните сценарий создания таблицы в файле, вы можете поместить его также в пакетный файл с помощью команды sqlcmd.