Visual Basic .NET でログインおよび関連付けられたユーザーを列挙する方法
このセクションでは、Microsoft Visual Basic .NET を使用して、ログオンおよび関連付けられたユーザーのリストを列挙する方法について説明します。
データベース内の各ユーザーは、ログオンに関連付けられています。ログオンは 2 つ以上のデータベース内のユーザーに関連付けることもできます。コード例では、Login オブジェクトの EnumDatabaseMappings メソッドを呼び出して、ログオンに関連付けられているすべてのデータベース ユーザーをリストする方法を示します。この例では、AdventureWorks データベースのログオンおよびユーザーを作成して、列挙するマッピング情報の存在を確保します。
ログオンおよびユーザーの列挙
Visual Studio 2005 を起動します。
[ファイル] メニューの [新規作成] をポイントして [プロジェクト] をクリックします。[新しいプロジェクト] ダイアログ ボックスが表示されます。
[プロジェクトの種類] ペインで、[Visual Basic] をクリックします。[テンプレート] ペインで、[コンソール アプリケーション] をクリックします。
(省略可) [名前] ボックスに新しいアプリケーションの名前を入力します。
[OK] をクリックすると、Visual Basic コンソール アプリケーション テンプレートが読み込まれます。
[プロジェクト] メニューの [参照の追加] をクリックします。[参照の追加] ダイアログ ボックスが表示されます。[参照] をクリックして、C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies フォルダ内で SMO アセンブリを探します。次のファイルを選択します。
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.SqlEnum.dll
Microsoft.SqlServer.SmoEnum.dll
[表示] メニューの [コード] をクリックします。または、[Module1.vb] ウィンドウをクリックしてコード ウィンドウを表示します。
コードでは、宣言の前に、次の Imports ステートメントを入力し、SMO 名前空間の型を修飾します。
Imports Microsoft.SqlServer.Management.Smo Imports Microsoft.SqlServer.Management.Common
このプロシージャの後に続くコードをメイン プログラムに挿入します。
アプリケーションを実行およびビルドします。
使用例
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Iterate through each database and display.
Dim db As Database
For Each db In srv.Databases
Console.WriteLine("============================================")
Console.WriteLine("Login Mappings for the database: " + db.Name)
Console.WriteLine(" ")
'Run the EnumLoginMappings method and return details of database user-login mappings to a DataTable object variable.
Dim d As DataTable
d = db.EnumLoginMappings
'Display the mapping information.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
For Each c In r.Table.Columns
Console.WriteLine(c.ColumnName + " = " + r(c))
Next
Console.WriteLine(" ")
Next
Next