对象名称具有非法字符

时间:2018-01-17 00:46:03

标签: sql sql-server

我想将数据从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的名称,因为它会导致其他潜在的问题。所以我得到了:' - '附近的语法不正确。错误....有没有一个好方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果服务器A的名称包含非法字符(在您的情况下我在这里没有看到),您需要将该服务器的名称放在方括号中,例如:

INSERT INTO [ServerA_Name].db_name.table_name

SQL Server中的方括号用作引号,允许您使用特殊(或非法)字符或空格。