SQL Server Browser ServiceSQL Server Browser Service

適用対象: yesSQL Server (Windows only) noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server (Windows only) noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

SQL ServerSQL ServerBrowser プログラムは Windows サービスとして実行されます。The SQL ServerSQL ServerBrowser program runs as a Windows service. SQL ServerSQL Server Browser は、 MicrosoftMicrosoft SQL ServerSQL Server の各種リソースに関する着信要求を受信し、このコンピューター上にインストールされている SQL ServerSQL Server インスタンスに関する情報を提供します。Browser listens for incoming requests for MicrosoftMicrosoft SQL ServerSQL Server resources and provides information about SQL ServerSQL Server instances installed on the computer. SQL ServerSQL Server Browser は次の操作に役立ちます。Browser contributes to the following actions:

  • 使用可能なサーバーの一覧の参照Browsing a list of available servers

  • 適切なサーバー インスタンスへの接続Connecting to the correct server instance

  • 専用管理者接続 (DAC) のエンドポイントへの接続Connecting to dedicated administrator connection (DAC) endpoints

データベース エンジンDatabase Engine Browser サービス (sqlbrowser) は、 SSASSSASSQL ServerSQL Server の各インスタンスに対してインスタンス名とバージョン番号を提供します。For each instance of the データベース エンジンDatabase Engine and SSASSSAS, the SQL ServerSQL Server Browser service (sqlbrowser) provides the instance name and the version number. SQL ServerSQL Server Browser は SQL ServerSQL Serverと共にインストールされます。Browser is installed with SQL ServerSQL Server.

SQL ServerSQL Server Browser は、セットアップ時に、または SQL ServerSQL Server 構成マネージャーを使用して構成できます。Browser can be configured during setup or by using SQL ServerSQL Server Configuration Manager. 既定では、 SQL ServerSQL Server Browser サービスは次の場合に自動的に開始されます。By default, the SQL ServerSQL Server Browser service starts automatically:

  • インストールをアップグレードする場合When upgrading an installation.

  • クラスターにインストールする場合When installing on a cluster.

  • SQL Server Express のすべてのインスタンスを含む、 データベース エンジンDatabase Engine の名前付きインスタンスをインストールする場合When installing a named instance of the データベース エンジンDatabase Engine including all instances of SQL Server Express.

  • Analysis ServicesAnalysis Servicesの名前付きインスタンスをインストールする場合When installing a named instance of Analysis ServicesAnalysis Services.

背景情報Background

SQL Server 2000 (8.x)SQL Server 2000 (8.x)より前は、コンピューターにインストールできる SQL ServerSQL Server のインスタンスは 1 つだけでした。Prior to SQL Server 2000 (8.x)SQL Server 2000 (8.x), only one instance of SQL ServerSQL Server could be installed on a computer. SQL ServerSQL Server は、公式の Internet Assigned Numbers Authority (IANA) によって SQL ServerSQL Server に割り当てられたポート 1433 で着信要求を待ちます。listened for incoming requests on port 1433, assigned to SQL ServerSQL Server by the official Internet Assigned Numbers Authority (IANA). SQL ServerSQL Server の 1 つのインスタンスしかポートを使用できないので、 SQL Server 2000 (8.x)SQL Server 2000 (8.x)SQL ServerSQL Serverの複数のインスタンスをサポートするようになったとき、 SQL ServerSQL Server Resolution Protocol (SSRP) が開発され、UDP ポート 1434 で受信待ちするようになりました。Only one instance of SQL ServerSQL Server can use a port, so when SQL Server 2000 (8.x)SQL Server 2000 (8.x) introduced support for multiple instances of SQL ServerSQL Server, SQL ServerSQL Server Resolution Protocol (SSRP) was developed to listen on UDP port 1434. このリスナー サービスは、インストールされているインスタンスの名前と、そのインスタンスが使用しているポートまたは名前付きパイプでクライアント要求に応答していました。This listener service responded to client requests with the names of the installed instances, and the ports or named pipes used by the instance. SSRP システムの制限を解消するため、 SQL Server 2005 (9.x)SQL Server 2005 (9.x) では SSRP の代わりに SQL ServerSQL Server Browser サービスを導入しています。To resolve limitations of the SSRP system, SQL Server 2005 (9.x)SQL Server 2005 (9.x) introduced the SQL ServerSQL Server Browser service as a replacement for SSRP.

SQL Server Browser のしくみHow SQL Server Browser Works

SQL ServerSQL Server のインスタンスを起動すると、 SQL ServerSQL Serverに対して TCP/IP プロトコルが有効な場合は、サーバーに TCP/IP ポートが割り当てられます。When an instance of SQL ServerSQL Server starts, if the TCP/IP protocol is enabled for SQL ServerSQL Server, the server is assigned a TCP/IP port. 名前付きパイプのプロトコルが有効な場合、 SQL ServerSQL Server は特定の名前付きパイプでリッスンします。If the named pipes protocol is enabled, SQL ServerSQL Server listens on a specific named pipe. クライアント アプリケーションとのデータの交換には、このポート、つまり "パイプ" がそのインスタンスで使用されます。This port, or "pipe," is used by that specific instance to exchange data with client applications. インストール中、TCP ポート 1433 とパイプ \sql\query が既定のインスタンスに割り当てられますが、これは後でサーバー管理者が SQL ServerSQL Server 構成マネージャーを使用して変更できます。During installation, TCP port 1433 and pipe \sql\query are assigned to the default instance, but those can be changed later by the server administrator using SQL ServerSQL Server Configuration Manager. ポートまたはパイプを使用できるのは SQL ServerSQL Server の 1 つのインスタンスだけなので、 SQL Server ExpressSQL Server Expressを含めて、名前付きインスタンスには別のポート番号とパイプ名が割り当てられます。Because only one instance of SQL ServerSQL Server can use a port or pipe, different port numbers and pipe names are assigned for named instances, including SQL Server ExpressSQL Server Express. 既定では、名前付きインスタンスと SQL Server ExpressSQL Server Express が有効な場合、両方とも動的ポートを使用するように設定されています。つまり、 SQL ServerSQL Server の起動時に使用可能なポートが割り当てられます。By default, when enabled, both named instances and SQL Server ExpressSQL Server Express are configured to use dynamic ports, that is, an available port is assigned when SQL ServerSQL Server starts. 必要であれば、 SQL ServerSQL Serverのインスタンスに特定のポートを割り当てることができます。If you want, a specific port can be assigned to an instance of SQL ServerSQL Server. クライアントは接続時に特定のポートを指定できますが、ポートが動的に割り当てられる場合は、 SQL ServerSQL Server が再起動されるたびにポート番号が変わる可能性があるので、クライアントは正しいポート番号を特定できません。When connecting, clients can specify a specific port; but if the port is dynamically assigned, the port number can change anytime SQL ServerSQL Server is restarted, so the correct port number is unknown to the client.

起動時に SQL ServerSQL Server Browser が開始されて UDP ポート 1434 が要求されます。Upon startup, SQL ServerSQL Server Browser starts and claims UDP port 1434. SQL ServerSQL Server Browser はレジストリを読み取って、コンピューター上の SQL ServerSQL Server のすべてのインスタンスを識別し、使用されているポートと名前付きパイプを確認します。Browser reads the registry, identifies all instances of SQL ServerSQL Server on the computer, and notes the ports and named pipes that they use. サーバーに複数のネットワーク カードがある場合は、 SQL ServerSQL Server Browser が最初に検出したポートを SQL ServerSQL Serverに返します。When a server has two or more network cards, SQL ServerSQL Server Browser returns the first enabled port it encounters for SQL ServerSQL Server. SQL ServerSQL Server Browser では ipv6 と ipv4 をサポートしています。Browser support ipv6 and ipv4.

SQL ServerSQL Server クライアントが SQL ServerSQL Server リソースを要求すると、ポート 1434 を使用しているサーバーにクライアント ネットワーク ライブラリが UDP メッセージを送信します。When SQL ServerSQL Server clients request SQL ServerSQL Server resources, the client network library sends a UDP message to the server using port 1434. SQL ServerSQL Server Browser は、要求されたインスタンスの TCP/IP ポートまたは名前付きパイプで応答します。Browser responds with the TCP/IP port or named pipe of the requested instance. その後、クライアント アプリケーションのネットワーク ライブラリが、目的のインスタンスのポートまたは名前付きパイプを使用しているサーバーに要求を送って接続を完了します。The network library on the client application then completes the connection by sending a request to the server using the port or named pipe of the desired instance.

