2011-12-29 9 views
0

SQL Serverがネットワーク上のシステムにインストールされているかどうかを確認するにはどうすればよいですか?IPアドレスを使用して、SQL Serverがネットワーク上のシステムにインストールされているかどうかを確認する方法はありますか。

私はIPアドレスを使用してそれを見つける必要があります。これは可能ですか? C#のコードでそれを達成するための方法

?一般的なSQL Serverで

+0

あなたは、サーバー上のWMIコードを実行する権限を持っていますか?レジストリを読むためのリモート権限がありますか? – gbn

答えて

1

は、ポート1433でリッスン:

http://support.microsoft.com/kb/287932

あなたは、このポートが開いていることを発見した場合ので、良い機会(ただし、特定の)があるSQL Serverがそのマシンにインストールされていることと、アクセス可能です。

あなたは、このポートがそれにソケットを開くことによって、開いていることを確認することができます。詳細については:Socketクラス(http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx DOC)を参照してください。

しかし、それは、このポートを介してアクセスすることはできません他の多くのモードでSQL Serverをインストールすることも可能です。また、このポートを他のプログラムからオープン(応答)することも可能です。

インターネット経由でアクセスできるサーバーをセキュリティで保護するためのベストプラクティスでは、SQL Serverが非標準ポートにあり、WMIへのアクセスがなく、(理想的には)サーバーがロックされてポートを開くだけです既知のホワイトリストに載っているクライアントのTCP/IPアドレスに割り当てます。だから一般的には:このスキャンを行う方法はありません常に仕事。 (ただ、だけでなく、あなたが考えてみれば...)

+0

このポートは決して使用されないかもしれません:1433を使用しない名前のついたインスタンスが使用されているお店を知っています。また、1434は事前にポートをブロックする必要があります。または、SQL Serverを停止することができます。通常、レジストリを読むか、WMIを使用して – gbn

+0

Indeedを探す必要があります。回答が更新されました。 –

+0

ポート1433でSQL Serverを外部に公開しないようにする理由があります。そのため、頻繁に移動します。 – Murph

1

あなたは、WMIを使用することを試みることができます。ここで

は、SQL ServerがWMIを使用してインストールされているかどうかを検出する方法は次のとおりです。FAQ: Detecting SQL Server 2005 using WMI(2005年の作品、他のバージョンのために適応するのは簡単でなければなりません)。

は、WMIを使用してリモートコンピュータに接続するには、 thisをお読みください。

WMIをインストールする必要があります。もちろん、アクセスなど

関連する問題