誰でもC#とSMOまたは任意のAPIを使用してリモートSqlServerインスタンスを取得する方法を教えてもらえますか?特定のマシンのSqlInstancesのリストを取得する方法
私は、SQL Serverの2つのインスタンスがあるリモートサーバー名 "RemoteMC"、持っている: "RemoteMc" と "RemoteMCの\ SQLEXPRESS"
私はこのようなコードでインスタンスを取得しよう:
Server srv=new Server("RemoteMC");
DataTable dt=SmoApplication.EnumAvailableSqlServer(true);
を
"Host \ sqlexpress"を返します。
何が問題になったのか分かりません。どのように私は戻って結果を得ることができます。
RemoteMC
RemoteMCの\ SQLEXPRESS;
?ローカルマシンの下
(true)それは、もし私が文字列を渡した場合にのみ、ローカルのインスタンスを提供します。 – Cute
うーん...あなたは正しい。マシン上に2つのインスタンス、1つのSQL 2000インスタンスが「MYMACHINE」、1つのSQL 2005インスタンスが「MYMACHINE¥MYSQL2005」となっています。私が "MYMACHINE"を渡すと、私はその1つのインスタンスを取得します。私は問題は、サーバー名またはインスタンス名のいずれかを渡すことができると思います。この場合、サーバー名もインスタンス名になります.EnumAvailableServersはインスタンス名のために通常行う処理そのインスタンスについての情報のみ。 Yuk。 –
代わりに、booleanパラメータを受け取り、falseを渡すoverload(ローカルインスタンスだけでなく)を使用することもできます。これにより、ローカルでアクセス可能なすべてのインスタンスを持つ大きなテーブルが作成され、[Server]列でフィルタリングできます。おそらくそれはリストを構築するのに時間がかかりますので、理想的ではありません。しかし、それは動作します。 –