서버 네트워크 프로토콜 설정 또는 해제Enable or Disable a Server Network Protocol

기본적으로 SQL ServerSQL Server 설치 프로그램에서는 모든 네트워크 프로토콜이 설치되지만 일부 프로토콜이 설정되거나 설정되지 않을 수 있습니다.All network protocols are installed by SQL ServerSQL Server Setup, but may or may not be enabled. 이 항목에서는 SQL Server 2017SQL Server 2017 에서 SQL ServerSQL Server 구성 관리자 또는 PowerShell을 사용하여 서버 네트워크 프로토콜을 설정하거나 해제하는 방법에 대해 설명합니다.This topic describes how to enable or disable a server network protocol in SQL Server 2017SQL Server 2017 by using SQL ServerSQL Server Configuration Manager or PowerShell. 변경 내용을 적용하려면 데이터베이스 엔진Database Engine 을 중지한 뒤 다시 시작해야 합니다.The 데이터베이스 엔진Database Engine must be stopped and restarted for the change to take effect.

중요

SQL Server ExpressSQL Server Express 설치 중에 BUILTIN\Users 그룹에 대한 로그인이 추가됩니다.During setup of SQL Server ExpressSQL Server Express a login is added for the BUILTIN\Users group. 이 로그인을 사용하면 컴퓨터의 모든 인증된 사용자가 public 역할의 멤버로 SQL Server ExpressSQL Server Express 인스턴스에 액세스할 수 있습니다.This allows all authenticated users of the computer to access the instance of SQL Server ExpressSQL Server Express as a member of the public role. BUILTIN\Users 로그인은 개별 로그인이 있거나 로그인이 있는 기타 Windows 그룹의 멤버인 컴퓨터 사용자에 대한 데이터베이스 엔진Database Engine 액세스를 제한하기 위해 안전하게 제거할 수 있습니다.The BUILTIN\Users login can be safely removed to restrict 데이터베이스 엔진Database Engine access to computer users who have individual logins or are members of other Windows groups with logins.

경고

SQL ServerSQL Server부터 SQL Server 2014SQL Server 2014에 대한 SQL ServerSQL ServerMicrosoftMicrosoft 데이터 공급자는 기본적으로 TLS 1.0 및 SSL 3.0만 지원합니다. and MicrosoftMicrosoft data providers for SQL ServerSQL Server up to SQL Server 2014SQL Server 2014 only support TLS 1.0 and SSL 3.0 by default. 운영 체제 SChannel 계층을 변경하여 다른 프로토콜(예: TLS 1.1 또는 TLS 1.2)을 적용하는 경우, 여기에 나열된 SQL ServerSQL Server에 대한 TLS 1.1 및 1.2 지원을 추가하도록 적절한 업데이트를 설치하지 않으면 SQL ServerSQL Server에 대한 연결이 실패할 수도 있습니다.If you enforce a different protocol (such as TLS 1.1 or TLS 1.2) by making changes in the operating system SChannel layer, your connections to SQL ServerSQL Server might fail unless you have installed the appropriate update to add support for TLS 1.1 and 1.2 to SQL ServerSQL Server which is listed here. SQL Server 2016SQL Server 2016부터 SQL Server의 모든 릴리스 버전은 추가 업데이트가 필요 없는 TLS 1.2 지원을 포함합니다.Starting from SQL Server 2016SQL Server 2016, all release versions of SQL Server include TLS 1.2 support without further updates required.

항목 내용In This Topic

SQL Server 구성 관리자 사용 Using SQL Server Configuration Manager

서버 네트워크 프로토콜을 설정하려면To enable a server network protocol

  1. SQL ServerSQL Server 구성 관리자의 콘솔 창에서 SQL Server 네트워크 구성을 확장합니다.In SQL ServerSQL Server Configuration Manager, in the console pane, expand SQL Server Network Configuration.

  2. 콘솔 창에서 <인스턴스 이름>에 대한 프로토콜을 클릭합니다.In the console pane, click Protocols for <instance name>.

  3. 세부 정보 창에서 변경할 프로토콜을 마우스 오른쪽 단추로 클릭한 다음 사용 또는 사용 안 함을 클릭합니다.In the details pane, right-click the protocol you want to change, and then click Enable or Disable.

  4. 콘솔 창에서 SQL Server 서비스를 클릭합니다.In the console pane, click SQL Server Services.

  5. 세부 정보 창에서 SQL Server(<인스턴스 이름>)를 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 클릭하여 SQL ServerSQL Server 서비스를 중지하고 다시 시작합니다.In the details pane, right-click SQL Server (<instance name>), and then click Restart, to stop and restart the SQL ServerSQL Server service.

SQL Server PowerShell 사용 Using SQL Server PowerShell

PowerShell을 사용하여 서버 네트워크 프로토콜을 설정하려면To Enable a Server Network Protocol Using PowerShell

  1. 관리자 권한으로 명령 프롬프트를 엽니다.Using administrator permissions open a command prompt.

  2. 작업 표시줄에서 Windows PowerShell을 시작하거나, 시작, 모든 프로그램, 보조프로그램, Windows PowerShell, Windows PowerShell을 차례로 클릭합니다.Start Windows PowerShell from the taskbar, or click Start, then All Programs, then Accessories, then Windows PowerShell, then Windows PowerShell.

  3. sqlps 를 입력하여 Import-Module “sqlps”모듈을 가져옵니다.Import the sqlps module by entering Import-Module “sqlps”

  4. 다음 문을 실행하여 TCP 및 명명된 파이프 프로토콜을 모두 사용하도록 설정합니다.Execute the following statements to enable both the TCP and named pipes protocols. <computer_name>SQL ServerSQL Server가 실행 중인 컴퓨터의 이름으로 바꿉니다.Replace <computer_name> with the name of the computer that is running SQL ServerSQL Server. 명명된 인스턴스를 구성할 경우 MSSQLSERVER 를 인스턴스의 이름으로 바꿉니다.If you are configuring a named instance, replace MSSQLSERVER with the instance name.

    프로토콜을 해제하려면 IsEnabled 속성을 $false로 설정합니다.To disable protocols, set the IsEnabled properties to $false.

    $smo = 'Microsoft.SqlServer.Management.Smo.'  
    $wmi = new-object ($smo + 'Wmi.ManagedComputer').  
    
    # List the object properties, including the instance names.  
    $Wmi  
    
    # Enable the TCP protocol on the default instance.  
    $uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"  
    $Tcp = $wmi.GetSmoObject($uri)  
    $Tcp.IsEnabled = $true  
    $Tcp.Alter()  
    $Tcp  
    
    # Enable the named pipes protocol for the default instance.  
    $uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"  
    $Np = $wmi.GetSmoObject($uri)  
    $Np.IsEnabled = $true  
    $Np.Alter()  
    $Np  
    

로컬 컴퓨터의 프로토콜을 구성하려면To configure the protocols for the local computer

  • 스크립트가 로컬로 실행되고 로컬 컴퓨터를 구성할 경우 SQL ServerSQL Server PowerShell은 로컬 컴퓨터의 이름을 동적으로 확인하여 보다 유연한 스크립트를 실행할 수 있습니다.When the script is run locally and configures the local computer, SQL ServerSQL Server PowerShell can make the script more flexible by dynamically determining the local computer name. 로컬 컴퓨터 이름을 가져오려면 $uri 변수 설정 행을 다음 행으로 바꿉니다.To retrieve the local computer name, replace the line setting the $uri variable with the following line.

    $uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"  
    

SQL Server PowerShell을 사용하여 데이터베이스 엔진을 다시 시작하려면To restart the Database Engine by using SQL Server PowerShell

  • 프로토콜을 설정하거나 해제한 후에는 데이터베이스 엔진Database Engine 을 중지하고 다시 시작해야만 변경 내용이 적용됩니다.After you enable or disable protocols, you must stop and restart the 데이터베이스 엔진Database Engine for the change to take effect. SQL ServerSQL Server PowerShell을 사용하여 다음 문을 실행함으로써 기본 인스턴스를 중지한 후 다시 시작합니다.Execute the following statements to stop and start the default instance by using SQL ServerSQL Server PowerShell. 명명된 인스턴스를 중지한 후 다시 시작하려면 'MSSQLSERVER''MSSQL$<instance_name>'으로 바꿉니다.To stop and start a named instance replace 'MSSQLSERVER' with 'MSSQL$<instance_name>'.

    # Get a reference to the ManagedComputer class.  
    CD SQLSERVER:\SQL\<computer_name>  
    $Wmi = (get-item .).ManagedComputer  
    # Get a reference to the default instance of the Database Engine.  
    $DfltInstance = $Wmi.Services['MSSQLSERVER']  
    # Display the state of the service.  
    $DfltInstance  
    # Stop the service.  
    $DfltInstance.Stop();  
    # Wait until the service has time to stop.  
    # Refresh the cache.  
    $DfltInstance.Refresh();   
    # Display the state of the service.  
    $DfltInstance  
    # Start the service again.  
    $DfltInstance.Start();  
    # Wait until the service has time to start.  
    # Refresh the cache and display the state of the service.  
    $DfltInstance.Refresh(); $DfltInstance