トラブルシューティングの目的で、SQL Serverに接続できない可能性のあるアプリケーションとは無関係に、クライアントがSQL Serverインスタンスに接続できるかどうかを確認したいと思います。
デフォルトのWindowsシステムツールを使用してこれを行う簡単な方法(つまり、サードパーティのソフトウェアをインストールする必要はありません)はありますか?おそらくスクリプトまたはネットワークアプリケーションを使用していますか?
トラブルシューティングの目的で、SQL Serverに接続できない可能性のあるアプリケーションとは無関係に、クライアントがSQL Serverインスタンスに接続できるかどうかを確認したいと思います。
デフォルトのWindowsシステムツールを使用してこれを行う簡単な方法(つまり、サードパーティのソフトウェアをインストールする必要はありません)はありますか?おそらくスクリプトまたはネットワークアプリケーションを使用していますか?
回答:
サーバーが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向けに書かれていますが、この側面が大きく変わったとは思いません。
SQL接続の簡単なテスト方法は、ファイル拡張子が「UDL」の空のテキストファイルを作成することです。メモ帳で作成できます。また、任意の名前を付けることができます。「TestSQL.UDL」を使用します
Windows PCのデスクトップに保存し、ダブルクリックします。
[データリンクプロパティ]ダイアログボックスが表示され、SQLサーバーのIPアドレスとSQLユーザー名とパスワードを入力できます。
[接続テスト]ボタンをクリックして、接続できるかどうかを確認します。
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..."
}