2011-04-04 81 views
0

什么是从远程计算机检查数据库访问的最佳方法。检查数据库访问(SQL Server 2005/2008)

这里的情况是:

  • 的SQL Server 2005(或2008)上MACHINE1运行(Windows 2003或2008)。有一个名为ENTERPRISEDB的数据库。

  • 另一台服务器,名为MACHINE2(Windows 2003或2008)。它有ODBC连接到MACHINE1

现在,什么是最好的,最简单的SQL查询来检查是否MACHINE2可以MACHINE1连接并访问ENTERPRISEDB

谢谢。

+2

**接受答案很重要!**。您已经提出了5个问题,并且没有投票并且没有接受任何答案。确保你接受你的问题的正确答案,以便其他人知道什么是有效的。 – JNK 2011-04-04 15:29:47

+0

傻我,我不知道如何接受答案!我试图点击有用的,但得到警告。谢谢!我已经接受了答案。 – ewlung 2011-04-06 08:00:06

回答

0

如果ODBC连接到数据库,EnterpriseDB公司,那么你可以运行

SELECT top 1 1 FROM INFORMATION_SCHEMA.SCHEMATA WHERE CATALOG_NAME='ENTERPRISEDB' 

将返回“1”,如果数据库中存在或没有,如果它没有。

如果你需要一个布尔/ int返回然后尝试

SELECT case when COUNT(*) >0 then 1 else 0 end 
FROM INFORMATION_SCHEMA.SCHEMATA WHERE CATALOG_NAME='ENTERPRISEDB' 

将返回“1”,如果它存在,“0”,如果它没有。

+0

谢谢,这是我需要:) – ewlung 2011-04-06 07:57:54

0

我总是用

Select @@servername, @@SERVICENAME 

返回服务器名称,实例名称来检查基本服务器连接。要检查数据库连接本身是否正确,您无法击败sys.objects。

select DB_NAME(), * from sys.objects 

返回一个表格,其中当前数据库名称为第一列,对象名称列表为通用数据列表。