Đối với tình huống ban đầu của bạn, có vẻ như bạn đã thử một cái gì đó như thế này (hoặc bất cứ điều gì mà GUI chuẩn bị cho bạn khi bạn xem qua các hộp thoại):
CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
FOR ATTACH;
Tuy nhiên, phương pháp này yêu cầu cả mdf
tệp và một ldf
tập tin. Nếu không, bạn sẽ nhận được thông báo lỗi tương tự như:
Bây giờ, có một cách để tiếp tục ngay cả khi bạn chỉ có mdf
tập tin. Giả sử rằng bạn có mdf
tệp đã được tách đúng cách khỏi SQL Server, bạn sẽ có thể đính kèm mdf
tệp không có tệp nhật ký sử dụng cú pháp sau:
CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
FOR ATTACH_REBUILD_LOG;
Tuy nhiên, có vẻ như trong trường hợp của bạn, tệp không được tách đúng cách khỏi SQL Server:
Có một số giải thích có thể xảy ra, bao gồm cả những giải thích được đề cập trong thông báo lỗi. Có lẽ nó đã được truy xuất từ một bóng SAN không hợp lệ nào đó, hoặc bị tách ra trong khi chỉ đọc, hoặc được khôi phục sau khi SQL Server hoặc hệ thống cơ bản gặp sự cố, hoặc bị hỏng trong quá trình sao chép / tải xuống hoặc ai biết được điều gì khác.
Bạn sẽ cần quay lại bộ phận hỗ trợ của Yaf hoặc bộ phận hỗ trợ của nhà cung cấp dịch vụ của họ để xem có bản sao lưu phù hợp không có sẵn hoặc, không có, các bản sao thay thế của mdf
tập tin. Cũng nên nhớ rằng không ai trong chúng ta thực sự biết Yaf là gì hoặc có bất kỳ cách nào để xác minh Yaf mà bạn đang nói đến.
Nếu không, có vẻ như bạn đã gặp may vì mdf
cụ thể này tệp không hợp lệ và do đó sẽ không giúp bạn đi xa được.
Đây chính là lý do tại sao các phương pháp tách / đính kèm và / hoặc sao chép tệp mức O / S không phải là các phương pháp sao lưu (hoặc di chuyển, đối với vấn đề đó) rất hữu ích cho SQL Server. Bạn cần một kế hoạch sao lưu / phục hồi thích hợp, có nghĩa là sử dụng các bản sao lưu đầy đủ / khác biệt / nhật ký thích hợp phù hợp với khả năng mất dữ liệu của bạn. Và tách cơ sở dữ liệu hầu như luôn là một ý tưởng kém cỏi - khi có điều gì đó xảy ra với mdf
gửi trong hoặc sau khi tách, bạn hiện có ZERO bản sao cơ sở dữ liệu của bạn.