시스템 관리자가 잠겨 있는 경우 SQL Server에 연결Connect to SQL Server When System Administrators Are Locked Out

이 항목에서는 시스템 관리자로서 SQL Server 데이터베이스 엔진SQL Server Database Engine 에 대한 액세스 권한을 다시 얻을 수 있는 방법에 대해 설명합니다.This topic describes how you can regain access to the SQL Server 데이터베이스 엔진SQL Server Database Engine as a system administrator. 시스템 관리자는 다음 중 한 가지 이유로 인해 SQL ServerSQL Server 인스턴스에 대한 액세스 권한을 상실할 수 있습니다.A system administrator can lose access to an instance of SQL ServerSQL Server because of one of the following reasons:

  • sysadmin 고정 서버 역할의 멤버인 모든 로그인이 실수로 제거되었습니다.All logins that are members of the sysadmin fixed server role have been removed by mistake.

  • sysadmin 고정 서버 역할의 멤버인 모든 Windows 그룹이 실수로 제거되었습니다.All Windows Groups that are members of the sysadmin fixed server role have been removed by mistake.

  • sysadmin 고정 서버 역할의 멤버인 로그인이 회사를 그만두었거나 소재가 불명확한 개인에게 할당되어 있습니다.The logins that are members of the sysadmin fixed server role are for individuals who have left the company or who are not available.

  • sa 계정이 비활성화되어 있거나 이 계정의 암호를 아는 사람이 없습니다.The sa account is disabled or no one knows the password.

    액세스 권한을 다시 얻을 수 있는 한 가지 방법은 SQL ServerSQL Server 를 다시 설치하고 모든 데이터베이스를 새 인스턴스에 연결하는 것입니다.One way in which you can regain access is to reinstall SQL ServerSQL Server and attach all the databases to the new instance. 이 방법에 따라 문제를 해결하는 데는 많은 시간이 소요됩니다. 또한 로그인을 복구하려면 백업에서 master 데이터베이스를 복원해야 할 수도 있습니다.This solution is time-consuming; and, to recover the logins, it might require restoring the master database from a backup. master 데이터베이스의 백업이 최신 백업이 아닌 경우 이 백업에 모든 정보가 포함되지 않을 수도 있습니다.If the backup of the master database is older, it might not have all the information. master 데이터베이스의 백업이 최신 백업인 경우에는 이 백업에 이전 인스턴스와 동일한 로그인이 포함되어 있으므로 관리자는 여전히 잠겨 있게 됩니다.If the backup of the master database is more recent, it might have the same logins as the previous instance; therefore, administrators will still be locked out.

해결 방법Resolution

SQL ServerSQL Server -m 또는 -f 옵션을 사용하여 인스턴스를 단일 사용자 모드로 시작합니다.Start the instance of SQL ServerSQL Server in single-user mode by using either the -m or -f options. 그러면 컴퓨터에서 로컬 Administrators 그룹의 모든 멤버가 sysadmin 고정 서버 역할의 멤버로 SQL ServerSQL Server 인스턴스에 연결할 수 있습니다.Any member of the computer's local Administrators group can then connect to the instance of SQL ServerSQL Server as a member of the sysadmin fixed server role.

참고

SQL ServerSQL Server 인스턴스를 단일 사용자 모드로 시작할 경우 SQL ServerSQL Server 에이전트 서비스를 먼저 중지하십시오.When you start an instance of SQL ServerSQL Server in single-user mode, first stop the SQL ServerSQL Server Agent service. 그렇지 않으면 SQL ServerSQL Server 에이전트가 먼저 연결되므로 두 번째 사용자로 연결하지 못합니다.Otherwise, SQL ServerSQL Server Agent might connect first and prevent you from connecting as a second user.

