如何确定SQL服务器或数据库是否存在

时间:2012-07-16 12:15:48

标签: c# sql-server database database-connection

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

首先让我们检查本地计算机上是否有sqlserver实例。

这可以通过SMO(reference of SMOanother reference)来完成,例如

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

希望这会有所帮助。