Home > SQL Server > Đổi tên Database trong SQL Server

Đổi tên Database trong SQL Server

1. Yêu cầu :

Đổi tên Database trong SQL SQL Server

2. Vấn đề : 

Khi thực hiện đổi tên 1 db, có thể bạn sẽ gặp lỗi sau : 

The database could not be exclusively locked to perform the operation. (Microsoft SQL Server, Error: 5030)

Lỗi này thường xảy ra khi db của bạn ở chế độ MULTI_USER và có user đang truy cập hoặc có đối tượng nào đó đang tham chiếu đến nó. 

3. Cách giải quyết : 

Trước tiên thiết đặt db về chế độ SINGLE_USER, sau đó đổi tên db, cuối cùng đặt lại nó về chế độ MULTI_USER.

( Chế độ SINGLE_USER sẽ quy định tại một thời điểm chỉ một user có thể truy cập db và thường được sử dụng cho thao tác maintenance. Nếu user khác kết nối đến db tại thời điểm bạn thiết đặt database về chế độ SINGLE_USER thì các kết nối đó sẽ bị đóng mà không bị cảnh báo gì. )

3.1 Đổi tên db sử dụng SQL Server Management Studio 

* Thiết đặt db về chế độ SINGLE_USER : 

– Trong cửa sổ Object Explorer, click chuột phải vào db cần thiết đặt, chọn Properties

– Trong cửa sổ Database Properties, chọn mục Options trong phần Select a page

– Tìm đến option Retrict Access, chọn giá trị SINGLE_USER, sau đó ấn nút OK

set_single_user

– Nếu có user khác đang kết nối đến db thì sẽ xuất hiện hộp thoại Open Connections. Để đồng ý thay đổi chế độ và đóng các kết nối khác, ấn Yes

open_connections

* Đổi tên db 

– Trong cửa sổ Object Explorer, click chuột phải vào db cần thiết đặt, chọn Rename 

– Gõ tên mới cho db, ấn Enter

* Thiết đặt db về lại chế độ MULTI_USER : 

– Thực hiện thao tác tương tự như với việc thiết đặt chế độ SINGLE_USER, đặt giá trị Restrict AccessMULTI_USER

3.2 Đổi tên db sử dụng Transact-SQL 

Ví dụ bạn cần đổi tên db Test sang Test_New

-- Set the database to SINGLE_USER mode
ALTER DATABASE Test
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
-- Try to rename the database
ALTER DATABASE Test MODIFY NAME = Test_New
GO
-- Set the database to MULTI_USER mode
ALTER DATABASE Test_New
SET MULTI_USER WITH ROLLBACK IMMEDIATE
Advertisements
Categories: SQL Server
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: