WorkaHolic/MSSQL

SQL Server가 잠겨 있습니다. 어떻게 되돌아갈 수 있습니까?

2010. 4. 8. 22:52
반응형

Q. SQL Server가 잠겨 있고 sysadmin 로그인도 되지 않습니다. 이 문제를 해결할 수 있습니까? 아니면 SQL Server를 다시 설치해야 합니까?

A. SQL Server를 다시 설치할 필요는 없습니다. SQL Server를 액세스하려면 SQL Server의 인증 모드를 결정하는 SQL Server 2000과 SQL Server 7.0 레지스트리 키를 사용해야 합니다.

    • SQL Server 7.0:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \MSSQLServer\MSSQLServer\LoginMode
    • SQL Server 2000:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
      MicrosoftSQLServer\<instance_name>\MSSQLServer\LoginMode

Windows Authentication Only는 LoginMode는 0, 혼합 모드는 1의 값을 갖습니다. 잠겨 있으면, LoginMode 값을 1로 변경하고, SQL Server를 다시 시작한 다음, 시스템 관리자(sa)로 로그인하십시오. 물론 sa 암호를 알고 있어야 합니다.

SQL Server 역할 구성원에 대한 다음 정보는 어떻게 잠금 상태가 되었는지를 이해하는 데 도움이 될 것입니다. SQL Server 2000이나 7.0을 설치할 때 자동으로 sysadmin 서버 역할 구성원으로 BUILTIN\Administrators 로그인을 생성합니다. BUILTIN\Administrators 로그인은 Microsoft Windows 2000® 또는 Microsoft Windows NT® 서버에서 Administrators 로컬 그룹을 의미합니다. Windows 2000 또는 Windows NT Administrator 계정은 기본적으로 Administrators의 로컬 그룹에 포함됩니다. 또한, 서버가 도메인에 속해 있다면(Windows 2000과 Windows NT 4.0에서 모두), 글로벌 그룹인 Domain Admins는 로컬 Administrators 그룹에 포함됩니다. 즉 Administrators 로컬 그룹의 모든 구성원은 SQL Server에 대해 자동으로 sysadmin 권한을 갖게 됩니다.

SQL Server 보안을 강화하려면 직접 그룹을 작성하여 SQL Server 컴퓨터에 sysadmin 권한으로 로그인한 다음 BUILTIN\Administrators 로그인을 삭제하거나 sysadmin 서버 역할에서 삭제합니다. 이렇게 하면 누가 SQL Server의 sysadmin 권한을 갖는지 제어할 수 있습니다. 또한, 이 방법은 SQL Server 관리자와 Windows 2000 또는 Windows NT 관리자 간의 관계를 구분하여 서로 다른 작업과 권한을 갖도록 합니다. 보안을 강화하기 위한 또 다른 방법으로, Windows 인증만 지원하도록 SQL Server를 구성할 수 있습니다. 그러나, 이 방법은 sa 계정을 사용할 수 없게 합니다. 이 방법은 sa 계정을 삭제할 수 없기 때문에 sa 계정을 사용할 수 없게 하는 유일한 방법입니다. 이러한 보안 방법을 잘못된 순서로 구현할 경우 위에서 설명한 키를 사용하지 않으면 sysadmin으로 SQL Server에 로그인할 수 없게 됩니다. 정확한 순서는 다음과 같습니다.

  1. Windows 2000 또는 Windows NT 그룹을 만들고 이 그룹에 구성원을 지정합니다. 예를 들면, 이 그룹을 "SQLAdmins"이라고 명명합니다.
  2. SQL Server에서 SQLAdmins을 Windows Authenticated 로그인에 매팽시키고, 이 로그인을 sysadmin 서버 역할에 지정합니다.
  3. BUILTIN\Administrators 로그인을 삭제하거나,이를 sysadmin 서버 역할에서 삭제합니다.
  4. SQL Server 인증 모드를 Windows Authentication only로 변경합니다.
  5. SQL Server를 다시 시작하여 변경된 인증 모드를 적용합니다.

참고: 만약 이러한 보안 단계들을 틀린 순서로 구현한 경우에는 BUILTIN\Administrators 로그인을 삭제하고, SQL Server 인증 모드를 Windows Authentication only로 변경한 다음, SQL Server를 다시 시작하면, sa 계정을 사용할 수 없게 되고, SQL Server 서버에서 Windows Authenticated 로그인을 더 이상 정의할 수 없게 됩니다. 그러면 잠금 상태에 있게 됩니다. 이런 상황이 발생하지 않도록 하려면 정확한 순서대로 보안 방법을 구현하십시오.

반응형