2012-06-11 13 views
10

Tôi đang sử dụng SQL Server 2005 và tôi đang gặp vấn đề khi khôi phục cơ sở dữ liệu của mình Tôi nhận được thông báo này khi cố gắng khôi phục cơ sở dữ liệu của mình.Không thể khôi phục Cơ sở dữ liệu, Cơ sở dữ liệu đang được sử dụng theo phiên

Restore failed. (Microsoft.SqlServer.Express.Smo)

"System.Data.SqlClient.SqlError: RESTORE cannot process database 'AMOD' because it is in use by this session. It is recommended that the master database be used when performing this operation. (Microsoft.SqlServer.Express.Smo)"

Tôi đã khởi động lại chương trình mà tôi không mở bất kỳ bảng nào trong cơ sở dữ liệu và tôi vẫn nhận được thông báo này. Tôi mới vào SQL Server và đây là lần đầu tiên tôi thực hiện khôi phục. Tôi đánh giá cao bất kỳ trợ giúp nào được cung cấp.

Trả lời

32

Bạn cần khởi động tất cả người dùng và đảm bảo rằng bạn cũng không có trong cơ sở dữ liệu đó. Giả sử bạn đang ở trong Management Studio, bạn cần thay đổi ngữ cảnh của mình thành một cơ sở dữ liệu khác (hoặc chuyển cơ sở dữ liệu xuống một cơ sở dữ liệu khác) theo cách này, và điều này cũng sẽ loại bỏ bất kỳ người dùng nào khác (có thể là bạn - Object Explorer, Object Explorer chi tiết, cửa sổ truy vấn khác, vv tất cả có thể là vô tình ngăn cản việc khôi phục bằng cách duy trì một kết nối cơ sở dữ liệu của bạn):

USE master; 
GO 
ALTER DATABASE AMOD SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 

Khi bạn đã hoàn thành việc khôi phục và cơ sở dữ liệu đã sẵn sàng cho việc sử dụng một lần nữa:

ALTER DATABASE AMOD SET MULTI_USER; 
+3

Tôi đã thiết lập điều này cho người dùng khác và tôi cũng phải đi tới Bảo mật → Đăng nhập → nhấp chuột phải người dùng → Thuộc tính và đặt Def ault cơ sở dữ liệu để làm chủ, sau đó có họ đăng xuất và trở lại in – bmaupin

+0

@ bmaupin đá chúng ra tạm thời nên đã giải quyết được điều đó, quá. –

+2

Tôi đoán ý tôi là tôi đang thiết lập một người dùng khác để có thể khôi phục cơ sở dữ liệu, nhưng mỗi khi họ đăng nhập để khôi phục, cơ sở dữ liệu họ muốn khôi phục được đặt làm mặc định để họ kết nối nó. Cấp, tôi không có chuyên gia, nhưng thay đổi DB mặc định dường như sửa chữa nó. Ở mức nào, câu trả lời tuyệt vời! – bmaupin