首先,我不是 DBA,也没有任何使用 SQL Server 的(管理员)经验,所以请在回答时使用音节少的单词...
我正在运行 SQL Server 2008 R2 并尝试编写一个概念证明脚本来设置非分区、双向、事务复制。我已经设法从 MS 站点调整脚本以使其正常工作,现在我正在尝试根据我们的需要对其进行自定义。这涉及将一堆值提取到变量中。
我已将 SSMS 设置为“SQLCMD 模式”,并且我的所有变量都可以解析,除了一个。
:setvar ReplicationDirectory 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2\MSSQL\repldata';
这给了我错误:
发生致命的脚本错误。解析时遇到不正确的语法 :setvar
我已将问题缩小到变量值中是否存在空格。根据我一直在阅读的内容,这应该没有问题。我尝试用双引号替换单引号(正常种类和有角度的种类),但都给了我同样的错误。
我在网上找不到任何告诉我应该如何转义空格字符的东西。我看过的所有文章都说,如果字符串用引号引起来,SSMS 只会将它们之间的任何内容解释为单个字符串 - 无论空格如何。
有没有人有任何想法?
我想我可以将变量的值更改为:
:setvar ReplicationDirectory 'C:\Progra~1\Micros~1\MSSQL10_50.SQL2\MSSQL\repldata';
但我宁愿解决“为什么我不能使用空格?” 而是问题。
非常感谢。
汤姆