SQL Server 2008で発生?64ビット版限定!Browser 起動エラーの解決策
SQL Server Browser を起動できない場合のトラブルシューティング
SQL Server Browser は、ネットワーク上で SQL Server インスタンスを検出するサービスです。このサービスが起動していない場合、SQL Server Management Studio などのツールを使用してリモート SQL Server インスタンスに接続できないことがあります。
症状
以下のいずれかの症状が発生します。
- SQL Server Browser サービスが起動していない
- SQL Server Management Studio でリモート SQL Server インスタンスに接続しようとすると、エラーメッセージが表示される
原因
SQL Server Browser を起動できない原因はいくつか考えられます。
- サービスの設定が間違っている: SQL Server Browser サービスのスタートアップの種類が無効になっている、またはサービスアカウントに適切な権限がない可能性があります。
- ポートの問題: SQL Server Browser サービスは、デフォルトで UDP ポート 1433 を使用します。このポートがファイアウォールによってブロックされている可能性があります。
- 依存関係の問題: SQL Server Browser サービスは、他のサービスに依存している可能性があります。これらのサービスが起動していない場合、SQL Server Browser サービスも起動できません。
- 破損: SQL Server Browser サービスまたは関連ファイルが破損している可能性があります。
解決策
- スタートメニューを開き、「サービス」と入力します。
- 「サービス」アプリをクリックします。
- サービスが停止している場合は、「スタート」ボタンをクリックして起動します。
- 「全般」タブを選択します。
- 「スタートアップの種類」ドロップダウンリストから、「自動」または「手動」を選択します。
- 「このアカウントでサービスを実行する」オプションを選択し、適切なユーザー名とパスワードを入力します。
- 「TCP ポート」フィールドの値を確認します。
- このポートがファイアウォールによってブロックされていないことを確認します。
- このサービスが依存しているサービスを確認します。
- 依存しているサービスがすべて起動していることを確認します。
- コマンドプロンプトアプリを右クリックし、「管理者として実行」を選択します。
- 以下のコマンドを入力して Enter キーを押します。
sc sconfig [SERVICE_NAME] start=auto
net start [SERVICE_NAME]
- [SERVICE_NAME] を SQL Server Browser サービスの名前に置き換えます。
上記の手順で問題が解決しない場合は、SQL Server Browser サービスを再インストールする必要があります。
上記の情報は、参考目的のみとして提供されています。いかなる場合も、この情報に基づいて発生した損害や損失について責任を負いません。
SQL Server Browser サービスを制御するためのサンプルコード
# SQL Server Browser サービスの状態を取得する
$status = Get-Service -Name MSSQLServerBrowser
# サービスが起動している場合
if ($status.Status -eq "Running") {
Write-Output "SQL Server Browser サービスは起動しています。"
}
# サービスが停止している場合
else {
Write-Output "SQL Server Browser サービスは停止しています。"
}
# SQL Server Browser サービスを開始する
Start-Service MSSQLServerBrowser
# SQL Server Browser サービスを停止する
Stop-Service MSSQLServerBrowser
使用方法
- PowerShell を管理者権限で開きます。
- 上記のコードをコピーして、PowerShell ウィンドウに貼り付けます。
- Enter キーを押します。
例
PS C:\> Get-Service -Name MSSQLServerBrowser
Status Name DisplayName RequiredServices
------ ---- ------------------------------------------------- ---------------------
Running MSSQLServerBrowser SQL Server Browser TCP/IP NetBIOS Named Pipes
注意事項
- このコードは、SQL Server Browser サービスのみを制御します。他の SQL Server サービスを制御するには、別のコードが必要です。
- このコードを使用する前に、SQL Server のドキュメントを参照して、サービスを制御する際の注意事項を確認してください。
SQL Server Browser を起動できない場合のその他の解決策
SQL Server Browser サービスをレジストリエディタを使用して起動することもできます。ただし、レジストリを編集する前に、必ずレジストリのバックアップを作成してください。
手順:
- レジストリエディタを開きます。
- 以下のキーに移動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServerBrowser
- 「Start」という名前の DWORD 値をダブルクリックします。
- 値を
4
に設定します。 - コンピュータを再起動します。
SQL Server Browser インスタンスを手動で登録することで、問題を解決できる場合もあります。
- SQL Server Management Studio を開きます。
- オブジェクト エクスプローラーで、接続する SQL Server インスタンスに接続します。
- 接続を右クリックし、「プロパティ」を選択します。
- 「ネットワーク」グループボックスで、「TCP/IP プロトコル」を選択します。
- 「TCP/IP プロトコル」タブを選択します。
- 「リスナー ポート」フィールドに、SQL Server インスタンスのポート番号を入力します。
ネットワーク構成を確認する
ファイアウォールまたはその他のネットワークデバイスが SQL Server Browser サービスと通信を妨害していないことを確認する必要があります。
- ファイアウォール管理コンソールを開きます。
- 受信の規則を確認します。
- UDP ポート 1433 が開いていることを確認します。
sql-server sql-server-2008 64-bit