从远程机器检查数据库访问的最佳方法是什么。
情况如下:
SQL Server 2005(或 2008)在
MACHINE1
(Windows 2003 或 2008)上运行。有一个数据库叫ENTERPRISEDB
.另一台服务器,称为
MACHINE2
(Windows 2003 或 2008)。它有 ODBC 连接到MACHINE1
.
现在,检查是否MACHINE2
可以连接和访问ENTERPRISEDB
in的最佳和最简单的 SQL 查询是MACHINE1
什么?
谢谢。
从远程机器检查数据库访问的最佳方法是什么。
情况如下:
SQL Server 2005(或 2008)在MACHINE1
(Windows 2003 或 2008)上运行。有一个数据库叫ENTERPRISEDB
.
另一台服务器,称为MACHINE2
(Windows 2003 或 2008)。它有 ODBC 连接到MACHINE1
.
现在,检查是否MACHINE2
可以连接和访问ENTERPRISEDB
in的最佳和最简单的 SQL 查询是MACHINE1
什么?
谢谢。
我总是用
Select @@servername, @@SERVICENAME
返回服务器名称、实例名称以检查基本服务器连接。要检查数据库连接本身是否正确,您无法击败 sys.objects。
select DB_NAME(), * from sys.objects
返回以当前数据库名称作为第一列的表和作为通用数据列表的对象名称列表。
如果您的 ODBC 连接到数据库 ENTERPRISEDB,那么您可以运行
SELECT top 1 1 FROM INFORMATION_SCHEMA.SCHEMATA WHERE CATALOG_NAME='ENTERPRISEDB'
如果数据库存在,它将返回“1”,否则将返回任何内容。
如果您需要布尔/整数返回,请尝试
SELECT case when COUNT(*) >0 then 1 else 0 end
FROM INFORMATION_SCHEMA.SCHEMATA WHERE CATALOG_NAME='ENTERPRISEDB'
如果存在则返回“1”,不存在则返回“0”。