2016-11-15 10 views
0

私はServer1に "test.sql"を持っています。このスクリプトをserver2とserver3で実行したいと思います。私はSERVER1からすべてのコードを実行すると、私はSERVER2をターゲットが、私はこのエラーを取得していますリモートから別のサーバにSQLスクリプトを実行

$InstanceNm = "server2\inst2,1433" 

$CommandExecute_SP = "D:\testscript\test.sql" --located in Server1 

invoke-expression "SQLCMD -E -S $InstanceNm -d 'master' -i $CommandExecute_SP -b" 

::私は-? を入力すると

SQLCMD : Sqlcmd: 'server2\inst2,1433': Unexpected argument. Enter '-?' for help. 

が、それはこれを与える:私は以下のコードを利用しました

At line:1 char:2 
+ -? 
+ ~ 
Missing expression after unary operator '-'. 
At line:1 char:2 
+ -? 
+ ~ 
Unexpected token '?' in expression or statement. 
    + CategoryInfo   : ParserError: (:) [], ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : MissingExpressionAfterOperator 

別のサーバーから別のサーバーにオブジェクトを作成する.sqlファイルを実行するのが正しい方法は何ですか?私はSystem.Data.SQLClient.SQLConnectionを使用して短いSQL文を実行する方法を知っていますが、この.sqlファイルには1000行以上のコードがあるので、避けたいと思います。

+0

test.sqlファイルもserver2にコピーする必要がありますか? – nciacrklo

+0

'' $ InstanceNm "' –

答えて

0

リモートセッションを作成し、Invoke-Command -cmdlet経由でコマンドを実行できます。

Win2012 R2(またはそれ以上)のPS-remotingは、デフォルトで有効になっています。それ以外の場合はremotingをご覧ください。

私は再びのMyScriptを駆け抜け、エラーがマスター 『'の文字』によって引き起こされたことが判明、私はこれを省略し、それが今取り組んでいる

0

に役立ちます願っています。

関連する問題