2016-07-26 31 views
-1

我有我的服務器,我使用的含有如何觸發的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 

現在我想的SQL腳本恢復它在備份.bak文件以自動執行我爲其創建批處理文件的腳本。

我需要從我的客戶端機器上恢復服務器機器上的數據庫。

有沒有辦法做到這一點?

或者我可以從我的客戶機上執行我的服務器機器上的批處理文件嗎?

基本上我需要從我的客戶端機器上使用任務調度程序在服務器機器上恢復我的數據庫,.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 SP1SQL version 2008R2 SP1

,並從客戶端運行對服務器

也看到sqlcmd utility

查詢
相關問題