设为首页 加入收藏

TOP

环回链接服务器
2014-11-23 23:37:19 来源: 作者: 【 】 浏览:8
Tags:链接 服务器
环回链接服务器
[sql]
USE [master]
GO
--查看测试环境 www.2cto.com
SELECT @@SERVERNAME,@@VERSION
/*
Roy-PC Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)
*/
--创建链接服务器ROY_LNK www.2cto.com
EXEC master.dbo.sp_addlinkedserver @server = N'ROY_LNK', @srvproduct=N'ROY_LNK', @provider=N'SQLOLEDB', @datasrc=N'XXX.XXX.X.XXX'--也可用SQLNCLI\SQLOLEDB
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ROY_LNK', @locallogin = NULL , @useself = N'False', @rmtuser = N'sa', @rmtpassword = N'wuxi'
GO
USE Test
GO
IF OBJECT_ID('T') IS NULL
SELECT 1 AS ID INTO T
go
SELECT
go
IF OBJECT_ID('P1','P') IS NOT NULL
DROP PROCEDURE P1
go
CREATE PROCEDURE P1
AS
SELECT * FROM [ROY_LNK].test.dbo.T
go
IF OBJECT_ID('P2','P') IS NOT NULL
DROP PROCEDURE P2
GO
CREATE PROCEDURE P2
AS
SET XACT_ABORT ON;
BEGIN TRAN
EXEC [ROY_LNK].test.dbo.P1
COMMIT TRAN
GO
--第1次运行出现
exec P2
--提示以下错误时
/*
消息 7411,级别 16,状态 1,过程 P2,第 5 行
未将服务器 'ROY_LNK' 配置为用于 RPC。
*/
--开启RPC
EXEC master.dbo.sp_serveroption @server=N'ROY_LNK', @optname=N'rpc out', @optvalue=N'true'
GO
--第2次运行(环回链接服务器)
exec P2
/*
消息 3910,级别 16,状态 2,第 1 行
其他会话正在使用事务的上下文。
*/
--解决方法
GO
ALTER PROCEDURE P1
AS
SELECT * FROM test.dbo.T
GO
exec P2
/*
ID
1
*/
[sql]
DROP PROC p1,p2
DROP TABLE T
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL SERVER2012链接本地服务器失.. 下一篇 PLSQL练习

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: