当前位置:首页 > 系统运维 > 正文内容

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

a8116255316年前 (2010-07-05)系统运维9

以下的文章主要介绍的是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 分布式事务的概念的描述,希望会给你带来一些帮助在此方面。 

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21502.html

分享给朋友:

“什么是SQL Server 分布式事务以及包含了什么?” 的相关文章

windows 7系统如何设置休眠时不断网以便继续完成下载

windows 7系统如何设置休眠时不断网以便继续完成下载

在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...

上帝不止一个 更多Windows7 快捷模式.

上帝不止一个 更多Windows7 快捷模式.

国外媒体CNET NEWS就这个“上帝模式”和微软Windows部门主管Steven Sinofsky进行邮件交流后得知,这其实只是众多快捷方式中的一个,Sinofsky在邮件里给出了十多个这类快捷方式的关键字符串。 它们的建立方法和之前的“上帝模式”一样,在任意位置新建的一个文件夹,然后改名即可...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

Skylake平台不能通过USB接口装windows 7系统

Skylake平台不能通过USB接口装windows 7系统

Intel会在2015年推出Broadwell、Skylake两代14nm处理器,前者可以使用9系芯片组,Skylake升级到了LGA1151插槽,需要搭配新的100系列芯片组,但初期的Skylake-S又不能超倍频,所以今年Q2季度开始会很混杂。Skylake一代会支持DDR4,100系列芯片组升...

Windows7截图出现黑屏导致截的图黑呼呼一片

Windows7截图出现黑屏导致截的图黑呼呼一片

最近一些Windows 7用户反馈说,自己在截屏的时候出现黑屏,导致自己截的图黑呼呼一片。这个问题该怎么解决?今天小编就为大家提供一个解决的方法。 步骤 1 在windows xp时代,很多用户都曾被视频截图后的“全黑图片”困扰。对此,在解决本地播放时出现的截图变黑问题,一般有两个方法可以用来解...

windows 7如何创建拨号连接

windows 7如何创建拨号连接

一、打开控制面板,选择“网络和共享中心”; 二、在网络和共享中心中选择“设置新的连接或网络”; 三、选择连接到Internet; 四、选择“仍要设置新的连接”; 五、选择“宽带PPPoE ”; 六、输入对应的宽带帐号及密码,点击连接即可;...