分布式查询和分布式事件[MSSQL防范]
本文“分布式查询和分布式事件[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Microsoft® sql server™ 答应成立与称为链接服务器的 OLE DB 数据源的链接.在链接到 OLE DB 数据源之后,可以:
从 OLE DB 数据源引用行集,作为 Transact-SQL 语句中的表.
将号令传送给 OLE DB 数据源,并包含后果行集,作为 Transact-SQL 语句中的表.
每个分布式查询都可以引用多个链接的服务器,并且可以对每个链接的服务器辨别履行更新或读取操作.单个分布式查询
可以对某些链接的服务器履行读取操作,并且对别的链接的服务器履行更新操作.普通情形下,每当某个事件大概更新多
个链接服务器中的数据时,Microsoft SQL Server 都要求呼应的 OLE DB 供应程序支持分布式事件.因此,链接服务器上
所支持的查询范例取决于 OLE DB 供应程序中对事件的支持级别.OLE DB 为事件管理定义了两个可选的接口:
ITransactionLocal 支持 OLE DB 数据源中的本地事件.
ITransactionJoin 答应供应程序联合包含别的资源管理器的分布式事件.
全部支持 ITransactionJoin 的供应程序也都支持 ITransactionLocal.
假如在衔接是自动提交情势时履行分布式查询,则利用以下法则:
关于不支持 ItransactionLocal 的供应程序,只答应履行读取操作.
关于支持 ITransactionLocal 的供应程序,答应履行全部更新操作.
主控 SQL Server 会自动调用每个参与更新操作的链接的服务器中的 ITransactionLocal,以启动本地事件,并在语句执
行成功时提交或在语句履行失利时回滚.
假如分布式查询是针对分布式分区视图大概是在衔接为显式或隐性事件时履行,则利用下列法则:
关于不支持 ITransactionJoin 的供应程序,只答应履行读取操作.不支持任何事件或只支持 ITransactionLocal 的供应
程序不能参与更新操作.
假如 SET XACT_ABORT 设置为 ON,则关于支持 ITransactionJoin 的肆意供应程序都答应履行全部的更新操作.主控
SQL Server 会自动调用每个参与更新操作的链接服务器中的 ITransactionJoin,以便在分布式事件中登记该服务器.然
后当主控服务器表示要提交或回滚事件时,MS DTC 将提交大概回滚.
假如 SET XACT_ABORT 设置为 OFF,则链接服务器还必须支持嵌套事件,才能对其履行更新操作.当会话已经有一个现有
事件时,假如供应程序支持调用 ITransactionLocal::StartTransaction,则支持嵌套事件.这使 SQL Server 得以回滚
分布式查询中的单个语句,而不是回滚整个事件.
上述法则意味着供应程序的下列限制不支持嵌套事件:仅在 XACT_ABORT 选项设置为 ON 时,分布式事件中才答应更新操
作.
以上是“分布式查询和分布式事件[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |