Как мне создать сценарии, которые будут перестраивать мою базу данных MS SQL Server 2005 с данными? - PullRequest
3 голосов
/ 20 августа 2008

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

Есть ли инструменты, которые делают это? Существуют ли какие-либо открытые или бесплатные инструменты, которые делают это?

Ответы [ 3 ]

7 голосов
/ 20 августа 2008

Мастер публикации баз данных - отличный маленький инструмент для этого. Его OSS и бесплатный, который трудно победить.

1 голос
/ 20 августа 2008

Что я всегда делаю, так это позволяю MS SQL Management Studio создать скрипт для восстановления базы данных и пустых таблиц. Затем я использую другой сценарий для создания командного файла ms-dos для экспорта / импорта данных через «bcp». См. Ниже.

/* 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.

0 голосов
/ 20 августа 2008

Проверьте следующее для процедуры, которая создаст скрипт, который сгенерирует таблицу и все ее данные. Вы можете обернуть это в другой сохраненный процесс, который повторяет все таблицы и генерирует один большой скрипт, который будет восстанавливать все с нуля.

http://anastasiosyal.com/archive/2007/04/25/5.aspx

Редактировать: Кажется, Уилл нашел еще лучшее решение +1 к Уилл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...