ネットワークで使用可能なものから MS SQL Server インスタンスを選択するための GUI を実装しようとしています。
まず、SmoApplication.EnumAvailableSqlServers() や SqlDataSourceEnumerator.Instance.GetDataSources() などのよく知られたメソッドを試しました。検索のタイムアウトを制御したいので、どちらも十分ではありません。デフォルトのタイムアウトは 30 秒程度です。
次に、別のアプローチを見つけました。LAN経由でUDPデータグラムをブロードキャストして、ライブSQL Serverインスタンスから応答を取得します。任意のタイムアウトを設定できますが、タイムアウトを 1 秒に設定するだけで十分なようです。
ただし、ここでの唯一の問題は、このメソッドがライブラリ メソッドと同じ量のレコードを返さないことです。これらのメソッドが実行するアクションは、ネットワークのスキャンだけではないようです。ILDasm を使用してソース コードを調べたのですが、機能の主要部分がネイティブ コードのどこかに隠されていることしかわかりませんでした。
誰かがこれらの方法で何が起こるか説明できますか?
前もって感謝します