IP アドレス リストまたは範囲に基づいて、ローカル LAN 上のSQL Server インスタンスをスキャンして特定する必要があり、次の情報を探しています。
- SQL サーバーがリッスンしているポート(通常は1433/1434 ですが、変更できます)、
- マシンのIPアドレス、
- SQL サーバーが実行されているマシンのホスト名、
- 10.5.2500.0のようなインスタンス バージョン
- インスタンス名情報 例: Joe\SQLExpress
WindowsまたはSQLサーバーのいずれかの資格情報にアクセスできません。賭けはWindows認証を使用していますが、私は発見ベースのアプローチを好みます. また、スキャン中に誤った警告を発したくありません。また、スキャンは邪魔にならないようにする必要があります。スキャンでは、いくつかの脆弱性テスト (後で) を実行する必要があります。これには、検査と詳細情報が含まれるため、各サーバーのアクセス資格情報は必要ありません。
さらに、一部のインスタンスではSQL Server Browser サービスが無効になっているか、SQL Server エージェント サービスが停止している可能性があります。
特定の範囲の IP アドレスについて、すべての SQL Server インスタンスに対してクエリを実行できる必要があります。ここで引数を使用しようとしています:
と
AC# ベースのソリューションは、SQL Server Browser または SQL Server エージェントが実行されているかどうかに関係なく、すべてのインスタンスを返す限り、役立ちます。
しかし、私は自分のスキャンができるだけ邪魔にならないようにしたいと思っています.