我正在尝试使用以下查询将丢失的行从一个 MS sql 服务器复制到另一个。我知道连接有效,因为插入连接的选择工作正常。
insert into [192.168.0.200].webanalyzer.dbo.sale
select * from WebAnalyzer.dbo.Sale where url COLLATE DATABASE_DEFAULT not in
(
select url COLLATE DATABASE_DEFAULT From [192.168.0.200].webanalyzer.dbo.sale
)
但是我收到以下错误
消息 7344,级别 16,状态 1,第 1 行链接服务器“192.168.0.200”的 OLE DB 提供程序“MSOLEDBSQL”无法插入表“[192.168.0.200].[webanalyzer].[dbo].[sale]”因为列“Id”。用户没有写入列的权限。
如何授予远程服务器权限?
如果该Id
列具有自动生成的值,则不能使用显式插入。因此,将您的查询更改为:
insert into [192.168.0.200].webanalyzer.dbo.sale ([columns])
select [columns] from WebAnalyzer.dbo.Sale where url COLLATE DATABASE_DEFAULT not in
(
select url COLLATE DATABASE_DEFAULT From [192.168.0.200].webanalyzer.dbo.sale
)
[columns]
您需要插入的列在哪里
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句