2016-07-26 2 views
-1

У меня есть файл резервной копии .bak на моем сервере, который я возвращающий его с помощью сценария SQL, который содержитКак запустить базу данных SQL Server восстановления запроса от клиентской машины к машине сервера

Declare @dbname varchar(20) 
Set @dbname = 'abc' 

Declare @dbpath varchar(100) 
set @dbpath = 'db_Path\abc.bak' ; 

RESTORE DATABASE @dbname 
FROM DISK = @dbpath 

Теперь я хочу для автоматизации выполнения этого скрипта, для которого я создал пакетный файл.

Мне нужно восстановить базу данных на моем сервере с моей клиентской машины.

Есть ли способ сделать это?

Или я могу выполнить пакетный файл на своем сервере с моей клиентской машины?

В основном мне нужно восстановить мою базу данных на сервере с моей клиентской машины с помощью планировщика задач, .bak будет доступен на серверной машине. SQL Server не установлен на клиентской машине.

ответ

0

Если ваш скрипт работает нормально на сервере, т.е.

sqlcmd -i "restoring_script.cmd" 

вы можете создать сервер по расписанию задачу

schtasks /create /SC ONCE /ST "00:00" /RL HIGHEST /TR "script_to_run" /S "server" /U "user" /P "[email protected]" /TN "task_name" /F 

и выполнить его клиента

schtasks /run /S "server" /U "user" /P "[email protected]" /I /TN "task_name" 

см

schtasks /create /? 
schtasks /run /? 

для получения дополнительной информации

Также вы можете установить инструменты командной строки sql в клиентской системе. Вам нужно три пакета

SqlCmdLnUtils.msi (x86 or x64) 
sqlncli.msi (x86 or x64) 
SQLSysClrTypes.msi (x86 or x64) 

Скачать инструменты командной строки для SQL version 2012 SP1 или SQL version 2008R2 SP1

и запустить запрос от клиента на сервер

см также sqlcmd utility

Смежные вопросы