sqlcmd 와 함께 -m 옵션을 사용하거나 SQL Server Management StudioSQL Server Management Studio을 사용할 경우 지정한 클라이언트 응용 프로그램에 대한 연결 수를 제한할 수 있습니다.When you use the -m option with sqlcmd or SQL Server Management StudioSQL Server Management Studio, you can limit the connections to a specified client application. 예를 들어 -m"sqlcmd" 는 연결 수를 단일 연결로 제한하며 이 경우 연결은 자신을 sqlcmd 클라이언트 프로그램으로 인식해야 합니다.For example, -m"sqlcmd" limits connections to a single connection and that connection must identify itself as the sqlcmd client program. 단일 사용자 모드에서 SQL ServerSQL Server 를 시작하며 알 수 없는 클라이언트 응용 프로그램에서 사용 가능한 유일한 연결을 사용할 경우 이 옵션을 사용합니다.Use this option when you are starting SQL ServerSQL Server in single-user mode and an unknown client application is taking the only available connection. Management StudioManagement Studio에서 쿼리 편집기를 통해 연결하려면 -m"Microsoft SQL Server Management Studio - 쿼리"를 사용합니다.To connect through the Query Editor in Management StudioManagement Studio, use -m"Microsoft SQL Server Management Studio - Query".

중요

이 옵션을 보안 용도로는 사용하지 마십시오.Do not use this option as a security feature. 클라이언트 응용 프로그램에서 클라이언트 응용 프로그램 이름을 제공하므로 연결 문자열의 일부로 잘못된 이름을 제공할 수 있습니다.The client application provides the client application name, and can provide a false name as part of the connection string.

SQL ServerSQL Server를 단일 사용자 모드로 시작하는 방법에 대한 단계별 지침은 서버 시작 옵션 구성(SQL Server 구성 관리자)을 참조하세요.For step-by-step instructions about how to start SQL ServerSQL Server in single-user mode, see Configure Server Startup Options (SQL Server Configuration Manager).

단계별 지침Step-By-Step Instructions

다음 지침에서는 Windows 8 이상에서 실행 중인 SQL Server 2017SQL Server 2017 에 연결하는 과정을 설명합니다.The following instructions describe the process for connecting to SQL Server 2017SQL Server 2017 running on Windows 8 or higher. 이전 버전의 SQL Server 또는 Windows의 경우 지침이 조금 조정되어 제공됩니다.Slight adjustments for earlier versions of SQL Server or Windows are provided. 로컬 관리자 그룹의 멤버로 Windows에 로그인한 상태에서 이들 지침을 수행해야 하며 컴퓨터에 SQL Server Management StudioSQL Server Management Studio 가 설치되어 있어야 합니다.These instructions must be performed while logged in to Windows as a member of the local administrators group, and they assume that SQL Server Management StudioSQL Server Management Studio is installed on the computer.

  1. 시작 페이지에서 SQL Server Management StudioSQL Server Management Studio를 시작합니다.From the Start page, start SQL Server Management StudioSQL Server Management Studio. 보기 메뉴에서 등록된 서버를 선택합니다.On the View menu, select Registered Servers. 서버가 이미 등록되어 있지 않으면 로컬 서버 그룹을 마우스 오른쪽 단추로 클릭하고 태스크를 가리킨 다음 로컬 서버 등록을 클릭합니다.(If your server is not already registered, right-click Local Server Groups, point to Tasks, and then click Register Local Servers.)

  2. 등록된 서버 영역에서 서버를 마우스 오른쪽 단추로 클릭하고 SQL Server 구성 관리자를 클릭합니다.In the Registered Servers area, right-click your server, and then click SQL Server Configuration Manager. 관리자 권한으로 실행할지 묻고 구성 관리자 프로그램이 열립니다.This should ask for permission to run as administrator, and then open the Configuration Manager program.

  3. Management StudioManagement Studio를 닫습니다.Close Management StudioManagement Studio.

  4. SQL ServerSQL Server 구성 관리자의 왼쪽 창에서 SQL Server 서비스를 선택합니다.In SQL ServerSQL Server Configuration Manager, in the left pane, select SQL Server Services. 오른쪽 창에서 SQL ServerSQL Server인스턴스를 찾습니다.In the right-pane, find your instance of SQL ServerSQL Server. SQL ServerSQL Server의 기본 인스턴스에는 컴퓨터 이름 뒤에 (MSSQLSERVER)가 있습니다.(The default instance of SQL ServerSQL Server includes (MSSQLSERVER) after the computer name. 명명된 인스턴스는 등록된 서버에서와 같은 이름(대문자)으로 나타납니다. SQL ServerSQL Server 인스턴스를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.Named instances appear in upper case with the same name that they have in Registered Servers.) Right-click the instance of SQL ServerSQL Server, and then click Properties.

  5. 시작 매개 변수 탭의 시작 매개 변수 지정 상자에 -m를 입력하고 추가를 클릭합니다.On the Startup Parameters tab, in the Specify a startup parameter box, type -m and then click Add. 클릭합니다.(That's a dash then lower case letter m.)

    참고

    몇몇 이전 버전의 SQL ServerSQL Server 에는 시작 매개 변수 탭이 없습니다.For some earlier versions of SQL ServerSQL Server there is no Startup Parameters tab. 이 탭이 없는 경우 고급 탭에서 시작 매개 변수를 두 번 클릭합니다.In that case, on the Advanced tab, double-click Startup Parameters. 매개 변수가 아주 작은 창에서 열립니다.The parameters open up in a very small window. 기존 매개 변수를 변경하지 않도록 주의하십시오.Be careful not to change any of the existing parameters. 맨 끝에 새 매개 변수 ;-m (대시와 소문자 m)을 입력하고 확인At the very end, add a new parameter ;-m and then click OK. 클릭합니다.(That's a semi-colon then a dash then lower case letter m.)

  6. 확인을 클릭하고 다시 시작 메시지가 나타나면 서버 이름을 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 클릭합니다.Click OK, and after the message to restart, right-click your server name, and then click Restart.

  7. SQL ServerSQL Server 이 다시 시작한 후에 서버는 단일 사용자 모드가 됩니다.After SQL ServerSQL Server has restarted your server will be in single-user mode. SQL ServerSQL Server 에이전트가 실행 중이지 않는지 확인합니다.Make sure that that SQL ServerSQL Server Agent is not running. 시작된 경우 사용자의 유일한 연결을 사용합니다.If started, it will take your only connection.

  8. Windows 8 시작 화면에서 Management StudioManagement Studio아이콘을 마우스 오른쪽 단추로 클릭합니다.On the Windows 8 start screen, right-click the icon for Management StudioManagement Studio. 화면 아래쪽에서 관리자 권한으로 실행을 선택합니다.At the bottom of the screen, select Run as administrator. SSMS에 관리자 자격 증명이 전달됩니다.(This will pass your administrator credentials to SSMS.)

    참고

    이전 버전의 Windows에서는 관리자 권한으로 실행 옵션이 하위 메뉴로 나타납니다.For earlier versions of Windows, the Run as administrator option appears as a sub-menu.

    일부 구성에서는 SSMS가 여러 연결을 시도합니다.In some configurations, SSMS will attempt to make several connections. SQL ServerSQL Server 가 단일 사용자 모드이기 때문에 여러 연결이 실패합니다.Multiple connections will fail because SQL ServerSQL Server is in single-user mode. 다음 작업 중 하나를 수행하도록 선택할 수 있습니다.You can select one of the following actions to perform. 다음 중 하나를 수행합니다.Do one of the following.

    1. 관리자 자격 증명을 포함하는 Windows 인증을 사용하여 개체 탐색기에 연결합니다.Connect with Object Explorer using Windows Authentication (which includes your Administrator credentials). 보안로그인을 차례로 확장하고 로그인을 두 번 클릭합니다.Expand Security, expand Logins, and double-click your own login. 서버 역할 페이지에서 sysadmin을 선택하고 확인을 클릭합니다.On the Server Roles page, select sysadmin, and then click OK.

    2. 관리자 자격 증명을 포함하는 Windows 인증을 사용하여 개체 탐색기 대신 쿼리 창에 연결합니다.Instead of connecting with Object Explorer, connect with a Query Window using Windows Authentication (which includes your Administrator credentials). 개체 탐색기에 연결할 수 없는 경우에만 이 방식으로 연결할 수 있습니다. 다음과 같은 코드를 실행하여 sysadmin 고정 서버 역할의 구성원인 새 Windows 인증 로그인을 추가합니다.(You can only connect this way if you did not connect with Object Explorer.) Execute code such as the following to add a new Windows Authentication login that is a member of the sysadmin fixed server role. 다음 예제에서는 CONTOSO\PatK이라는 도메인 사용자를 추가합니다.The following example adds a domain user named CONTOSO\PatK.

      CREATE LOGIN [CONTOSO\PatK] FROM WINDOWS;  
      ALTER SERVER ROLE sysadmin ADD MEMBER [CONTOSO\PatK];  
      
    3. SQL ServerSQL Server 가 혼합 인증 모드에서 실행 중인 경우 관리자 자격 증명을 포함하는 Windows 인증을 사용하여 쿼리 창에 연결합니다.If your SQL ServerSQL Server is running in mixed authentication mode, connect with a Query Window using Windows Authentication (which includes your Administrator credentials). 다음과 같은 코드를 실행하여 SQL ServerSQL Server sysadmin 고정 서버 역할의 구성원인 새 인증 로그인을 만듭니다.Execute code such as the following to create a new SQL ServerSQL Server Authentication login that is a member of the sysadmin fixed server role.

      CREATE LOGIN TempLogin WITH PASSWORD = '************';  
      ALTER SERVER ROLE sysadmin ADD MEMBER TempLogin;  
      
      경고

      *********는 강력한 암호로 대체합니다.Replace ********* with a strong password.

    4. SQL ServerSQL Server 가 혼합 인증 모드에서 실행 중이며 sa 계정의 암호를 재설정하려는 경우 관리자 자격 증명을 포함하는 Windows 인증을 사용하여 쿼리 창에 연결합니다.If your SQL ServerSQL Server is running in mixed authentication mode and you want to reset the password of the sa account, connect with a Query Window using Windows Authentication (which includes your Administrator credentials). 다음 구문을 사용하여 sa 계정의 암호를 변경 합니다.Change the password of the sa account with the following syntax.

      ALTER LOGIN sa WITH PASSWORD = '************';  
      
      경고

      *********는 강력한 암호로 대체합니다.Replace ********* with a strong password.

  9. 다음 단계에서는 이제 SQL ServerSQL Server 를 다중 사용자 모드로 다시 변경합니다.The following steps now change SQL ServerSQL Server back to multi-user mode. SSMS를 닫습니다.Close SSMS.

  10. SQL ServerSQL Server 구성 관리자의 왼쪽 창에서 SQL Server 서비스를 선택합니다.In SQL ServerSQL Server Configuration Manager, in the left pane, select SQL Server Services. 오른쪽 창에서 SQL ServerSQL Server인스턴스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.In the right-pane, right-click the instance of SQL ServerSQL Server, and then click Properties.

  11. 시작 매개 변수 탭의 기존 매개 변수 상자에서 -m 을 선택하고 제거를 클릭합니다.On the Startup Parameters tab, in the Existing parameters box, select -m and then click Remove.

    참고

    몇몇 이전 버전의 SQL ServerSQL Server 에는 시작 매개 변수 탭이 없습니다.For some earlier versions of SQL ServerSQL Server there is no Startup Parameters tab. 이 탭이 없는 경우 고급 탭에서 시작 매개 변수를 두 번 클릭합니다.In that case, on the Advanced tab, double-click Startup Parameters. 매개 변수가 아주 작은 창에서 열립니다.The parameters open up in a very small window. 이전에 추가한 ;-m 을 제거하고 확인을 클릭합니다.Remove the ;-m which you added earlier, and then click OK.

  12. 서버를 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 클릭합니다.Right-click your server name, and then click Restart.

    이제 sysadmin 고정 서버 역할의 멤버인 계정 중 하나에 정상적으로 연결할 수 있습니다.Now you should be able to connect normally with one of the accounts which is now a member of the sysadmin fixed server role.

참고 항목See Also

단일 사용자 모드로 SQL Server 시작 Start SQL Server in Single-User Mode
데이터베이스 엔진 서비스 시작 옵션Database Engine Service Startup Options