ALTER DATABASE MODIFY NAME 문을 사용하면 데이터베이스의 이름을 변경할 있습니다. 다른 사용자가 데이터베이스에 연결하지 않은 상태라면 ALTER DATABASE 문만 수행하면 이름이 변경되지만, 다른 사용자가 데이터베이스에 연결을 맺은 상태에서는 이름 변경이 실패합니다. 경우에는 데이터베이스의 이름을 변경하기 전에 데이터베이스를 단일 사용자 모드나 오프라인 모드로 변경한 상태에서 이름을 변경하면 됩니다.

sp_renamedb 사용하여 데이터베이스의 이름을 변경할 수도 있지만, 온라인 설명서에 의하면 sp_renamedb 다음 버전의 Microsoft SQL Server에서 제거된다고 기술되어 있습니다. 그러므로 이후로 데이터베이스 이름 변경 스크립트를 작성할 때에는 sp_renamedb 대신 ALTER DATABASE MODIFY NAME 사용해야 하며, sp_renamedb 사용하는 응용프로그램도 수정하기 바랍니다.

[따라하기] Sample 데이터베이스의 이름을 Sample_Rename으로 변경하기

1.       모든 사용자들에게 Sample 데이터베이스에 대한 연결을 해제하도록 통보합니다. SQL Server Management Studio에서 해당 데이터베이스에 연결하고 있는 상황이 발생하지 않도록 SQL Server Management Studio 닫습니다. 만일 데이터베이스 이름을 신속하게 변경해야 하는데 사용자 연결이 계속 해제되지 않는 상태라면 사용자 프로세스들을 강제로 종료시킬 있습니다.

 

2.       데이터베이스를 단일 사용자 모드로 설정합니다.

USE master

ALTER DATABASE Sample SET single_user;

GO

 

3.       데이터베이스 이름을 변경합니다.

ALTER DATABASE Sample MODIFY NAME = Sample_Rename;

GO

 

4.       데이터베이스를 다중 사용자 모드로 원복합니다. 데이터베이스를 단일 사용자 모드로 그대로 둠으로써 응용프로그램에서 오류가 발생하는 경우가 종종 있습니다.

ALTER DATABASE Sample_Rename SET multi_user;

GO

 

5.       변경된 데이터베이스를 사용하는데 문제가 없는지 확인합니다.

 

+ Recent posts