0

私のデータベース所有者はマスター データベースに対する権限を持っていません。SQL Server サーバーが存在するかどうか、およびそのサーバーにデータベースが存在するかどうかを確認する方法を探しています。

4

2 に答える 2

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);
}

次に、必要なデータベースが利用可能かどうかを確認するには、次を使用します。

データベースが存在する場合はその ID を返し、存在しない場合は null を返す関数 db_​​id を使用します。以下の T-SQL の例:

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

お役に立てれば。

于 2012-07-16T13:01:45.530 に答える
0

SMOを使用して、SQL サーバー オブジェクト モデルを管理できます。

于 2012-07-16T12:41:44.110 に答える