다음을 통해 공유


데이터베이스 이름 바꾸기

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance

이 문서에서는 SSMS(SQL Server Management Studio) 또는 T-SQL(Transact-SQL)을 사용하여 SQL Server, Azure SQL Database 또는 Azure SQL Managed Instance에서 사용자 정의 데이터베이스의 이름을 바꾸는 방법에 대해 설명합니다. 데이터베이스 이름에는 식별자 규칙을 따르는 모든 문자가 포함될 수 있습니다.

참고 항목

Azure Synapse Analytics 또는 병렬 데이터 웨어하우스에서 데이터베이스의 이름을 바꾸려면 RENAME(Transact-SQL) 문을 사용합니다.

제한 사항

  • 시스템 데이터베이스의 이름은 바꿀 수 없습니다.
  • 다른 사용자가 데이터베이스에 액세스하는 동안에는 데이터베이스 이름을 변경할 수 없습니다.
    • SQL Server Management Studio 활동 모니터를 사용하여 데이터베이스에 대한 다른 연결을 찾고 닫습니다. 자세한 내용은 SSMS(SQL Server Management Studio)에서 활동 모니터 열기를 참조하세요.
    • SQL Server에서 데이터베이스를 단일 사용자 모드로 설정하여 열려 있는 모든 연결을 닫을 수 있습니다. 자세한 내용은 단일 사용자 모드로 데이터베이스 설정을 참조하세요.
    • Azure SQL Database에서 이름을 바꿀 데이터베이스에 열린 연결이 되어 있는 다른 사용자가 없는지 확인해야 합니다.
  • 데이터베이스 이름을 바꿔도 디스크에 있는 데이터베이스 파일의 실제 이름이나 파일의 논리적 이름은 변경되지 않습니다. 자세한 내용은 Database Files and Filegroups을 참조하세요.
  • 활성 지역 복제 관계에 구성된 Azure SQL 데이터베이스의 이름을 바꿀 수 없습니다.

사용 권한

데이터베이스에 대한 ALTER 권한이 필요합니다.

SQL Server Management Studio 사용

다음 단계를 수행하면 SQL Server Management Studio를 사용하여 SQL Server 또는 Azure SQL Database의 이름을 바꿀 수 있습니다.

  1. SQL Server Management Studio에서 개체 탐색기를 선택합니다. 개체 탐색기를 열려면 F8을 선택합니다. 또는 위쪽 메뉴에서 보기를 선택한 다음, 개체 탐색기를 선택합니다.

  2. 개체 탐색기에서 SQL Server의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.

  3. 데이터베이스에 대한 열린 연결이 없는지 확인합니다. SQL Server를 사용하는 경우 데이터베이스를 단일 사용자 모드로 설정하여 열려 있는 연결을 모두 닫고 데이터베이스 이름을 변경하는 동안 다른 사용자가 연결하지 못하도록 할 수 있습니다.

  4. 개체 탐색기에서 데이터베이스를 확장하고, 이름을 바꿀 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음, 이름 바꾸기를 선택합니다.

  5. 새 데이터베이스 이름을 입력한 다음, 확인을 선택합니다.

  6. 데이터베이스가 기본 데이터베이스인 경우 이름을 바꾼 후 기본 데이터베이스 다시 설정을 참조하세요.

  7. 개체 탐색기에서 데이터베이스 목록을 새로 고칩니다.

Transact-SQL 사용

SQL Server 데이터베이스를 단일 사용자 모드로 설정하여 이름을 바꾸는 방법

데이터베이스를 단일 사용자 모드로 설정하는 단계를 포함해 다음 단계를 수행하여 SQL Server Management Studio에서 T-SQL을 사용하여 SQL Server 데이터베이스의 이름을 바꿉니다. 그런 다음, 데이터베이스를 다시 다중 사용자 모드로 변경합니다.

  1. 인스턴스의 master 데이터베이스에 연결합니다.
  2. 쿼리 창을 엽니다.
  3. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다. 다음 예에서는 MyTestDatabase 데이터베이스의 이름을 MyTestDatabaseCopy로 변경합니다.

Warning

배타적 액세스 권한을 신속하게 얻기 위해 코드 샘플은 종료 옵션 WITH ROLLBACK IMMEDIATE를 사용합니다. 완료되지 않은 트랜잭션은 모두 롤백되며 MyTestDatabase 데이터베이스로의 다른 모든 연결은 즉시 끊어집니다.

USE master;  
GO  
ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
GO  
ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER;
GO
  1. 선택 사항으로, 데이터베이스가 기본 데이터베이스인 경우 이름을 바꾼 후 기본 데이터베이스 다시 설정을 참조하세요.

Azure SQL Database 데이터베이스의 이름을 바꾸려면

다음 단계를 수행하면 SQL Server Management Studio에서 T-SQL을 사용하여 Azure SQL Database의 이름을 바꿀 수 있습니다.

  1. 인스턴스의 master 데이터베이스에 연결합니다.

  2. 쿼리 창을 엽니다.

  3. 데이터베이스를 사용하는 사람이 없는지 확인합니다.

  4. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다. 다음 예에서는 MyTestDatabase 데이터베이스의 이름을 MyTestDatabaseCopy로 변경합니다.

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
    

데이터베이스 이름 바꾸기 후 백업

SQL Server에서 데이터베이스 이름을 바꾼 후 master 데이터베이스를 백업합니다. Azure SQL Database에서는 백업이 자동으로 수행되기 때문에 이 작업이 필요하지 않습니다.

이름 바꾸기 후 기본 데이터베이스 다시 설정

이름을 바꾸는 데이터베이스가 SQL Server 로그인의 기본 데이터베이스로 설정된 경우 오류 4064(Cannot open user default database)가 발생할 수 있습니다. 다음 명령을 사용하여 기본값을 이름이 바뀐 데이터베이스로 변경합니다.

USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO

다음 단계