Làm thế nào để khôi phục lại một cơ sở dữ liệu có chứa trên mạng? [đóng cửa]


23

Gần đây tôi đã cố gắng khôi phục lại SQL Server phát triển cục bộ của mình một bản sao lưu từ một cá thể mạng. Thật ngạc nhiên, tôi nhận được thông báo lỗi sau:

Msg 12824, Cấp 16, Trạng thái 1, Dòng 3 Giá trị sp_ thông minh 'xác thực cơ sở dữ liệu' phải được đặt thành 1 để khôi phục cơ sở dữ liệu chứa. Bạn có thể cần sử dụng RECONFIGURE để đặt value_in_use. Msg 3013, Cấp 16, Bang 1, Dòng 3 RESTORE DATABASE đang chấm dứt bất thường.

Tôi phải làm theo những bước nào để khôi phục thành công cơ sở dữ liệu?


2
Phiên bản nào của SQL Server? Lỗi khá rõ ràng về độ phân giải, bạn đã thử đặt contained database authenticationgiá trị thành 1 như đã nói chưa?
LowlyDBA

1
Tôi nghĩ rằng đây là một câu hỏi hợp lệ, nếu bạn đang cố gắng khôi phục tệp .bacpac của Cơ sở dữ liệu Azure, vào trường hợp cục bộ của bạn - bạn sẽ gặp lỗi này. Câu trả lời là hợp lệ trong việc sửa lỗi này.
Ralph Willgoss

Câu trả lời:


37

Để khôi phục cơ sở dữ liệu được chứa vào một phiên bản khác của máy chủ sql, trong trường hợp này là máy chủ cục bộ của tôi, thuộc tính " Kích hoạt cơ sở dữ liệu có chứa " phải được đặt thành True .

Bạn có thể làm điều này từ studio quản lý:

  1. Nhấp chuột phải vào phiên bản máy chủ, chọn Thuộc tính
  2. Chọn trang Nâng cao , đặt bên dưới Chứa giá trị thuộc tính thành True
  3. Tiến hành khôi phục sao lưu cơ sở dữ liệu.
  4. ALTER AUTHORIZATION ON DATABASE::ReplaceThisWithYourDatabaseName TO ReplaceThisWithLeastPrivilegeUser;

Dưới đây là các dòng script tôi thực sự được sử dụng để bật / tắt ngăn chặn:

-- Enable "contained database authentication"
EXEC sp_configure 'contained', 1;
RECONFIGURE;

-- Disable "contained database authentication"
EXEC sp_configure 'contained', 0;
-- Force disabling of "contained database authentication"
RECONFIGURE WITH OVERRIDE;

Để biết thêm thông tin, vui lòng tham khảo:
http://www.sqlsoldier.com/wp/sqlserver/protectionfromrestoringabackupofacontaineddatabase


2

Bạn đã thử làm những gì lỗi được mô tả?

USE master
GO
sp_configure 'show   advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'CONTAINED DATABASE AUTHENTICATION', 1
GO
RECONFIGURE
GO
sp_configure 'show   advanced options', 0 
GO
RECONFIGURE
GO
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.