SQL ServerSQL Server Browser サービスの開始と停止については、「 SQL ServerSQL Server 」をご覧ください。For information about starting and stopping the SQL ServerSQL Server Browser service, see SQL ServerSQL Server Books Online.

SQL Server Browser の使用Using SQL Server Browser

SQL ServerSQL Server Browser サービスが実行されていない場合でも、正しいポート番号か名前付きパイプを指定すれば SQL ServerSQL Server に接続できます。If the SQL ServerSQL Server Browser service is not running, you are still able to connect to SQL ServerSQL Server if you provide the correct port number or named pipe. たとえば、 SQL ServerSQL Server の既定のインスタンスがポート 1433 で実行されている場合は、TCP/IP を使用して接続できます。For instance, you can connect to the default instance of SQL ServerSQL Server with TCP/IP if it is running on port 1433.

ただし、 SQL ServerSQL Server Browser サービスが実行されていない場合は、次の接続が機能しません。However, if the SQL ServerSQL Server Browser service is not running, the following connections do not work:

  • パラメーター (たとえば TCP/IP ポートや名前付きパイプ) を完全に指定せずに名前付きインスタンスに接続しようとするコンポーネント。Any component that tries to connect to a named instance without fully specifying all the parameters (such as the TCP/IP port or named pipe).

  • 後で他のコンポーネントが再接続に使用する可能性のあるサーバーまたはインスタンス情報を生成するかまたは渡すコンポーネント。Any component that generates or passes server\instance information that could later be used by other components to reconnect.

  • ポート番号やパイプを指定せずに名前付きインスタンスに接続する。Connecting to a named instance without providing the port number or pipe.

  • TCP/IP ポート 1433 を使用していない場合は、名前付きインスタンスや既定のインスタンスへの DAC。DAC to a named instance or the default instance if not using TCP/IP port 1433.

  • OLAP リダイレクター サービス。The OLAP redirector service.

  • SQL Server Management StudioSQL Server Management Studio、Enterprise Manager、またはクエリ アナライザーでのサーバーの列挙。Enumerating servers in SQL Server Management StudioSQL Server Management Studio, Enterprise Manager, or Query Analyzer.

SQL ServerSQL Server をクライアント/サーバーのシナリオで使用している場合 (たとえば、アプリケーションがネットワーク経由で SQL ServerSQL Server にアクセスしている場合)、 SQL ServerSQL Server Browser サービスを停止または無効化するには、各インスタンスに特定のポート番号を割り当て、常にそのポート番号が使用されるようにクライアント アプリケーションのコードを記述する必要があります。If you are using SQL ServerSQL Server in a client-server scenario (for example, when your application is accessing SQL ServerSQL Server across a network), if you stop or disable the SQL ServerSQL Server Browser service, you must assign a specific port number to each instance and write your client application code to always use that port number. この方法には次の問題があります。This approach has the following problems:

  • クライアント アプリケーションが必ず適切なポートに接続するように、コードを更新および管理しておく必要があります。You must update and maintain client application code to ensure it is connecting to the proper port.

  • 各インスタンスに対して選択したポートがサーバー上の別のサービスまたはアプリケーションによって使用されている場合があります。この場合、 SQL ServerSQL Server のインスタンスは使用できません。The port you choose for each instance may be used by another service or application on the server, causing the instance of SQL ServerSQL Server to be unavailable.

クラスターClustering

SQL ServerSQL Server Browser はクラスター化されたリソースではなく、クラスター ノード間のフェールオーバーはサポートしません。Browser is not a clustered resource and does not support failover from one cluster node to the other. そのため、クラスターの場合は、クラスターのノードごとに SQL ServerSQL Server Browser をインストールして有効にする必要があります。Therefore, in the case of a cluster, SQL ServerSQL Server Browser should be installed and turned on for each node of the cluster. クラスターでは、 SQL ServerSQL Server Browser は IP_ANY で受信待ちします。On clusters, SQL ServerSQL Server Browser listens on IP_ANY.

注意

SQL ServerSQL Server Browser では最初に検出された IP とポートのペアが返されるため、IP_ANY で受信待ちのときに特定の IP での受信待ちを有効にする場合は、各 IP に同じ TCP ポートを構成する必要があります。When listening on IP_ANY, when you enable listening on specific IPs, the user must configure the same TCP port on each IP, because SQL ServerSQL Server Browser returns the first IP/port pair that it encounters.

