2011-11-19 94 views
0

我正在学习分布式查询并使用SQL Server 2008进行练习。SQL Server 2008中的分布式查询

我通过OPENROWSET语句成功从链接服务器获取数据。

现在我想在事务中包装一些数据修改语句并在链接服务器上执行。我该怎么做?这项交易与本地服务器的交易相同吗?

此外,我该如何实施安全设置以防止某人获得密码登录到链接服务器?密码是sp_addlinkedsrvlogin过程的参数。

回答

1

该查询需要参与分布式事务(需要MSDTC在两端安装和配置,防火墙上的适当端口打开...)。尽可能避免在分布式查询中保持开放事务。

可能是相关的:FIX: Error message when you run a distributed query in SQL Server 2005 or SQL Server 2008: "OLE DB provider 'SQLNCLI' for linked server '' returned message 'No transaction is active'"

Distributed Transaction Issue for Linked Server in SQL Server 2008

更新(响应在注释中的问题提出):

wiki

数据库系统实现分布式事务交易 针对多个应用程序或主机。分布式事务 强制执行多个系统或数据存储上的ACID属性,并且可能包括诸如数据库,文件系统,消息传递系统和其他应用程序之类的系统。在分布式交易中,协调服务确保交易的所有部分均适用于所有相关系统,即 。与数据库和其他事务一样,如果事务的任何部分失败,整个事务将在所有受影响的系统中回滚。

+0

请您告诉我本地交易和分布式交易有什么区别? – Linh