我想将数据从SQL Server A复制到SQL Server B;所以我有查询声明:
INSERT INTO ServerA_Name.db_name.table_name
SELECT * FROM ServerB_Name.db_name.table_name where date >= GETDATE()
然而,ServerA的名称有一个非法的字符:' - '(例如:A-01),我无法更改ServerA的名称,因为它会导致其他潜在的问题。所以我得到了:' - '附近的语法不正确。错误....有没有一个好方法来解决这个问题?
答案 0 :(得分:2)
如果服务器A的名称包含非法字符(在您的情况下我在这里没有看到),您需要将该服务器的名称放在方括号中,例如:
INSERT INTO [ServerA_Name].db_name.table_name
SQL Server中的方括号用作引号,允许您使用特殊(或非法)字符或空格。