SQL Server Browser 서비스(데이터베이스 엔진 및 SSAS)SQL Server Browser Service (Database Engine and SSAS)

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 브라우저는 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 2000SQL Server 2000이전에는 컴퓨터 한 대에 SQL ServerSQL Server 인스턴스를 하나만 설치할 수 있었습니다.Prior to SQL Server 2000SQL Server 2000, only one instance of SQL ServerSQL Server could be installed on a computer. SQL ServerSQL Server 는 공식 IANA(Internet Assigned Numbers Authority)에서 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 인스턴스 하나만 포트를 사용할 수 있으므로 SQL Server 2000SQL Server 2000 에서 처음으로 여러 SQL ServerSQL Server인스턴스를 지원하게 되자 UDP 포트 1434로 수신하기 위해 SSRP( SQL ServerSQL Server Resolution Protocol)가 개발되었습니다.Only one instance of SQL ServerSQL Server can use a port, so when SQL Server 2000SQL Server 2000 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 2005SQL Server 2005 Browser 서비스가 SSRP를 대신하여 SQL ServerSQL Server 에 도입되었습니다.To resolve limitations of the SSRP system, SQL Server 2005SQL Server 2005 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 인스턴스 하나에서만 포트나 파이프를 사용할 수 있으므로 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는 기본 인스턴스에 대한 포트 정보는 반환하지 않습니다.The SQL ServerSQL Server Browser does not return port information for the default instance.

SQL ServerSQL Server Browser 서비스를 시작 및 중지하는 방법은 데이터베이스 엔진, SQL Server 에이전트 또는 SQL Server Browser 서비스 시작, 중지, 일시 중지, 재개, 다시 시작을 참조하세요.For information about starting and stopping the SQL ServerSQL Server Browser service, see Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent, or SQL Server Browser Service.

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).

  • 다시 연결하기 위해 다른 구성 요소에서 나중에 사용할 수 있는 server\instance 정보를 생성하거나 전달하는 구성 요소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을 사용하지 않을 경우 명명된 인스턴스나 기본 인스턴스에 대한 DACDAC 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, 엔터프라이즈 관리자 또는 쿼리 분석기에 서버 열거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.

ClusteringClustering

SQL ServerSQL Server Browser는 클러스터형 리소스가 아니며 클러스터 노드 간 장애 조치(Failover)를 지원하지 않으므로 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.

참고

IP_ANY에서 수신할 경우 SQL ServerSQL Server Browser는 처음 발견되는 IP/포트 쌍을 반환하므로 사용자가 IP마다 같은 TCP 포트를 구성해야 하는 특정 IP에서 수신하도록 설정할 수 있습니다.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  

보안Security

계정 권한Account Privileges

SQL ServerSQL Server Browser는 UDP 포트에서 수신하고 SSRP( SQL ServerSQL Server Resolution Protocol)를 사용하여 인증되지 않은 요청을 허용합니다. 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 플래그를 설정하여 SQL ServerSQL Server Browser에서 이 서버 인스턴스에 대한 정보를 사용하여 응답할 수 없음을 나타내십시오.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 서비스와 통신하려면 UDP 포트 1434 및 SQL ServerSQL Server 에 사용되는 1433 등의 TCP 포트를 여십시오.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