我在Server1中有一個「test.sql」,並且我想在server2和server3上運行這個腳本。我使用下面的代碼:將一臺服務器的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"
我運行在Server1的所有代碼和我的目標服務器2,但我得到這個錯誤:當我鍵入-?
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行代碼。
還應該將test.sql文件複製到server2嗎? – nciacrklo
'「$ InstanceNm」' –