2012-04-10 37 views
16

Tôi có một bản sao lưu từ cơ sở dữ liệu trong SQL Server 2008 R2. Khi tôi muốn khôi phục bản sao lưu này sang SQL Server, tôi gặp lỗi này: "Lỗi: Truyền được chỉ định không hợp lệ. (SqlManagerUI)" Làm cách nào để giải quyết lỗi này? Cảm ơn.Lỗi: Truyền được chỉ định không hợp lệ. (SqlManagerUI)

+0

VỚI DI CHUYỂN ' 'YourMDFLogicalName' thành 'D: \ DataYourMDFFile.mdf',' -adjust đường MOVE ' 'YourLDFLogicalName' thành 'D: \ DataYourLDFFile.ldf'' MDF LDF –

Trả lời

12

Có một số funnies khôi phục cơ sở dữ liệu cũ vào SQL 2008 qua anh chàng; bạn đã thử làm điều đó thông qua TSQL?

Use Master 
Go 
RESTORE DATABASE YourDB 
FROM DISK = 'C:\YourBackUpFile.bak' 
WITH MOVE 'YourMDFLogicalName' TO 'D:\Data\YourMDFFile.mdf',--check and adjust path 
MOVE 'YourLDFLogicalName' TO 'D:\Data\YourLDFFile.ldf' 
+2

YourLDFLogicalName là gì? – coure2011

+0

Tên của tệp trong SQL Server. Trong quản lý STudio; mở một truy vấn; sử dụng cơ sở dữ liệu bạn đang làm việc trên sao lưu chạy chọn Tên từ tệp sys của nó cột Tên. – u07ch

+1

Đối với các noobs như tôi. Nhận xét của u07ch là chính xác nhưng có lỗi đánh máy trong truy vấn: chọn tên từ sysfiles –

17

Điều này cũng sẽ xảy ra khi bạn đang cố khôi phục bản sao lưu mới hơn trong cơ sở dữ liệu SQL cũ hơn. Ví dụ khi bạn cố khôi phục bản sao lưu DB được tạo vào năm 2012 với khả năng tương thích 110 và bạn đang cố gắng khôi phục bản sao lưu trong năm 2008 R2.

+1

Bạn có giải pháp cho việc này không? –

4

Thỉnh thoảng điều này xảy ra do thay đổi phiên bản như lưu trữ db 2012 vào năm 2008, vậy làm cách nào để kiểm tra?

RESTORE VERIFYONLY FROM DISK = N'd:\yourbackup.bak' 

nếu nó mang lại cho lỗi như:

Msg 3241, Level 16, State 13, Line 2 Gia đình phương tiện truyền thông trên thiết bị 'd: \ alibaba.bak' không chính xác hình thành. SQL Server không thể xử lý nhóm phương tiện này. Msg 3013, Cấp 16, Tiểu bang 1, Dòng 2 XÁC NHẬN DATABASE đang kết thúc bất thường.

Kiểm tra nó thêm:

RESTORE HEADERONLY FROM DISK = N'd:\yourbackup.bak' 

BackupName là "* INCOMPLETE *", Chức vụ là "1", các lĩnh vực khác là "NULL".

Có nghĩa là bản sao lưu của bạn bị hỏng hoặc được lấy từ phiên bản mới hơn.

0

Tôi đã có một lỗi tương tự "diễn viên rõ là không hợp lệ" khôi phục lại từ SQL Server 2012 với SQL Server 2008 R2

Trước tiên tôi đã MDF và LDF Tên:

RESTORE FILELISTONLY 
FROM DISK = N'C:\Users\dell laptop\DotNetSandBox\DBBackups\Davincis3.bak' 
GO 

Thứ hai tôi khôi phục cùng với một MOVE bằng cách sử dụng những tên đó được trả về:

RESTORE DATABASE Davincis3 
FROM DISK = 'C:\Users\dell laptop\DotNetSandBox\DBBackups\Davincis3.bak' 
WITH 
    MOVE 'JQueryExampleDb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.mdf', 
    MOVE 'JQueryExampleDB_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.ldf', 
REPLACE 
GO 

Tôi không biết đầu mối "JQueryExampleDb", nhưng điều này có hiệu quả đối với tôi.

Tuy nhiên, các bản sao lưu (và cơ sở dữ liệu) không tương thích ngược với các phiên bản cũ hơn.

Các vấn đề liên quan