日期:2014-05-18  浏览次数:20390 次

怎样测试与链接服务器的连接状态
sp_testlinkedserver很慢,记的有什么脚本的...


------解决方案--------------------
jf
------解决方案--------------------
SQL code
exec sp_helpserver

------解决方案--------------------
sql 2005
SQL code
declare @srvr nvarchar(128), @retval int;
set @srvr = 'xie';
begin try
    exec @retval = sys.sp_testlinkedserver @srvr;
end try
begin catch
    set @retval = sign(@@error);
end catch;
if @retval <> 0
  raiserror('Unable to connect to server. This operation will be tried later!', 16, 2 );

------解决方案--------------------
查看链接服务器 
sp_helplinkedsrvlogin 

查看远端数据库用户登录信息 
sp_helpremotelogin
------解决方案--------------------
SQL code
create function fgetsstatus( 
@servername varchar(50)    --服务器名 
,@userid varchar(50)='sa'    --用户名,如果为nt验证方式,则为空 
,@password varchar(50)=''    --密码 

) returns varchar(20) 
as 
begin 
declare @re varchar(20),@ire int      --返回状态 
declare @srvid int          --定义服务器、数据库集id 
declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量 

--创建sqldmo对象 
exec @err=sp_oacreate 'sqldmo.sqlserver',@srvid output 
if @err <>0 goto lberr 

--连接服务器 
if isnull(@userid,'')='' --如果是 Nt验证方式 
begin 
  exec @err=sp_oasetproperty @srvid,'loginsecure',1 
  if @err <>0 goto lberr 

  exec @err=sp_oamethod @srvid,'connect',null,@servername 
end 
else 
  exec @err=sp_oamethod @srvid,'connect',null,@servername,@userid,@password 

if @err <>0 goto lberr 

--获取服务器状态 
exec @err=sp_oagetproperty @srvid,'Status',@ire output 
if @err <>0 goto lberr 

set @re=case @ire when 0 then '未知' 
  when 1 then '运行...' 
  when 2 then '暂停' 
  when 3 then '停止...' 
  when 4 then '正在启动...' 
  when 5 then '正在启动停止...' 
  when 6 then '连接...' 
  when 7 then '正在暂停...' end 
return(@re) 
lberr: 
exec sp_oageterrorinfo NULL, @src out, @desc out 
declare @errb varbinary(4) 
set @errb=cast(@err as varbinary(4)) 
exec master..xp_varbintohexstr @errb,@re out 
set @re='错误号: '+@re 
  +char(13)+'错误源: '+@src 
  +char(13)+'错误描述: '+@desc 
return(@re) 
end 
go

------解决方案--------------------
見者有分
否則視為倒分帖
讓小梁收拾你們
------解决方案--------------------
探讨
見者有分
否則視為倒分帖
讓小梁收拾你們

------解决方案--------------------
探讨
見者有分
否則視為倒分帖
讓小梁收拾你們

------解决方案--------------------
大大
我是来接分的
------解决方案--------------------
连不上就慢