コマンド ラインからのインストール、アンインストール、実行Installing, Uninstalling, and Running from the Command Line

既定では、 SQL ServerSQL Server Browser プログラムは C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe にインストールされます。By default, the SQL ServerSQL Server Browser program is installed at C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.

SQL ServerSQL Server の最後のインスタンスを削除すると、 SQL ServerSQL Server Browser サービスがアンインストールされます。The SQL ServerSQL Server Browser service is uninstalled when the last instance of SQL ServerSQL Server is removed.

SQL ServerSQL Server Browser は、トラブルシューティングの目的で、コマンド プロンプトから -c スイッチを使用して起動できます。Browser can be started from the command prompt for troubleshooting, by using the -c switch:

<drive>\<path>\sqlbrowser.exe -c  

SecuritySecurity

アカウントの権限Account Privileges

SQL ServerSQL Server Browser は UDP ポートで受信待ちし、 SQL ServerSQL Server Resolution Protocol (SSRP) を使用して、認証されていない要求を受け入れます。Browser listens on a UDP port and accepts unauthenticated requests by using SQL ServerSQL Server Resolution Protocol (SSRP). SQL ServerSQL Server Browser を権限が制限されているユーザーのセキュリティ コンテキストで実行することにより、悪意のある攻撃にさらされる危険性を最小限に抑える必要があります。Browser should be run in the security context of a low privileged user to minimize exposure to a malicious attack. ログオン アカウントは SQL ServerSQL Server 構成マネージャーを使用して変更できます。The logon account can be changed by using the SQL ServerSQL Server Configuration Manager. SQL ServerSQL Server Browser の最小限のユーザー権限は次のとおりです。The minimum user rights for SQL ServerSQL Server Browser are the following:

  • ネットワークからこのコンピューターへのアクセスを拒否Deny access to this computer from the network

  • ローカルでのログオンを拒否Deny logon locally

  • バッチ ジョブとしてのログオンを拒否Deny Log on as a batch job

  • ターミナル サービス経由のログオンを拒否Deny Log On Through Terminal Services

  • サービスとしてログオンLog on as a service

  • ネットワーク通信に関連する SQL ServerSQL Server レジストリ キーの読み取りおよび書き込み (ポートおよびパイプ)Read and write the SQL ServerSQL Server registry keys related to network communication (ports and pipes)

既定のアカウントDefault Account

セットアップ プログラムは、セットアップ中にサービス用に選択したアカウントを SQL ServerSQL Server Browser が使用するように構成します。Setup configures SQL ServerSQL Server Browser to use the account selected for services during setup. 他に可能なアカウントは次のとおりです。Other possible accounts include the following:

  • すべての domain\local アカウントAny domain\local account

  • ローカル サービス アカウントThe local service account

  • ローカル システム アカウント (不要な権限があるので推奨しません)The local system account (not recommended as has unnecessary privileges)

SQL Server の非表示Hiding SQL Server

非表示インスタンスは、共有メモリ接続のみをサポートする SQL ServerSQL Server のインスタンスです。Hidden instances are instances of SQL ServerSQL Server that support only shared memory connections. SQL ServerSQL Serverの場合は、 HideInstance Browser がこのサーバー インスタンスに関する情報を返さないことを示すために SQL ServerSQL Server フラグを設定します。For SQL ServerSQL Server, set the HideInstance flag to indicate that SQL ServerSQL Server Browser should not respond with information about this server instance.

ファイアウォールの使用Using a Firewall

ファイアウォールの背後にある SQL ServerSQL Server Browser サービスと通信するには、 SQL ServerSQL Server で使用される TCP ポート (1433 など) のほかに UDP ポート 1434 も開きます。To communicate with the SQL ServerSQL Server Browser service on a server behind a firewall, open UDP port 1434, in addition to the TCP port used by SQL ServerSQL Server (e.g., 1433). ファイアウォールの使用方法については、 SQL ServerSQL Server オンライン ブックの「 SQL ServerSQL Server アクセスのためのファイアウォールの設定」を参照してください。For information about working with a firewall, see "How to: Configure a Firewall for SQL ServerSQL Server Access" in SQL ServerSQL Server Books Online.

参照See Also

ネットワーク プロトコルとネットワーク ライブラリNetwork Protocols and Network Libraries