如何判断数据库连接情况?
declare @TargetServer varchar(40)
if not exists(Select * from master.dbo.sysservers where srvname=@TargetServer)
begin
EXEC sp_addlinkedserver @TargetServer, N'SQL Server'
EXEC sp_addlinkedsrvlogin @TargetServer, 'false', NULL, 'sa', 'sbfukxk'
end
我用以上的代码,在A数据库服务器上建立与B数据库服务器的连接。A与B服务器的物理网络断开或因系统原因
导致A数据库服务器无法访问B数据库服务器,如何在此之前判断两个服务器之间是否可以正常访问?
在下面使用语句之前,如何判断A与B之间可以访问?
Select * from ['+@TargetServer+'].TZ_999_2010.dbo.tbZYDA
------解决方案--------------------
你可以判断到远程数据库中的syscolumns系统表是否存在你想要的内容,如果存在,可判断为连接正确,如果不存在,可判断为连接不正确.
if exists(select 1 from 服务器名.数据库名.dbo.syscolumns where ...)
print '连接正确'
else
print '连接不正确'
------解决方案--------------------
sql中没有相应的函数。你可以做一次没有意义的查询,然后判断是否能获取到数据,如果可以的话说明数据库可以连接