2016-07-26 3 views
-1

が、私は今、私が欲しいはどのように

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ファイルを持っているサーバー・マシンにクライアントマシンからクエリを復元するSQL Serverデータベースをトリガーしますバッチファイルを作成したこのスクリプトの実行を自動化します。

クライアントマシンからサーバーマシンのデータベースを復元する必要があります。

これを行う方法はありますか?

クライアントマシンからサーバーマシンのバッチファイルを実行できますか?

タスクスケジューラを使用してクライアントマシンからサーバーマシンにデータベースを復元する必要があります。サーバマシンで.bakを使用できます。 SQL Serverがクライアントマシンにインストールされていません。

答えて

0

スクリプトがサーバーで[OK]を実行している場合、すなわち

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コマンドラインツールをインストールすることもできます。あなたは必要な3つのパッケージ

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

参照サーバに対してクライアントからのクエリを実行します