我已经运行了以下命令,以包含另一个服务器实例。
现在我正在尝试使用以下方法同步这些数据库:
EXEC sp_addlinkedserver @server='Server'
现在我正在尝试使用以下方法同步这些数据库:
UPDATE
[Server].[ServerDB].[dbo].[tableName]
SET
[Server].[ServerDB].[dbo].[tableName].[columnName] = [LocalDB].[dbo].[tableName].[columnName]
FROM
[Server].[ServerDB].[dbo].[tableName], [LocalDB].[dbo].[tableName]
WHERE
[Server].[ServerDB].[dbo].[tableName].id = [LocalDB].[dbo].[tableName].id
这让我看到了以下错误:
在FROM子句中,“LocalDB.dbo.tableName”和“Server.ServerDB.dbo.tableName”对象具有相同的公开名称。使用相关名称来区分它们。
所以,在调试后,我尝试了各种版本:
UPDATE
[Server].[ServerDB].[dbo].[tableName]
SET
[Server].[ServerDB].[dbo].[tableName].[columnName] = [LocalDB].[dbo].[tableName].[columnName]
FROM
[Server].[ServerDB].[dbo].[tableName] serverDB
INNER JOIN
[LocalDB].[dbo].[tableName] localDB
ON
serverDB.id = localDB.id
但是他们都给了我某种错误的版本:
无法绑定多部分标识符“Server.ServerDB.dbo.tableName.allrows”。
有人能看出我错了什么吗?
[allrows]
是一个列名。我本来想说的是[allColumns]
。 - Charles ClaytonSELECT * FROM [Server].ServerDB.dbo.tableName
。这会返回行吗? - TrinculoINNER JOIN
中使用完整的[Server].ServerDB.dbo.tableName.id = [LocalDB].dbo.tableName.id
。 - Trinculo