if not exists(select * from sys.sysservers where srvname='server_lnk')

begin

exec sp_addlinkedserver   'server_lnk', '', 'SQLOLEDB', '192.168.1.15'

exec sp_addlinkedsrvlogin 'server_lnk', 'false ',null, 'sa', '123'

set xact_abort ON

BEGIN DISTRIBUTED TRANSACTION tans1   --开始分布式事务

INSERT INTO dbo.stuscore([name])VALUES('abc')

if(@@error<>0)

ROLLBACK TRANSACTION tans1

INSERT INTO server_lnk.Test.dbo.t1([name])

VALUES('12345678901234567890123456789012345678901234567890')

select @@error

IF(@@error<>0)

ROLLBACK TRANSACTION tans1

COMMIT TRANSACTION tans1

--这个是没问题的,加上BEGIN DISTRIBUTED TRANSACTION就报错

select * from server_lnk.Test.dbo.t1

--错误信息

链接服务器"server_lnk"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务。"。

消息 7391,级别 16,状态 2,第 7 行

无法执行该操作,因为链接服务器 "server_lnk" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。

一、 问题现象 在执行 SQL Server 分布式事务 时,在SQL Server 2005下收到如下 误: 消息 7391 ,级别 16,状态 2,过程 xxxxx,第 16 行 无法执行该操作,因为 链接 服务器 “xxxxx” 的 OLE DB 访问 接口 “SQLNCLI” 无法启动 分布式事务 。 在SQL Server 2000下收到如下 误: 该操作未能执行,因为 OLE DB 提供程序 ‘SQLOLEDB’ 无法启动 分布式事务 。 [OLE/DB provider returned message: 新 事务 不能登记到指定的 事务 处理器中。 ] OLE DB 误跟踪[OLE/DB Provide 简介: 链接 服务器 ***的OLE DB 访问 接口 "SQLNCLI10" 返回 消息 没有 活动 事务 。”。无法执行该操作,因为 链接 服务器 ***的OLE DB 访问 接口 "SQLNCLI10"无法启动 分布式事务 误信息如下: 链接 服务器 ***的OLE DB 访问 接口 "SQLNCLI10" 返回 消息 没有 活动 事务 。”。 无法执行该操作,因为 链接 服务器 ***的OLE DB 访问 接口 "SQLNCLI10"无法启... 各位好,我们在应用中需要从一台 数据库 访问 另一台 数据库 中表和过程。通过SQLNCLI方式建了 链接 服务器 ,正常测试 访问 都正常,但在执行 分布式事务 update表时,却 链接 服务器 "srv_lnk_UNION"的 OLE DB 访问 接口 "SQLNCLI" 返回 消息 " 没有 活动 事务 。"。 消息 7391 ,级别 16,状态 2,第 3 行无法执行该操作,因为 链接 服务器 "srv_lnk_UNION" ... 在执行 分布式事务 时,在sql server 2005下收到如下 误: 消息 7391 ,级别 16,状态 2,过程 xxxxx,第 16 行 无法执行该操作,因为 链接 服务器 "xxxxx" 的 OLE DB 访问 ... 在windows2003下执行 分布式事务 的时候出现如下情况。 一、 问题现象在执行 分布式事务 时,在sql server 2005下收到如下 误: 链接 服务器 "xxxxxxx"的 OLE DB 访问 接口 "SQLNCLI" 返回 消息 " 没有 活动 事务 。"。 消息 7391 ,级别 16,状态 2,过程 xxxxx,第 16 行 无法执行该操作,因为 链接 服务器 "xxxxx" 的 OL... 概述目标:解决多个 事务 一致性的问题。 事务 :一组操作构成的可靠独立的工作单元;分为本地 事务 和全局 事务 :本地 事务 :在单个 数据库 的本地;限制在单个进程内的 事务 ;不涉及多个数据源;全局 事务 :由全局 事务 管理器进行管理;RM:全局 事务 管理器通过RM对资源进行控制,资源必须实现XA定义的 接口 (XA指的是全局 事务 管理器和资源管理器的 接口 );TM:负责协调和 事务 管理,负责给全局 事务 管理器提供 接口 和管理RMXA规范A... 分布式 数据库 是多个互连的 数据库 ,他们通常位于多个 服务器 上,但彼此通信以实现共同目标;通过分布式 数据库 管理系统(DDBMS)进行管理。 分布式 数据库 数据库 管理领域提供了分布式计算的优势。基本上,我们可以将分布式 数据库 定义为分布在计算机网络上的多个相关 数据库 的集合。 分布式 数据库 系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的 数据库 ,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型 数据库 数据库 三一、insert语句可以一次插入多条记录二、对表的操作1.快速创建表2.将查询结果插入到一张表当中3.快速删除表中的数据-truncate4.对表结构的增删改三、约束1、什么是约束?2、约束包括哪些?3、非空约束:not null4、唯一性约束: unique5、主键约束(primary key,简称PK)非常重要6、外键约束(foreign key,简称FK)非常重要四、存储引擎1、什么是存储引擎2、怎么给表添加/指定“存储引擎”3、怎么查看mysql支持哪些存储引擎4、关于mysql常用的存储引