在MSSQL2000里面 对象名 'sys.servers' 无效 服务器: 消息 208,级别 16,状态 1,行 1...

在MSSQL2000里面不支持该 sys.servers查看链接服务器信息
SELECT * FROM sys.servers
后面查看sys.[sp_helpserver里面的
USE [master]
GO
/****** Object: StoredProcedure [sys].[sp_helpserver] Script Date: 2014/2/17 9:54:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [sys].[sp_helpserver]
@server sysname = NULL, -- server name
@optname varchar(35) = NULL, -- option name to limit results
@show_topology varchar(1) = NULL -- 't' to show topology coordinates
as
-- PRELIMINARY
set nocount on
declare @optbit int,
@bitdesc sysname,
@curbit int

-- CHECK IF REQUESTED SERVER(S) EXIST
if not exists select * from master.dbo.sysservers where
(@server is null or srvname = @server))
begin
if @server is null
raiserror(15205,-1,-1)
else
raiserror(15015,-1,-1,@server)
return (1)
end

-- GET THE BIT VALUE(S) FOR THE OPTION REQUESTED
if @optname is not null
begin
select @optbit = number from master.dbo.spt_values
where type = 'A' and name = @optname
if @optbit is null
begin
raiserror(15206,-1,-1,@optname)
return(1)
end
end
else
select @optbit = -1 -- 0xffffffff

-- MAKE WORK COPY OF RELEVANT PART OF SYSSERVERS
select name = srvname, network = srvnetname, status = convert(varchar(100), ''),
id = srvid, srvstat = srvstatus, topx = topologyx, topy = topologyy,
collation_name = convert(sysname, CollationPropertyFromID(srvcollation, 'name')),
connect_timeout = connecttimeout, query_timeout = querytimeout
into #spt_server
from master.dbo.sysservers
where (@server is null or srvname = @server) and (@optname is null or srvstatus & @optbit <> 0)

-- SET THE STATUS FIELD
select @curbit = 1
while @curbit < 0x10000 -- bit field is a smallint
begin
select @bitdesc = null
select @bitdesc = name from master.dbo.spt_values
where type = 'A' and number = @curbit
if @bitdesc is not null
update #spt_server set status = status + ',' + @bitdesc where srvstat & @curbit <> 0
select @curbit = @curbit * 2
end

-- SHOW THE RESULT SET
if lower(@show_topology) <> 't' or @show_topology is null
select name, network_name = network,
status = isnull(substring(status,2,8000),''),
id = convert(char(4), id),
collation_name, connect_timeout, query_timeout
from #spt_server order by name
else
select name, network_name = network,
status = isnull(substring(status,2,8000),''),
id = convert(char(4), id),
collation_name, connect_timeout, query_timeout,
topx, topy
from #spt_server order by name

-- RETURN SUCCESS
return(0) -- sp_helpserver

发现
select * from master.dbo.sysservers,在sql2000里面是sysservers,而且mssql2008里面是sys.servers
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值