Как мне сгенерировать сценарии, которые перестроят мою базу данных MS SQL Server 2005 с данными?
-
09-06-2019 - |
Вопрос
У меня есть база данных SQL Server 2005, которую я хотел бы иметь возможность воссоздать в любой момент.Я хочу иметь возможность указывать на свою базу данных и генерировать полный набор скриптов, которые не только создадут все таблицы / представления / sprocs / функции которые находятся в базе данных, но также будут заполнять все таблицы данными.
Есть ли какие-нибудь инструменты, которые это делают?Существуют ли какие-либо инструменты с открытым исходным кодом или бесплатные, которые делают это?
Решение
Тот Самый Мастер публикации базы данных это отличный маленький инструмент для этого.Это операционная система и бесплатная, которую трудно превзойти.
Другие советы
Что я всегда делаю, так это позволяю 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.
Проверьте приведенную ниже процедуру, которая создаст скрипт, который сгенерирует таблицу и все ее данные.Вы могли бы обернуть это в другой сохраненный процесс, который повторяет все таблицы и генерирует один большой скрипт, который будет восстанавливать все с нуля.
http://anastasiosyal.com/archive/2007/04/25/5.aspx
Редактировать:Кажется, Уилл нашел еще лучшее решение + 1 к Уиллу