0

背景资料:

我正在尝试设置批处理作业以在不同的 sql 服务器之间同步存储过程。我确实将所有存储过程导出到单独的 .sql 文件到我的文件夹中。每当我想为这些多台服务器创建一个新的存储过程或更改它时,我都会在一台服务器上对其进行测试,直到我得到它想要的方式。之后,我将其导出到我的文件夹中。然后将其部署到其他服务器,我只需执行一个批处理 - 就是这样。


我几乎已经按照我想要的方式弄清楚了我的批次。唯一有问题的是,sqlcmd 似乎不喜欢标准的批处理分隔符 'GO' ( 'Incorrect syntax near 'GO'.')。因此,我已将默认批处理分隔符更改为“RUN”,在我的 .sql 文件中将每个“GO”命令替换为“RUN”并添加-c RUN到我的sqlcmd命令中。

但是它告诉我'Incorrect syntax near 'RUN'.'

出于测试目的,我只是用 1 个缩小的 sql 文件试了一下,如下所示:

USE [MyDatabase]
GO

即使这样也没有用。我怎样才能让它工作?

4

1 回答 1

0

尝试省略GORUN从这些脚本中删除。您可以在没有它们的情况下更改数据库上下文。

你应该可以做这样的事情:

USE MyDatabase;
--First query

USE MyOtherDatabase;
--Second query
于 2013-05-25T01:28:16.267 回答