关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »什么是SQL Server 分布式事务以及包含了什么?

    什么是SQL Server 分布式事务以及包含了什么?

    2010-07-05 16:53:00 出处:ITJS
    分享

    以下的文章主要介绍的是SQL Server 分布式事务的概念,以及对SQL Server 分布式事务所包括的项目描述,我们大家都知道SQL Server 数据库的分布式事务主要是涉及来自两个或多个源的资源的事务。

    Microsoft® SQL Server™ 2000 支持分布式事务,使用户得以创建事务来更新多个 SQL Server 数据库和其它数据源。

    分布式事务包括:

    资源管理器

    控制分布式事务所涉及的每个资源的软件称为资源管理器。SQL Server 分布式事务由各个资源管理器内的本地事务组成。每个资源管理器必须能够与分布式事务内的所有其它资源管理器相协调,以提交或回滚自己的本地事务。SQL Server 可以作为分布式事务内的资源管理器工作,并遵从用于分布式事务处理的 X/Open XA 规范。

    事务管理器

    提交或回滚分布式事务由称为事务管理器的软件组件控制。事务管理器与每个资源管理器相协调,确保一起提交或回滚所有组成分布式事务的本地事务。Microsoft 分布式事务处理协调器 (MS DTC) 服务如事务管理器一样工作。MS DTC 遵从用于分布式事务处理的 X/Open XA 规范。

    两阶段提交 (2PC)

    需要进行特殊的提交处理,以防止在管理跨越多个资源管理器的事务时出现问题。当刷新日志缓冲区使其可用时,提交大事务可能需要相对较长的时间。提交进程本身还可能遇到错误,需要强行回滚。

    假如事务管理器只是请求每个资源管理器提交,则可能从一些资源管理器返回成功状态,然后从某个资源管理器得到错误信息。这会导致冲突,因为所有SQL Server 分布式事务都应回滚,而部分事务已提交。两阶段提交通过将提交分成两相可以解决此问题:

    准备

    事务管理器给每个资源管理器发送一个准备提交的请求。然后,每个资源管理器执行完成提交进程所需的所有大量占用资源的操作,如刷新所有日志缓冲区。资源管理器只保留维护事务完整性所需的最少的锁,然后给事务管理器返回成功状态。

    提交

    假如所有资源管理对发给它们的准备请求返回成功状态,事务管理器将给每个资源管理器发送提交命令。然后,每个资源管理器快速将事务记录为已完成,并释放上次控制的资源。假如有任何资源管理器对准备请求返回错误信息,事务管理器将给每个资源管理器发送回滚命令。

    有几种方法可以使应用程序在分布式事务内包括 SQL Server 2000:

    假如应用程序有本地事务并且发出分布式查询,本地事务将升级到分布式事务。

    发出 BEGIN DISTRIBUTED TRANSACTION 语句。

    假如应用程序有本地事务并且将 REMOTE_PROC_TRANSACTIONS 选项设置为>

    使用用于 SQL Server 的 OLE DB 提供程序或 SQL Server ODBC 驱动程序的应用程序,可以使用 OLE DB 方法或 ODBC 函数让 SQL Server 连接联接由应用程序启动的SQL Server 分布式事务。

    SQL server对全文目录执行调查和清除任务敬业的IT人 2008-2-27 22:25:00 在本示例中,将执行典型的调查和清除任务。假设您已连接到 pubs 数据库,全文服务已经启动,并且正在处理虚构的 writers 表和 books 表。

    1.通过执行下列存储过程,以获取一份已链接到 pubs 数据库的所有全文目录的列表:

    sp_help_fulltext_catalogs 

    因为 pubs 数据库是当前数据库,该存储过程将为链接到 pubs 数据库的所有全文目录返回下列元数据:

    全文目录的名称和整数标识符

    全文目录根目录

    全文目录填充状态

    链接到此全文目录的表的数目

    与上述存储过程稍有不同的另一个存储过程(在其中指定了全文目录的名称参数)可以为单个全文目录返回这方面的信息。

    2.执行下列存储过程,以获取一份已为全文处理而启用的数据库中所有表的列表:

    sp_help_fulltext_tables 

    此存储过程为每个表返回下列元数据:

    由两部分组成的表名

    用作表的全文键的列的整数标识符

    用于对全文键列施加唯一约束的索引的名称

    表的全文状态

    表的全文目录名

    支持与此存储过程稍有不同的其它两种存储过程。假如指定了 fulltext_catalog_name 参数,将为与该全文目录链接的所有表返回这方面的信息。假如同时指定了 catalog_name 参数和 table_name 参数,或者仅指定了 table_name 参数,则为该表返回这些信息。

    3.执行下列存储过程,以获取一份已为全文处理而启用的数据库中所有表的列表:

    sp_help_fulltext_columns 

    此存储过程将为每个列返回下列元数据:

    列中由两部分组成的表名

    列的名称和整数标识符

    与此存储过程稍有不同的一种存储过程(在其中指定了表名参数)可以为单个表返回这方面的信息。

    经过编译的列表会指出一些问题。除 mytable 表外不再有任何表使用 mycatalog 全文目录,而 mytable 表不再有任何可被查询的全文列。

    4.执行下列存储过程,以取消将 mytable 表注册为用于全文处理:

    sp_fulltext_table 'MyTable', 'drop' 

    这将除去该表有关全文索引的元数据。直至下一次完全填充或除去全文目录之前,现有的全文索引将保持原样。但它也保持为不使用状态。有关更多信息,请参见 sp_fulltext_table。

    5.通过执行下列存储过程,从文件系统中除去 mycatalog 全文目录并从系统表中除去其元数据:

    sp_fulltext_catalog 'MyCatalogue', 'drop' 

    必须完成步骤 4 才能除去全文目录,因为必须更新其文本目录的元数据才能删除所有全文索引。

    在文件系统中至少存在一个不再有相应的 SQL Server 元数据的全文目录。这种现象的原因通常是因为删除了某个数据库。

    6.通过执行下列存储过程,从文件系统中删除所有在 SQL Server 中不再有元数据的全文目录:

    sp_fulltext_service 'Clean_Up' 

    MixedUpCtlg 全文目录的结构与当前在 SQL Server 中为它记录的元数据不匹配。当全文目录正在被除去,或者数据库正在被除去并且 Microsoft 搜索服务不在运行时,就可能发生这种情况。除去操作会更改与全文目录相关的元数据,但无法完成该操作,因为 Microsoft 搜索服务没有运行。

    这将导致 SQL Server 中的全文元数据与文件系统中相关的物理全文目录之间不一致。通过唤醒调用 sp_fulltext_service 上的清除操作可以纠正这种不一致。(Microsoft 搜索服务必须正在运行。)

    7.执行下列存储过程,以重建(但不重新填充)MixedUpCtlg 全文目录:

    sp_fulltext_catalog 'MixedUpCtlg', 'Rebuild' 

    带有 ENABLE 选项的 sp_fulltext_database 存储过程可以用于重建所有已知的全文目录。

    8.执行下列存储过程,以启动对 MixedUpCtlg 全文目录的完全填充:

    sp_fulltext_catalog 'MixedUpCtlg', 'start_full' 

    上述的相关内容就是对SQL Server 分布式事务的概念的描述,希望会给你带来一些帮助在此方面。 

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。