Ben*_*cka 15 sql-server terminology errors
我收到以下关于我在程序中运行的 SQL 查询的错误消息。SQL Server 2005 T-SQL。
异构查询需要为连接设置
ANSI_NULLS
和ANSI_WARNINGS
选项。这确保了一致的查询语义。启用这些选项,然后重新发出您的查询。(严重性 16)
修复它很容易,设置ANSI_NULLS
和ANSI_WARNINGS
ON
,但我想知道异构查询是什么。谷歌搜索带来了几十个结果,告诉我设置ANSI_NULLS
和ANSI_WARNINGS
,没有解释这个词的意思。查询是:
UPDATE SRV.DB.DBO.TABLE SET Column=
(SELECT Column
FROM SRV1.DB.DBO.TABLE)
Run Code Online (Sandbox Code Playgroud)
我认为这是由于在一个查询中连接到多个数据库引擎,否则我从未遇到过此错误。
“异构”是否只是指在这种情况下查询两个不同的数据库引擎?
“异构”是否只是指在这种情况下查询两个不同的数据库引擎?
基本上,是的。“异构”查询在“异构链接服务器”上执行。对此链接服务器的所有查询都将是异构的。
而“异构”是分布式查询的一个子集
- 分布式数据存储在 SQL Server 的多个实例中。
- 存储在使用 OLE DB 提供程序访问的各种关系和非关系数据源中的异构数据。
但是“异构”时不时出现:
请参阅MSDN 上的链接服务器
在整个企业的异构数据源上发布分布式查询、更新、命令和事务的能力。
链接服务器允许访问针对 OLE DB 数据源的分布式异构查询。
以及在“加入异构数据”中查询 Active Directory 的 MSDN 示例
和 MSDN 再次“异构数据库复制”