Tôi có một cơ sở dữ liệu trong dev (SQL Server 2005 trên Windows Server 2008) mà tôi cần chuyển sang prod (SQL Server 2000 trên Windows Server 2003). Quá trình của tôi như sau:
- Đăng nhập vào dev, mở SQL Server Management Studio
- Nhấp chuột phải vào cơ sở dữ liệu | Nhiệm vụ | Sao lưu. Giữ tất cả các tùy chọn mặc định (sao lưu đầy đủ, v.v.)
- Di chuyển tệp .bak cục bộ sang prod (không có ổ đĩa mạng), đăng nhập vào prod, mở SQL Server Enterprise Manager.
- Nhấp chuột phải vào nút Cơ sở dữ liệu | Tất cả các nhiệm vụ | Khôi phục cơ sở dữ liệu.
- Thay đổi Khôi phục dưới dạng cơ sở dữ liệu để phản ánh cùng tên cơ sở dữ liệu.
- Nhấp vào nút radio 'Từ thiết bị'. Nhấp vào 'Chọn thiết bị'
- Nhấp vào Khôi phục từ: Thêm ..., duyệt đến tệp .bak (nhỏ - chỉ 6mb)
Bây giờ tôi đã sẵn sàng để khôi phục cơ sở dữ liệu, vì vậy tôi nhấp vào OK và nhận được lỗi sau:
"Họ phương tiện trên thiết bị 'E: ... bak' được hình thành không chính xác. Máy chủ SQL không thể xử lý họ phương tiện này. RESTORE DATABASE đang chấm dứt bất thường."
Lỗi này là ngay lập tức.
Tôi đã thử một vài biến thể khác nhau của việc này - khôi phục máy db thành dev với tên db và tên tệp nhật ký khác nhau (nơi nó bắt nguồn), tạo một cơ sở dữ liệu trống có cùng đường dẫn vật lý đến các tệp trước đó và cố gắng khôi phục lại, tạo một vài tệp .bak khác nhau và đảm bảo rằng chúng được xác minh trước khi tải chúng lên prod. Tôi biết thực tế thư mục cho các tệp .mdf và .ldf tồn tại trên prod, mặc dù các tệp không tồn tại. Nếu, trước khi tôi nhấp OK để khôi phục, hãy chuyển đến tab tùy chọn thay vì tôi gặp lỗi sau:
Lỗi 3241: Họ phương tiện trên thiết bị 'E: ... bak' được hình thành không chính xác. SQL Server không thể xử lý họ phương tiện truyền thông này. RESTORE FILELIST đang chấm dứt bất thường.
Bất cứ ai có bất kỳ ý tưởng tươi sáng?