ワークステーションに SQL Server 2005 Management Studio をインストールしました。その後、SQL Server 2008 ワークステーション ツールをインストールし、SQL Server 2005 ツールを削除しました。現在、管理スタジオで登録済みのサーバーを反復処理する ac# プログラムを作成しています。問題は、2008 の登録済みサーバー リストではなく、2005 ツールの古いリスト (現在はアンインストールされています) を反復処理していることです。
アセンブリ参照の問題かもしれないと思ったので、SMO アセンブリ参照が新しいツールを指していることを確認しました。私は使っている:
- Microsoft.SqlServer.ConnectionInfo
- Microsoft.SqlServer.Management.Sdk.Sfc
- Microsoft.SqlServer.Smo
- Microsoft.SqlServer.SqlEnum
アセンブリが 10.0 バージョンであることを確認しました。
仕事をする私のC#コードスニペットは次のとおりです。
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo.RegisteredServers;
と
public static void DiscoverServers()
{
RegisteredServer[] rsvrs = SqlServerRegistrations.EnumRegisteredServers();
foreach (RegisteredServer rs in rsvrs)
{
Console.WriteLine(rs.Parent.Name + ", " + rs.ServerInstance);
}
}
これを修正する方法についてのアイデアはありますか? 間違った SMO コードを使用しているだけですか?
乾杯、マーク。