Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Triệu chứng

Khi bạn khôi phục cơ sở dữ liệu từ bản sao lưu bằng cách sử dụng tùy chọn thay thế trong Microsoft SQL Server 2012, tên tệp vật lý của cơ sở dữ liệu đã khôi phục xuất phát từ cơ sở dữ liệu sao lưu có thể ghi đè tên tệp vật lý của cơ sở dữ liệu hiện có. Ví dụ, hãy cân nhắc tình huống sau đây:

  • Bạn có hai phiên bản của SQL Server, InstanceA và InstanceB.

  • Bạn có một cơ sở dữ liệu có cùng tên, SQLDB, trên mỗi phiên bản của SQL Server.

  • Trên InstanceA, tên tệp dữ liệu cơ sở dữ liệu SQLDB là DB1_InstanceA. MDF và tên tệp nhật ký là DB1_InstanceA. LDF.

  • Trên InstanceB, tên tệp dữ liệu cơ sở dữ liệu SQLDB là DB1_InstanceB. MDF và tên tệp nhật ký là DB1_InstanceB. LDF.

  • Bạn tìm cách khôi phục một bản sao lưu của cơ sở dữ liệu SQLDB từ InstanceA trên cơ sở dữ liệu SQLDB từ InstanceB bằng cách sử dụng tùy chọn thay thế của lệnh khôi phục .

Trong trường hợp này, tên tệp vật lý trên SQLDB trên InstanceB sẽ được thay đổi thành DB1_InstanceA. MDF và DB1_InstanceA. LDF. 

Nguyên nhân

Hành vi này là do thiết kế trong SQL Server 2012.

Cách giải quyết

Để giải quyết vấn đề này, không sử dụng tùy chọn thay thế của lệnh khôi phục . Thay vào đó, hãy dùng tùy chọn di chuyển .Lưu ý Tùy chọn di chuyển có cung cấp tùy chọn để thay đổi tên tệp thể chất.

Thông tin Bổ sung

Tùy chọn với di chuyển chỉ cần thiết cho lần đầu tiên bạn sử dụng lệnh khôi phục . Khi bạn tìm cách khôi phục cơ sở dữ liệu từ bản sao lưu, SQL Server so sánh các giá trị ngã ba phục hồi của cơ sở dữ liệu. Sau đó, tập sao lưu sẽ thực thi những thao tác sau đây, tùy thuộc vào việc những giá trị khớp với:

  • Nếu có một kết quả khớp, tập sao lưu vẫn tiếp tục dùng tên tệp của cơ sở dữ liệu đích.

  • Nếu các giá trị khác nhau, tập sao lưu sẽ thay thế tên tệp vật lý của cơ sở dữ liệu đích bằng cách dùng tên từ tập sao lưu.

Khi bạn dùng tùy chọn di chuyển cùng với lệnh khôi phục , các thao tác sau sẽ được thực hiện:

  1. Một ngã ba phục hồi mới được tạo trên máy chủ đích.

  2. Trên thao tác khôi phục tiếp theo, ID Fork phục hồi từ tập sao lưu được khớp với ID của máy chủ đích.

  3. Một lệnh khôi phục được dùng cùng với tùy chọn thay thế sẽ giữ tên vật lý trên máy chủ đích.

Để biết thêm thông tin về lệnh khôi phục , hãy xem khôi phục (TRANSACT-SQL)

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×