SQL Server 데이터베이스 엔진에 대한 연결 문제 해결Troubleshoot Connecting to the SQL Server Database Engine

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server 데이터베이스 엔진에 연결할 수 없는 경우 사용할 문제 해결 기술의 전체 목록입니다.This is an exhaustive list of troubleshooting techniques to use when you cannot connect to the SQL Server Database Engine. 이러한 단계는 이미 시도한 가장 가능성이 높은 문제 순서가 아닙니다.These steps are not in the order of the most likely problems which you probably already tried. 가장 기본적인 문제에서 좀 더 복잡한 문제 순서로 표시됩니다.These steps are in order of the most basic problems to more complex problems. 이러한 단계에서는 TCP/IP 프로토콜을 사용하여 다른 컴퓨터에서 SQL Server에 연결한다고 가정하며, 이것이 가장 일반적인 상황입니다.These steps assume that you are connecting to SQL Server from another computer by using the TCP/IP protocol, which is the most common situation. Windows 10을 실행하는 클라이언트 응용 프로그램과 SQL Server 둘 다를 포함하는 SQL Server 2016용으로 작성되었지만 약간만 수정하면 다른 버전의 SQL Server와 다른 운영 체제에도 일반적으로 적용됩니다.These steps are written for SQL Server 2016 with both the SQL Server and the client applications running Windows 10, however the steps generally apply to other versions of SQL Server and other operating systems with only slight modifications.

이러한 지침은 오류: 11001(또는 53), 심각도: 20, 상태: 0 및 다음과 같은 오류 메시지일 수 있는 "서버에 연결" 오류 문제를 해결할 때 특히 유용합니다.These instructions are particularly useful when troubleshooting the "Connect to Server" error, which can be Error Number: 11001 (or 53), Severity: 20, State: 0, and error messages such as:

  • "SQL Server에 연결을 설정하는 중에 네트워크 또는 인스턴스 관련 오류가 발생했습니다."A network-related or instance-specific error occurred while establishing a connection to SQL Server. 서버를 찾을 수 없거나 액세스할 수 없습니다.The server was not found or was not accessible. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오.Verify that the instance name is correct and that SQL Server is configured to allow remote connections. ""

  • "(공급자: 명명된 파이프 공급자, 오류: 40 - SQL Server에 대한 연결을 열 수 없습니다.) (Microsoft SQL Server, 오류: 53)" 또는 "(공급자: TCP 공급자, 오류: 0 - 해당 호스트가 없습니다.) (Microsoft SQL Server, 오류: 11001)""(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 53)" or "(provider: TCP Provider, error: 0 - No such host is known.) (Microsoft SQL Server, Error: 11001)"

이 오류는 일반적으로 SQL Server 컴퓨터를 찾을 수 없거나, TCP 포트 번호를 알 수 없거나 올바른 포트 번호가 아니거나 방화벽에서 차단되었음을 의미합니다.This error usually means that the SQL Server computer can't be found or that the TCP port number is either not known, or is not the correct port number, or is blocked by a firewall.

대화형 문제 해결 페이지는 MicrosoftMicrosoft 고객 지원 서비스의 SQL Server에 대한 연결 오류 해결(영문)에서 사용할 수 있습니다.An interactive troubleshooting page is available from MicrosoftMicrosoft Customer Support Services at Solving Connectivity errors to SQL Server.

포함되지 않음Not included

SQL Server 인스턴스에 대한 정보 수집Gathering Information about the Instance of SQL Server

