2011-11-14 13 views
0

インストールの一部として、マシンにインストールされているSQL Serverのインスタンスとバージョンを識別できる必要があります。バージョン情報がSQL Serverの列挙型で返されない

私は approachを使用して、ローカルマシン上のSQLサーバーのインスタンスの一覧を取得しています。私はローカルマシンだけに興味があります。

すべてのインスタンスを取得し、バージョンを確認する必要があります。アプリケーションにはSQL Server 2008 R2が必要です。

しかし、私が帰ってきたものを手に入れる:私はそれでバージョンを持っている(**)期待していたのに対し、

"MACHINENAME" 
"MACHINENAME" 
{} 
true 
{} (**) 
true 

私が代わりにファイアウォールがある場合は、この手法が失敗したことを参照してください。

この方法では、ファイアウォールがサーバー上で動作している場合、ローカル・インスタンスをリストに失敗しました。 ファイアウォールは、送信者 がローカルマシンからのものであっても、メソッドの呼び出し時に発行されたすべてのブロードキャストトラフィックをブロックします。

が、私は関係なく、ファイアウォールを有効または無効にする、同じ結果を得ます。

私が間違っていることについての示唆はありますか?

答えて

1

私は知っているが、あなたはサーバーのリストを取得した後に戻ってちょうどそれらを照会しません。 SqlCommandを使用して "select @@ version"クエリを送信するか、Microsoft.SqlServer.Management.Smo名前空間でServerクラスを使用してこの情報を取得できます。

+1

そして、はい、私はあなたが戻ってのいずれかから「**」得ることはありませんので安心することができますので、余分なステップを行う必要があり、それはちょうど間違っているようだ:)しかし、それは、より信頼できるとは限らないしいいだろう知っていますこれらのオプションのうち –

関連する問題