0

我的数据库所有者对主数据库没有任何权限,我正在寻找一种方法来确定 SQL Server 服务器是否存在,以及该服务器上是否存在数据库。

4

2 回答 2

0

您可以使用SMO来管理 SQL Server 对象模型。

于 2012-07-16T12:41:44.110 回答
0

首先让我们检查本地机器上是否有可用的 sqlserver 实例。

这可以通过 SMO(SMO 的参考另一个参考)来完成,例如

using Microsoft.SqlServer.Management.Smo;

DataTable dataTable = SmoApplication.EnumAvailableSqlServers(true);//if true is passed it
//will enumerate local instance only.

foreach (DataRow dataRow in dataTable)
{
    if ((dataRow["Server"] as string) == "MyServerName")
        Console.WriteLine(dataRow["Instance"] as string);
}

然后检查所需的数据库是否可用,请使用:

使用函数 db_​​id,如果存在则返回数据库的 ID,否则返回 null。下面的示例 T-SQL:

if (db_id('INVENTORY') is null)
begin
    return 0
end
else
begin
    return 1
end

希望这可以帮助。

于 2012-07-16T13:01:45.530 回答