먼저 데이터베이스 엔진에 대한 기본 정보를 수집해야 합니다.First you must gather basic information about the database engine.

  1. SQL Server 데이터베이스 엔진 인스턴스가 설치되었으며 실행되고 있는지 확인합니다.Confirm the instance of the SQL Server Database Engine is installed and running.

    1. SQL Server 인스턴스를 호스트하는 컴퓨터에 로그온합니다.Logon to the computer hosting the instance of SQL Server.
    2. SQL Server 구성 관리자를 시작합니다.Start SQL Server Configuration Manager. 구성 관리자는 SQL Server를 설치할 때 컴퓨터에 자동으로 설치됩니다.(Configuration Manager is automatically installed on the computer when SQL Server is installed. 구성 관리자를 시작하는 방법에 대한 지침은 SQL Server 및 Windows 버전에 따라 약간씩 다릅니다.Instructions on starting Configuration Manager vary slightly by version of SQL Server and Windows. 구성 관리자를 시작하는 방법에 대한 도움말은 SQL Server 구성 관리자를 참조하세요.For help starting Configuration Manager, see SQL Server Configuration Manager.)
    3. 구성 관리자의 왼쪽 창에서 SQL Server 서비스를 선택합니다.Using Configuration Manager, in the left pane select SQL Server Services. 오른쪽 창에서 데이터베이스 엔진 인스턴스가 있고 실행되고 있는지 확인합니다.In the right-pane confirm that the instance of the Database Engine is present and running. 이름이 SQL Server (MSSQLSERVER) 인 인스턴스가 기본(명명되지 않은) 인스턴스입니다.An instance named SQL Server (MSSQLSERVER) is a default (unnamed) instance. 기본 인스턴스는 하나만 있을 수 있습니다.There can only be one default instance. 다른(명명된) 인스턴스의 이름은 괄호 안에 표시됩니다.Other (named) instances will have their names listed between the parentheses. SQL Server Express는 설치 중에 다른 사용자가 다른 이름으로 지정하지 않은 경우 SQL Server (SQLEXPRESS) 라는 이름을 인스턴스 이름으로 사용합니다.SQL Server Express uses the name SQL Server (SQLEXPRESS) as the instance name unless someone named it something else during installation. 연결하려는 인스턴스의 이름을 적어둡니다.Make a note of the name of the instance that you are trying to connect to. 또한 녹색 화살표를 찾아 인스턴스가 실행되고 있는지 확인합니다.Also, confirm that the instance is running, by looking for the green arrow. 인스턴스에 빨간색 사각형이 있는 경우 인스턴스를 마우스 오른쪽 단추로 클릭한 다음 시작을 클릭합니다.If the instance has a red square, right-click the instance and then click Start. 녹색으로 바뀝니다.It should turn green.
      1. 명명된 인스턴스에 연결하려는 경우 SQL Server Browser 서비스가 실행되고 있는지 확인합니다.If you are attempting to connect to a named instance, make sure the SQL Server Browser service is running.
  2. 컴퓨터의 IP 주소를 가져옵니다.Get the IP Address of the computer.

    1. 시작 메뉴에서 실행을 클릭합니다.On the Start menu, click Run. 실행 창에서 cmd를 입력하고 확인을 클릭합니다.In the Run window type cmd, and then click OK.
    2. 명령 프롬프트 창에서 ipconfig 를 입력하고 Enter 키를 누릅니다.In the command prompt window, type ipconfig and then press enter. IPv4 주소와 IPv6 주소를 적어둡니다.Make a note of the IPv4 Address and the IPv6 Address. SQL Server는 이전 IP 버전 4 프로토콜 또는 최신 IP 버전 6 프로토콜을 사용하여 연결할 수 있습니다.(SQL Server can connect using the older IP version 4 protocol or the newer IP version 6 protocol. 네트워크에서 둘 중 하나 또는 둘 다를 허용할 수 있습니다.Your network could allow either or both. 대부분의 사용자는 먼저 IPv4 주소의 문제를 해결합니다.Most people start by troubleshooting the IPv4 address. 이것이 더 간결하고 입력하기 쉽습니다.It's shorter and easier to type.)
  3. SQL Server에서 사용하는 TCP 포트 번호를 가져옵니다.Get the TCP port number used by SQL Server. 대부분의 경우 TCP 프로토콜을 사용하여 다른 컴퓨터에서 데이터베이스 엔진에 연결합니다.In most cases you are connecting to the Database Engine from another computer using the TCP protocol.

    1. SQL Server를 실행하는 컴퓨터에서 SQL Server Management Studio를 사용하여 SQL Server 인스턴스에 연결합니다.Using SQL Server Management Studio on the computer running SQL Server, connect to the instance of SQL Server. 개체 탐색기에서 관리, SQL Server 로그를 차례로 확장하고 현재 로그를 두 번 클릭합니다.In Object Explorer, expand Management, expand SQL Server Logs, and then double-click the current log.
    2. 로그 뷰어의 도구 모음에서 필터 단추를 클릭합니다.In the Log Viewer, click the Filter button on the toolbar. 메시지에 텍스트 포함 상자에 서버가 수신 대기 중입니다.를 입력하고 필터 적용을 클릭한 다음 확인을 클릭합니다.In the Message contains text box, type server is listening on, click Apply filter, and then click OK.
    3. 서버에서 [ 'any' <ipv4> 1433]을 수신하고 있습니다.와 비슷한 메시지가 표시되어야 합니다.A message similar to Server is listening on [ 'any' <ipv4> 1433] should be listed. 이 메시지는 이 SQL Server 인스턴스가 이 컴퓨터의 모든 IP 주소(IP 버전 4)에서 수신 대기 중이며 TCP 포트 1433을 수신 대기 중음을 나타냅니다.This message indicates that this instance of SQL Server is listening on all the IP addresses on this computer (for IP version 4) and is listening to TCP port 1433. TCP 포트 1433은 일반적으로 데이터베이스 엔진에서 사용하는 포트입니다.(TCP port 1433 is usually the port used by the Database Engine. SQL Server 인스턴스 하나만 포트를 사용할 수 있으므로 SQL Server 인스턴스가 둘 이상 설치되어 있을 경우 일부 인스턴스는 다른 포트 번호를 사용해야 합니다. 연결하려는 SQL ServerSQL Server 인스턴스에서 사용하는 포트 번호에 대해 적어둡니다.Only one instance of SQL Server can use a port, so if there is more than one instance of SQL Server installed, some instances must use other port numbers.) Make a note of the port number used by the instance of SQL ServerSQL Server that you are trying to connect to.
    참고

    IP 주소 127.0.0.1이 표시될 가능성이 큽니다.IP address 127.0.0.1 is probably listed. 이 주소는 루프백 어댑터 주소라고 하며 동일한 컴퓨터의 프로세스에서만 연결할 수 있습니다.It is called the loopback adapter address and can only be connected to from processes on the same computer. 문제 해결에 유용할 수 있지만 다른 컴퓨터에서 연결하는 데 사용할 수 없습니다.It can be useful for troubleshooting, but you can’t use it to connect from another computer.

프로토콜 사용Enable Protocols

일부 SQL Server 설치에서는 관리자가 구성 관리자를 통해 사용하도록 설정하지 않을 경우 다른 컴퓨터에서 데이터베이스 엔진에 연결할 수 없습니다.In some installations of SQL Server, connecting to the Database Engine from another computer is not enabled unless an administrator uses Configuration Manager to enable it. 다른 컴퓨터에서 연결할 수 있게 하려면To enable connections from another computer:

  1. 앞에서 설명한 대로 SQL Server 구성 관리자를 엽니다.Open SQL Server Configuration Manager, as described earlier.
  2. 구성 관리자의 왼쪽 창에서 SQL Server 네트워크 구성을 확장하고 연결할 SQL Server 인스턴스를 선택합니다.Using Configuration Manager, in the left pane expand SQL Server Network Configuration, and then select the instance of SQL Server that you want to connect to. 오른쪽 창에는 사용할 수 있는 연결 프로토콜이 표시됩니다.The right-pane lists the connection protocols available. 공유 메모리는 일반적으로 사용할 수 있습니다.Shared Memory is normally enabled. 동일한 컴퓨터에서만 사용할 수 있으므로 대부분의 설치에서 공유 메모리를 사용할 수 있도록 유지됩니다.It can only be used from the same computer, so most installations leave Shared Memory enabled. 다른 컴퓨터에서 SQL Server에 연결하려면 일반적으로 TCP/IP를 사용합니다.To connect to SQL Server from another computer you will normally use TCP/IP. TCP/IP를 사용할 수 없는 경우 TCP/IP를 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.If TCP/IP is not enabled, right-click TCP/IP, and then click Enable.
  3. 모든 프로토콜에 대해 사용 설정을 변경했으면 데이터베이스 엔진을 다시 시작해야 합니다.If you changed the enabled setting for any protocol you must restart the Database Engine. 왼쪽 창에서 SQL Server 서비스를 선택합니다.In the left pane select SQL Server Services. 오른쪽 창에서 데이터베이스 엔진 인스턴스를 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 클릭합니다.In the right-pane, right-click the instance of the Database Engine, and then click Restart.

TCP/IP 연결 테스트Testing TCP/IP Connectivity

TCP/IP를 사용하여 SQL Server에 연결하려면 Windows에서 연결을 설정할 수 있어야 합니다.Connecting to SQL Server by using TCP/IP requires that Windows can establish the connection. ping 도구를 사용하여 TCP를 테스트합니다.Use the ping tool to test TCP.

  1. 시작 메뉴에서 실행을 클릭합니다.On the Start menu, click Run. 실행 창에서 cmd를 입력하고 확인을 클릭합니다.In the Run window type cmd, and then click OK.
  2. 명령 프롬프트 창에서 ping 과 SQL Server를 실행하는 컴퓨터의 IP 주소를 입력합니다.In the command prompt window, type ping and then the IP address of the computer that is running SQL Server. 예를 들어 IPv4 주소를 사용하는 경우 ping 192.168.1.101 , IPv6 주소를 사용하는 경우 ping fe80::d51d:5ab5:6f09:8f48%11 를 입력합니다.For example, ping 192.168.1.101 using an IPv4 address, or ping fe80::d51d:5ab5:6f09:8f48%11 using an IPv6 address. ping 뒤의 숫자를 앞에서 수집한 컴퓨터의 IP 주소로 바꾸어야 합니다.(You must replace the numbers after ping with the IP addresses on your computer which you gathered earlier.)
  3. 네트워크가 올바르게 구성되었으면 일부 추가 정보가 뒤에 포함된 <IP 주소>에서 회신과 같은 응답을 받게 됩니다.If your network is properly configured you will receive a response such as Reply from <IP address> followed by some additional information. 대상 호스트에 연결할 수 없습니다.If you receive an error such as Destination host unreachable. 또는 요청 시간이 초과되었습니다.or Request timed out. 와 같은 오류가 발생하는 경우TCP/IP가 올바르게 구성되지 않은 것입니다.then TCP/IP is not correctly configured. IP 주소가 맞고 올바르게 입력되었는지 확인합니다. 이 시점의 오류는 클라이언트 컴퓨터, 서버 컴퓨터 또는 라우터 등의 네트워크 관련 문제를 나타낼 수 있습니다.(Check that the IP address was correct and was correctly typed.) Errors at this point could indicate a problem with the client computer, the server computer, or something about the network such as a router. 인터넷에 TCP/IP 문제를 해결하기 위한 여러 리소스가 있습니다.The internet has many resources for troubleshooting TCP/IP. 2006년의 기본적인 TCP/IP 문제를 해결하는 방법문서에서 시작하는 것이 좋습니다.A resonable place to start, is this article from 2006, How to Troubleshoot Basic TCP/IP Problems.
  4. 그런 다음 IP 주소를 사용하여 ping 테스트에 성공한 경우 컴퓨터 이름을 TCP/IP 주소를 확인할 수 있는지 테스트합니다.Next, if the ping test succeeded using the IP address, test that the computer name can be resolved to the TCP/IP address. 클라이언트 컴퓨터의 명령 프롬프트 창에서 ping 과 SQL Server를 실행하는 컴퓨터의 컴퓨터 이름을 입력합니다.On the client computer, in the command prompt window, type ping and then the computer name of the computer that is running SQL Server. 예를 들어 IPv4 주소를 사용하는 경우 ping newofficepcFor example, ping newofficepc
  5. ipaddress를 ping할 수 있지만 대상 호스트에 연결할 수 없습니다.와 같은 오류를 수신합니다.If you could ping the ipaddress, but noww receive an error such as Destination host unreachable. 또는 요청 시간이 초과되었습니다.or Request timed out. 와 같은 오류가 발생하는 경우 클라이언트 컴퓨터에 이전(오래된) 이름 확인 정보가 캐시되어 있을 수 있습니다.you might have old (stale) name resolution information cached on the client computer. ipconfig /flushdns 를 입력하여 DNS(동적 이름 확인) 캐시를 지웁니다.Type ipconfig /flushdns to clear the DNS (Dynamic Name Resolution) cache. 다시 이름으로 컴퓨터를 ping합니다.Then ping the computer by name again. DNS 캐시가 비어 있으므로 클라이언트 컴퓨터가 서버 컴퓨터의 IP 주소에 대한 최신 정보를 확인합니다.With the DNS cache empty, the client computer will check for the newest information about the IP address for the server computer.
  6. 네트워크가 올바르게 구성되었으면 일부 추가 정보가 뒤에 포함된 <IP 주소>에서 회신과 같은 응답을 받게 됩니다.If your network is properly configured you will receive a response such as Reply from <IP address> followed by some additional information. IP 주소로 서버 컴퓨터를 ping할 수 있지만 컴퓨터 이름으로 ping할 때 대상 호스트에 연결할 수 없습니다.If you can successfully ping the server computer by IP address but receive an error such as Destination host unreachable. 또는 요청 시간이 초과되었습니다.or Request timed out. 등의 오류가 발생하는 경우 이름 확인이 올바르게 구성되지 않은 것입니다.when pinging by computer name, then name resolution is not correctly configured. 자세한 내용은 앞에서 참조한 2006년 문서 기본적인 TCP/IP 문제를 해결하는 방법을 참조하세요. SQL Server에 연결하기 위해 이름 확인에 성공해야 하는 것은 아니지만 컴퓨터 이름을 IP 주소로 확인할 수 없는 경우 IP 주소를 지정하여 연결해야 합니다.(For more information, see the 2006 article previously referenced, How to Troubleshoot Basic TCP/IP Problems.) Successful name resolution is not required to connect to SQL Server, but if the computer name cannot be resolved to an IP address, then connections must be made specifying the IP address. 이상적인 상태는 아니지만 나중에 이름 확인을 수정할 수 있습니다.This is not ideal, but name resolution can be fixed later.

로컬 연결 테스트Testing a Local Connection

다른 컴퓨터에서 연결 문제를 해결하기 전에 먼저 SQL Server를 실행하는 컴퓨터에 설치된 클라이언트 응용 프로그램에서 연결할 수 있는지 테스트합니다.Before troubleshooting a connection problem from another computer, first test your ability to connect from a client application installed on the computer that is running SQL Server. 이렇게 하면 방화벽 문제가 개입되지 않습니다. 이 절차에서는 SQL Server Management Studio를 사용합니다.(This will keep firewall issues out of the way.) This procedure uses SQL Server Management Studio. Management Studio가 설치되어 있지 않으면 SSMS(SQL Server Management Studio) 다운로드를 참조하세요.If you do not have Management Studio installed, see Download SQL Server Management Studio (SSMS). Management Studio를 설치할 수 없는 경우 데이터베이스 엔진과 함께 설치된 sqlcmd.exe 유틸리티를 사용하여 연결을 테스트할 수 있습니다.(If you are not able to install Management Studio, you can test the connection using the sqlcmd.exe utility which is installed with the Database Engine. sqlcmd.exe에 대한 자세한 내용은 sqlcmd 유틸리티를 참조하세요.For information about sqlcmd.exe, see sqlcmd Utility.)

  1. SQL Server에 액세스할 수 있는 권한을 가진 로그인을 사용하여 SQL Server가 설치된 컴퓨터에 로그온합니다.Logon to the computer where SQL Server is installed, using a login that has permission to access SQL Server. 설치 중 SQL Server에 대해 하나 이상의 로그인을 SQL Server 관리자로 지정해야 합니다.(During installation, SQL Server requires at least one login to be specified as a SQL Server Administrator. 관리자를 모르는 경우 시스템 관리자가 잠겨 있는 경우 SQL Server에 연결을 참조하세요.If you do not know an administrator, see Connect to SQL Server When System Administrators Are Locked Out.)
  2. 시작 페이지에서 SQL Server Management Studio를 입력하거나, 이전 버전의 Windows 시작 메뉴에서 모든 프로그램, Microsoft SQL Server를 차례로 가리킨 다음 SQL Server Management Studio를 클릭합니다.On the Start page, type SQL Server Management Studio, or on older versions of Windows on the Start menu, point to All Programs, point to Microsoft SQL Server, and then click SQL Server Management Studio.
  3. 서버에 연결 대화 상자의 서버 유형 상자에서 데이터베이스 엔진을 선택합니다.In the Connect to Server dialog box, in the Server type box, select Database Engine. 인증 상자에서 Windows 인증을 선택합니다.In the Authentication box, select Windows Authentication. 서버 이름 상자에 다음 중 하나를 입력합니다.In the Server name box, type one of the following:
연결 대상:Connecting to: 유형:Type: 예:Example:
기본 인스턴스Default instance 컴퓨터 이름The computer name ACCNT27ACCNT27
명명된 인스턴스Named Instance 컴퓨터 이름\인스턴스 이름The computer name\instance name ACCNT27\PAYROLLACCNT27\PAYROLL
참고

동일한 컴퓨터의 클라이언트 응용 프로그램에서 SQL Server에 연결하는 경우 공유 메모리 프로토콜이 사용됩니다.When connecting to a SQL Server from a client application on the same computer, the shared memory protocol is used. 공유 메모리는 명명된 로컬 파이프의 한 유형이므로 때때로 파이프와 관련된 오류가 발생합니다.Shared memory is a type of local named pipe, so sometimes errors regarding pipes are encountered.

이 시점에서 오류가 발생하면 계속하기 전에 해결해야 합니다.If you receive an error at this point, you will have to resolve it before proceeding. 문제가 될 수 있는 여러 가지 사항이 있습니다.There are many possible things that could be a problem. 로그인에 연결 권한이 없을 수 있습니다.Your login might not be authorized to connect. 기본 데이터베이스가 누락되었을 수도 있습니다.Your default database might be missing.

참고

클라이언트에 전달되는 일부 오류 메시지는 의도적으로 문제 해결에 충분한 정보를 제공하지 않습니다.Some error messages passed to the client intentionally do not give enough information to troubleshoot the problem. 이는 공격자에게 SQL Server에 대한 정보를 제공하지 않기 위한 보안 기능입니다.This is a security feature to avoid providing an attacker with information about SQL Server. 오류에 대한 전체 정보를 보려면 SQL Server 오류 로그를 확인하세요.To view the complete information about the error, look in the SQL Server error log. 여기에 세부 정보가 제공됩니다.The details are provided there. 18456 사용자가 로그인하지 못했습니다.오류가 발생하는 경우 온라인 설명서 항목 MSSQLSERVER_18456 에 오류 코드에 대한 추가 정보가 포함되어 있습니다.If you are receiving error 18456 Login failed for user, Books Online topic MSSQLSERVER_18456 contains additional information about error codes. 또한 Aaron Bertrand 블로그의 오류 18456 문제 해결에는 광범위한 오류 목록이 있습니다.And Aaron Bertrand's blog has a very extensive list of error codes at Troubleshooting Error 18456. 개체 탐색기의 관리 섹션에서 SSMS를 사용하여 오류 로그를 볼 수 있습니다(연결할 수 있는 경우).You can view the error log with SSMS (if you can connect), in the Management section of the Object Explorer. 또는 Windows 메모장 프로그램을 사용하여 오류 로그를 볼 수 있습니다.Otherwise, you can view the error log with the Windows Notepad program. 기본 위치는 사용 중인 버전에 따라 달라지며, 설치하는 동안 변경할 수 있습니다.The default location varies with your version and can be changed during setup. SQL Server 2016SQL Server 2016 의 기본 위치는 C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ERRORLOG입니다.The default location for SQL Server 2016SQL Server 2016 is C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ERRORLOG.

  1. 공유 메모리를 사용하여, 연결할 수 있는 경우 TCP를 사용하여 연결을 테스트합니다.If you can connect using shared memory, test connecting using TCP. 이름 앞에 tcp: 를 지정하여 강제로 TCP 연결을 적용할 수 있습니다.You can force a TCP connection by specifying tcp: before the name. 예를 들어For example:
연결 대상:Connecting to: 유형:Type: 예:Example:
기본 인스턴스Default instance tcp: 컴퓨터 이름tcp: The computer name tcp:ACCNT27tcp:ACCNT27
명명된 인스턴스Named Instance tcp: 컴퓨터 이름/인스턴스 이름tcp: The computer name/instance name tcp:ACCNT27\PAYROLLtcp:ACCNT27\PAYROLL

공유 메모리를 사용하여 연결할 수 있지만 TCP로는 연결할 수 없는 경우 TCP 문제를 해결해야 합니다.If you can connect with shared memory but not TCP, then you must fix the TCP problem. 가장 가능성이 큰 문제는 TCP를 사용할 수 없기 때문입니다.The most likely issue is that TCP is not enabled. TCP를 사용하도록 설정하려면 위의 프로토콜 사용 단계를 참조하세요.To enable TCP, See the Enable Protocols steps above.

  1. 관리자 계정이 아닌 계정으로 연결하는 것이 목표인 경우 관리자 권한으로 연결할 수 있으면 Windows 인증 로그인 또는 클라이언트 응용 프로그램에서 사용하는 SQL Server 인증 로그인으로 다시 연결해 보세요.If your goal is to connect with an account other than an administrator account, once you can connect as an administrator, try the connection again using the Windows Authentication login or the SQL Server Authentication login that the client application will be using.

방화벽에서 포트 열기Opening a Port in the Firewall

몇 년 전에 Windows XP 서비스 팩 2부터 Windows 방화벽이 설정되었으며 다른 컴퓨터의 연결을 차단합니다.Beginning many years ago with Windows XP Service Pack 2, the Windows firewall is turned on and will block connections from another computer. 다른 컴퓨터에서 TCP/IP를 사용하여 연결하려면 SQL Server 컴퓨터에서 데이터베이스 엔진이 사용하는 TCP 포트에 대한 연결을 허용하도록 방화벽을 구성해야 합니다.To connect using TCP/IP from another computer, on the SQL Server computer you must configure the firewall to allow connections to the TCP port used by the Database Engine. 앞에서 설명한 대로 기본 인스턴스는 일반적으로 TCP 포트 1433에서 수신합니다.As mentioned earlier, the default instance is usually listening on TCP port 1433. 명명된 인스턴스가 있거나, 기본값을 변경한 경우 SQL ServerSQL Server TCP 포트는 다른 포트에서 수신할 수도 있습니다.If you have named instances or if you changed the default, the SQL ServerSQL Server TCP port may be listening on another port. 포트를 결정하는 정보 수집에 대한 내용은 시작 섹션을 참조하세요.See the beginining section on gathering information to determine your port.
명명된 인스턴스 또는 TCP 포트 1433 이외의 포트에 연결하는 경우 SQL Server Browser 서비스에 대해 UDP 포트 1434도 열어야 합니다.If you are connecting to a named instance or a port other than TCP port 1433, you must also open the UDP port 1434 for the SQL Server Browser service. Windows 방화벽에서 포트를 여는 방법에 대한 단계별 지침은 데이터베이스 엔진 액세스에 대한 Windows 방화벽 구성을 참조하세요.For step by step instruction on opening a port in the Windows firewall, see Configure a Windows Firewall for Database Engine Access.

연결 테스트Testing the Connection

동일한 컴퓨터에서 TCP를 사용하여 연결할 수 있으면 클라이언트 컴퓨터에서 연결을 시도해야 합니다.Once you can connect using TCP on the same computer, it's time to try connecting from the client computer. 이론적으로는 모든 클라이언트 응용 프로그램을 사용할 수 있지만 추가 복잡성을 방지하기 위해 클라이언트에 SQL Server 관리 도구를 설치하고 SQL Server Management Studio를 사용하여 연결을 시도합니다.You could theoretically use any client application, but to avoid additional complexity, install the SQL Server Management tools on the client and make the attempt using SQL Server Management Studio.

  1. 클라이언트 컴퓨터에서 SQL Server Management Studio를 사용하여 IP 주소 쉼표 포트 번호 형식의 IP 주소와 TCP 포트 번호로 연결을 시도합니다.On the client computer, using SQL Server Management Studio, attempt to connect using the IP Address and the TCP port number in the format IP address comma port number. 예를 들면 192.168.1.101,1433 과 같습니다. 작동하지 않을 경우 다음 문제 중 하나가 있는 것입니다.For example, 192.168.1.101,1433 If this doesn't work, then you probably have one of the following problems:

    • IP 주소의Ping 이 작동하지 않으며 일반적인 TCP 구성 문제를 나타냅니다.Ping of the IP address doesn't work, indicating a general TCP configuration problem. TCP/IP 연결 테스트섹션으로 돌아갑니다.Go back to the section Testing TCP/IP Connectivity.
    • SQL Server가 TCP 프로토콜에서 수신 대기하고 있지 않습니다.SQL Server is not listening on the TCP protocol. 프로토콜 사용섹션으로 돌아갑니다.Go back to the section Enable Protocols.
    • SQL Server가 지정한 포트 이외의 포트에서 수신 대기 중입니다.SQL Server is listening on a port other than the port you specified. SQL Server 인스턴스에 대한 정보 수집섹션으로 돌아갑니다.Go back to the section Gathering Information about the Instance of SQL Server.
    • SQL Server TCP 포트가 방화벽에 의해 차단되고 있습니다.The SQL Server TCP port is being blocked by the firewall. 방화벽에서 포트 열기섹션으로 돌아갑니다.Go back to the section Opening a Port in the Firewall.
  2. IP 주소와 포트 번호를 사용하여 연결할 수 있으면 포트 번호 없이 IP 주소를 사용하여 연결을 시도합니다.Once you can connect using the IP address and port number, attempt to connect using the IP address without a port number. 기본 인스턴스의 경우 IP 주소만 사용합니다.For a default instance, just use the IP address. 명명된 인스턴스의 경우 IP 주소 백슬래시 인스턴스 이름 형식으로 IP 주소와 인스턴스 이름을 사용합니다(예: 192.168.1.101\PAYROLL ). 작동하지 않을 경우 다음 문제 중 하나가 있는 것입니다.For a named instance, use the IP address and the instance name in the format IP address backslash instance name, for example 192.168.1.101\PAYROLL If this doesn't work, then you probably have one of the following problems:

    • 기본 인스턴스에 연결하는 경우 TCP 포트 1433 이외의 포트에서 수신 대기 중일 수 있으며 클라이언트가 올바른 포트 번호에 연결하고 있지 않습니다.If you are connecting to the default instance, it might be listening on a port other than TCP port 1433, and the client isn't attempting to connect to the correct port number.
    • 명명된 인스턴스에 연결하는 경우 포트 번호가 클라이언트에 반환되고 있지 않습니다.If you are connecting to a named instance, the port number is not being returned to the client.

이러한 문제는 둘 다 클라이언트에 포트 번호를 제공하는 SQL Server Browser 서비스와 관련이 있습니다.Both of these problems are related to the SQL Server Browser service, which provides the port number to the client. 해결 방법은 다음과 같습니다.The solutions are:

  • SQL Server Browser 서비스를 시작합니다.Start the SQL Server Browser service. 섹션 1.d, SQL Server 인스턴스에 대한 정보 수집섹션으로 돌아갑니다.Go back to the section Gathering Information about the Instance of SQL Server, section 1.d.
  • SQL Server Browser 서비스가 방화벽에 의해 차단되고 있습니다.The SQL Server Browser service is being blocked by the firewall. 방화벽에서 UDP 포트 1434를 엽니다.Open UDP port 1434 in the firewall. 방화벽에서 포트 열기섹션으로 돌아갑니다.Go back to the section Opening a Port in the Firewall. (TCP 포트가 아니라 UDP 포트를 열고 있는지 확인하세요.(Make sure you are opening a UDP port, not a TCP port. 두 포트는 다릅니다.)Those are different things.)
  • UDP 포트 1434 정보가 라우터에 의해 차단되고 있습니다.The UDP port 1434 information is being blocked by a router. UDP 통신(사용자 데이터그램 프로토콜)은 라우터를 통과하도록 설계되지 않았습니다.UDP communication (user datagram protocol) is not designed to pass through routers. 이는 우선 순위가 낮은 트래픽이 네트워크를 채우지 않도록 합니다.This keeps the network from getting filled with low priority traffic. UDP 트래픽을 전달하도록 라우터를 구성하거나, 연결 시 항상 포트 번호를 제공하도록 결정할 수 있습니다.You might be able to configure your router to forward UDP traffic, or you can decide to always provide the port number when you connect.
  • 클라이언트 컴퓨터에서 Windows 7 또는 Windows Server 2008(또는 최신 운영 체제)을 사용하는 경우 서버 응답이 쿼리된 IP 주소가 아닌 다른 IP 주소에서 반환되기 때문에 클라이언트 운영 체제에서 UDP 트래픽을 삭제할 수 있습니다.If the client computer is using Windows 7 or Windows Server 2008, (or a more recent operating system,) the UDP traffic might be dropped by the client operating system because the response from the server is returned from a different IP address than was queried. 이는 "느슨한 원본 매핑"을 차단하는 보안 기능입니다.This is a security feature blocking "loose source mapping." 자세한 내용은 온라인 설명서 항목 문제 해결: 제한 시간이 만료되었습니다.여러 서버 IP 주소섹션을 참조하세요.For more information, see the Multiple Server IP Addresses section of the Books Online topic Troubleshooting: Timeout Expired. SQL Server 2008 R2의 문서이지만 원칙은 똑같이 적용됩니다.This is an article from SQL Server 2008 R2, but the principals still apply. 올바른 IP 주소를 사용하도록 클라이언트를 구성하거나, 연결 시 항상 포트 번호를 제공하도록 결정할 수 있습니다.You might be able to configure the client to use the correct IP address, or you can decide to always provide the port number when you connect.
  1. IP 주소(또는 명명된 인스턴스의 IP 주소 및 인스턴스 이름)을 사용하여 연결할 수 있으면 컴퓨터 이름(또는 명명된 인스턴스의 경우 컴퓨터 이름 및 인스턴스 이름)을 사용하여 연결을 시도합니다.Once you can connect using the IP address (or IP address and instance name for a named instance), attempt to connect using the computer name (or computer name and instance name for a named instance). TCP/IP 연결을 강제로 적용하려면 컴퓨터 이름 앞에 tcp: 를 넣습니다.Put tcp: in front of the computer name to force a TCP/IP connection. 예를 들어 ACCNT27컴퓨터에 있는 기본 인스턴스의 경우 tcp:ACCNT27 을 사용합니다. 해당 컴퓨터에 있는 PAYROLL이라는 명명된 인스턴스의 경우 tcp:ACCNT27\PAYROLL 을 사용합니다. IP 주소를 사용하여 연결할 수 있지만 컴퓨터 이름을 사용해서는 연결할 수 없는 경우 이름 확인 문제가 있는 것입니다.For example, for the default instance on a computer named ACCNT27, use tcp:ACCNT27 For a named instance called PAYROLL, on that computer use tcp:ACCNT27\PAYROLL If you can connect using the IP address but not using the computer name, then you have a name resolution problem. 섹션 4, TCP/IP 연결 테스트섹션으로 돌아갑니다.Go back to the section Testing TCP/IP Connectivity, section 4.

  2. 컴퓨터 이름을 사용해서 TCP를 강제로 적용하여 연결할 수 있으면 컴퓨터 이름을 사용하되 TCP를 강제로 적용하지 않고 연결을 시도합니다.Once you can connect using the computer name forcing TCP, attempt connecting using the computer name but not forcing TCP. 예를 들어 기본 인스턴스의 경우 CCNT27 등의 컴퓨터 이름만 사용합니다. 명명된 인스턴스의 경우 ACCNT27\PAYROLL 등의 컴퓨터 이름과 인스턴스 이름을 사용합니다. TCP를 강제로 적용할 때는 연결할 수 있었지만 TCP를 강제로 적용하지 않으면 연결할 수 없는 경우 클라이언트가 다른 프로토콜(예: 명명된 파이프)을 사용 중일 수 있습니다.For example, for a default instance use just the computer name such as CCNT27 For a named instance use the computer name and instance name like ACCNT27\PAYROLL If you could connect while forcing TCP, but not without forcing TCP, then the client is probably using another protocol (such as named pipes).

    1. 클라이언트 컴퓨터에서 SQL Server 구성 관리자를 사용하고 왼쪽 창에서 SQL Native Client version 구성을 확장한 다음 클라이언트 프로토콜을 선택합니다.On the client computer, using SQL Server Configuration Manager, in the left-pane expand SQL Native Client version Configuration, and then select Client Protocols.
    2. 오른쪽 창에서 TCP/IP를 사용할 수 있는지 확인합니다.On the right-pane, Make sure TCP/IP is enabled. TCP/IP를 사용할 수 없는 경우 TCP/IP 를 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.If TCP/IP is disabled, right-click TCP/IP and then click Enable.
    3. TCP/IP의 프로토콜 순서가 명명된 파이프(또는 이전 버전의 VIA) 프로토콜보다 작은 숫자인지 확인합니다.Make sure that the protocol order for TCP/IP is a smaller number that the named pipes (or VIA on older versions) protocols. 일반적으로 공유 메모리를 순서 1, TCP/IP를 순서 2로 유지해야 합니다.Generally you should leave Shared Memory as order 1 and TCP/IP as order 2. 공유 메모리는 클라이언트와 SQL Server가 동일한 컴퓨터에서 실행되는 경우에만 사용됩니다.Shared memory is only used when the client and SQL Server are running on the same computer. 동일한 컴퓨터에 대한 연결이 아닐 때 공유 메모리를 건너뛰는 경우를 제외하고 하나가 성공할 때까지 사용 가능한 모든 프로토콜이 순서대로 시도됩니다.All enabled protocols are tried in order until one succeeds, except that shared memory is skipped when the connection is not to the same computer.