【发布时间】:2015-01-19 15:21:15
【问题描述】:
我正在自动化测试环境设置过程,以下是所涉及的手动步骤的一部分:
- 将 .bak 文件从网络驱动器复制到我的 D: 驱动器
- 启动 SQL Management Studio,使用“恢复文件和文件组”选项恢复 .bak 文件
对于第 1 点,我使用了:
robocopy \\10.xx.xxx.x\dirA\Build\%myVar%\DB\ D:\ myDB_V%myVar%.bak
它复制得很好!
现在对于第 2 点,我正在从命令提示符使用 sqlcmd 尝试以下命令:
sqlcmd -E -S localhost\myInstance -Q "RESTORE DATABASE myDB_V2.2.2.10 FROM DISK='D:\myDB_V2.2.2.10.bak' WITH FILE = 1, MOVE 'myDB_V2.2.2.10' TO 'C:\Program Files\Microsoft SQLServer\MSSQL10.SQLEXPRESS\MSSQL\DATA\myDB_V2.2.2.10.mdf', MOVE 'myDB_V2.2.2.10_log' TO 'C:\Program Files\Microsoft SQLServer\MSSQL10.SQLEXPRESS\MSSQL\DATA\myDB_V2.2.2.10.mdf';"
它说
Msg 102, Level 15, State 1, Server localhost\myInstance, Line 1
Incorrect syntax near '.2'.
Msg 319, Level 15, State 1, Server localhost\myInstance, Line 1
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
我无法解释它在说什么。
谁能帮帮我?
【问题讨论】:
标签: batch-file sqlcmd