クライアントからSQL Serverへの接続を確認する簡単な方法


18

トラブルシューティングの目的で、SQL Serverに接続できない可能性のあるアプリケーションとは無関係に、クライアントがSQL Serverインスタンスに接続できるかどうかを確認したいと思います。

デフォルトのWindowsシステムツールを使用してこれを行う簡単な方法(つまり、サードパーティのソフトウェアをインストールする必要はありません)はありますか?おそらくスクリプトまたはネットワークアプリケーションを使用していますか?


私のノートブックでは、sqlserver odbc接続を作成し、sqlserverへのアクセスをテストできます。しかし、sqlserverにアクセスするように構成されているすべてのクライアントでsqlserver odcドライバーが見つかるかどうかはわかりません。しかし、サーバーのsqlserver protの到達可能性をtelnetで確認した後、これが次のテストになります。
奇跡173

回答:


15

サーバーがTCP / IPを使用している場合、簡単な方法は、SQL ServerポートにTelnetで接続して接続するかどうかを確認することです。デフォルトでは、ポート1433であるため、これは機能するはずです。

telnet servername 1433

ほとんどの場合、これはおそらく適切です。

別のポートまたは動的ポート(名前付きインスタンスに共通)を使用している場合、現在リッスンしているポートを特定する必要があります。SQL Server構成マネージャーを確認して、特定のポートか動的ポートかを確認します。動的ポートを使用している場合、サーバー上に複数のインスタンスがない限り、netstat -abnおそらく使用しているものを見つける最も簡単な方法です。それ以外の場合は、WindowsイベントログまたはSQL Serverエラーログを調べて、どのポートがインスタンスで使用されているかを示すメッセージを探します。

SQL Serverが名前付きパイプを使用している場合、マシン上の共有にアクセスできれば、十分なネットワーク接続ができていると思います。この記事では、さらに進んでIPC $共有に接続してみることができると述べています。

http://msdn.microsoft.com/en-us/library/aa275787%28v=sql.80%29.aspx

net use \\servername\IPC$

これはSQL Server 2000向けに書かれていますが、この側面が大きく変わったとは思いません。


2
クライアントが「SQL Serverインスタンスに接続できる」かどうかはわかりません。これは、ポートがリッスンしているかどうかを確認するためのテストです。
トーマスストリンガー

4
...クライアントシステムが「SQL Serverに接続できない可能性のあるアプリケーションとは無関係に、SQL Serverインスタンスに接続できるかどうか」を確認しています。ネットワーク接続を超えるものはすべて、アプリケーションの問題に対処しています。
db2

22

SQL接続の簡単なテスト方法は、ファイル拡張子が「UDL」の空のテキストファイルを作成することです。メモ帳で作成できます。また、任意の名前を付けることができます。「TestSQL.UDL」を使用します

Windows PCのデスクトップに保存し、ダブルクリックします。

[データリンクプロパティ]ダイアログボックスが表示され、SQLサーバーのIPアドレスとSQLユーザー名とパスワードを入力できます。

[接続テスト]ボタンをクリックして、接続できるかどうかを確認します。

ここに画像の説明を入力してください


プロバイダ]タブをクリックし、右側のOLE DBプロバイダを選択してください:「SQL Server用のMicrosoft OLE DBプロバイダー」
DaveB

デイブ、歓迎、そして良い答え。投稿(左下隅)を編集して、この追加情報を追加できます。次に、コメントを削除します。
マイケルグリーン

何がインストールされているか、何がインストールされていないかに関係なく、ほとんどすべてのサーバーで動作するため、これは本当に素晴らしい答えです。必要なのはメモ帳だけです。このすばらしい答えをありがとう、SQL接続が機能していることをクライアントに納得させることができました。
ロブニック

8

Microsoft.SqlServer.SmoローカルマシンのGACにアセンブリがある場合、これはPowerShellで簡単に実行できます。

[Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null

$server = New-Object Microsoft.SqlServer.Management.Smo.Server("YourSqlServerName")

# do a simple operation to see if you can get data
Try {
    $server.Version | Out-Null
    Write-Host "SQL Server connection successful!!!"
}
Catch [System.Exception] {
    Write-Host "Error connecting to SQL Server..."
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.