我的数据库所有者对主数据库没有任何权限,我正在寻找一种方法来确定 SQL Server 服务器是否存在,以及该服务器上是否存在数据库。
问问题
1170 次
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 回答