Visual Basic .NET でコレクションのメンバを反復処理する方法
このセクションでは、Visual Basic .NET でコレクションを使用して、SQL Server のインスタンス上のすべてのデータベースを反復処理する方法について説明します。
コード例では、Databases コレクション プロパティを反復処理し、SQL Server のインスタンスへのすべてのデータベース接続を表示します。
コレクションの反復処理
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
Dim count As Integer
Dim total As Integer
'Iterate through the databases and call the GetActiveDBConnectionCount method.
Dim db As Database
For Each db In srv.Databases
count = srv.GetActiveDBConnectionCount(db.Name)
total = total + count
'Display the number of connections for each database.
Console.WriteLine(count & " connections on " & db.Name)
Next
'Display the total number of connections on the instance of SQL Server.
Console.WriteLine("Total connections =" & total)