Восстановить базу данных из базы данных, используя скрипт - PullRequest
1 голос
/ 15 октября 2010

Я ищу простой скрипт, который можно использовать для перезаписи одной базы данных другой.У нас есть мастер-база данных с мастер-схемой и данными, и каждый раз разработчик хочет сдуть свою испорченную базу данных с полной перезаписью от мастера.В настоящее время я выполняю это с помощью SQL Server Studio и элементов управления графическим интерфейсом, но я хочу что-то похожее на то, что мы используем при восстановлении из файла резервной копии (просто без шага файла резервной копии):

RESTORE DATABASE [SlaveDB]
FROM  DISK = N'E:\Backup\MasterDB.bak'
WITH  FILE = 1,  
MOVE N'SlaveDB_Data' TO N'E:\Data\SlaveDB_Data.mdf',
MOVE N'SlaveDB_Log' TO N'E:\Log\SlaveDB_Log.ldf',
NOUNLOAD,  
STATS = 10
GO

Какой синтаксис для полученияБД из другого БД вместо файла резервной копии?

Ответы [ 2 ]

1 голос
/ 15 октября 2010

Я использую этот сценарий каждый день для восстановления производственной резервной копии в тестовую базу данных.

  1. имена в производственной и тестовой системах совпадают, предположим, что его имя MyDb.

  2. удалить тестовую базу данных

  3. Запустить скрипт


RESTORE FILELISTONLY 
FROM DISK   = 'E:\WorkCopy\BackUp.bak'

RESTORE DATABASE [MyDb]
FROM DISK   = 'E:\WorkCopy\BackUp.bak'
WITH 
MOVE  'MyDbPrimary' TO 'D:\data\MyDb\WorkCopy.mdf',
MOVE 'MyDbImp' TO 'D:\data\MyDb\WorkCopy_1.ndf',
MOVE 'MyDbCut' TO 'D:\data\MyDb\WorkCopy_2.ndf',
MOVE 'MyDbIX' TO 'D:\data\MyDb\WorkCopy_3.ndf',
MOVE 'MyDbAUD' TO 'D:\data\MyDb\WorkCopy_4.ndf',
MOVE 'MyDbLog' TO 'D:\data\MyDb\WorkCopy_5.ldf',
move 'sysft_FTIndexCatalog' TO 'D:\data\MyDb\FTIndexCatalog'


ALTER DATABASE MyDb
Set RECOVERY  SIMPLE 
0 голосов
/ 25 октября 2018

Если вы хотите восстановить базу данных из сгенерированного файла сценария, вы можете использовать командную строку Windows.

откройте CDM и выполните следующую команду ( database = NorthWind, файл сценария C: \ MyScript.sql )

sqlcmd -S localhost -d NorthWind -i "C:\MyScript.sql"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...