데이터베이스 이름 바꾸기

적용 대상:SQL ServerAzure SQL DatabaseAzure 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로 변경합니다.

경고

배타적 액세스 권한을 신속하게 얻기 위해 코드 샘플은 종료 옵션 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 데이터베이스의 이름을 바꾸려면 다음 단계를 사용합니다.

  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

다음 단계