Sửa lỗi 'error 3154' khi restore database trên SQL Server thành công.

đăng lúc

Backup và Restore là hai công việc rất quen thuộc và khá đơn giản với những ai hay làm việc với các công cụ quản lý dữ liệu như SQL Server. Tuy vậy, đối với những ai mới tiếp xúc hay mới làm quen với SQL Server thì việc khôi phục (restore) database từ một database khác thường xảy ra lỗi "error 3154" . Dẫn đến không thể khôi phục được cơ sở dữ liệu từ file backup.

Backup và Restore là hai công việc rất quen thuộc và khá đơn giản với những ai hay làm việc với các công cụ quản lý dữ liệu như SQL Server. Tuy vậy, đối với những ai mới tiếp xúc hay mới làm quen với SQL Server thì việc khôi phục (restore) database từ một database khác thường xảy ra lỗi "error 3154" . Dẫn đến không thể khôi phục được cơ sở dữ liệu từ file backup.


Vì vậy hôm nay mình sẽ hướng dẫn các bạn cách khắc phục lỗi phổ biến nhất khi restore database trên SQL Server :

Error 3154 : The backup set holds a backup of a database other than the existing database.  
Lỗi 3154 : File backup giữ một bản sao lưu của một cơ sở dữ liệu khác với cơ sở dữ liệu hiện tại.

Lỗi này thường xảy ra khi bạn restore file backup vào một database trên máy khác hoặc một database mới trên máy của mình. Một lỗi tương tự lỗi này là trong SQL Server đã có một database trùng tên với database của file backup.

Lỗi này được tìm kiếm trên google khá nhiều và hầu hết các kết quả mà bạn nhận được sẽ là tích chọn mục "Overwrite the existing database (WITH REPLACE)" trong mục Options. Tuy nhiên, cách này đôi lúc không hiệu quả, dù bạn đã tích chọn rồi nhưng khi nhấn Ok để restore thì vẫn bị lỗi 3154.


Dù đã chọn WITH REPLACE nhưng vẫn bị lỗi 3154

Vậy làm thế nào để sửa lỗi này hay các lỗi tương tự ?

Rất đơn giản, việc các bạn cần làm là khi restore hay đổi tên database. (demo ảnh dưới khi sử dụng restore qua File and group. Restore qua database các bạn chỉ cần làm tương tự.)


Sau đó các bạn hãy chọn mục Options ở phần đầu cột bên trái, vào xem phần đường dẫn lưu file database hai tên file .mdf.log đã dượcđổi theo tên database mới chưa. Xem hình dưới để rõ hơn.


Tức là, ví dụ ban đầu tên database của bạn là ABC, thì ban đầu 2 đường dẫn kia sẽ có dạng như sau :

Khi chưa đổi tên : 

Dòng bên trên : C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\ABC.mdf

Dòng bên dưới : C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\ABC_log.log

Sau khi bạn đổi tên database để khắc phục lỗi 3154 từ ABC sang một tên khác ví dụ bạn đổi từ ABC sang ABCD thì trước khi bấm Ok để restore bạn cần vào phần Options và xem xem 2 đường dẫn kia đã được đổi thành như bên dưới hay chưa

Sau khi đổi tên từ ABC sang ABCD

Dòng bên trên : C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\ABCD.mdf

Dòng bên dưới : C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\ABCD_log.log

Thường thì khi đổi tên database thì công cụ sẽ tự động sửa lại luôn cho các bạn. Nhưng để chắc chắn, các bạn vẫn nên kiểm tra lại xem 2 đường dẫn đã được cập nhật lại theo tên mới chưa. Nếu rồi. các bạn hãy nhấn Ok để bắt đầu quá trình khôi phục database. Lúc này sẽ không còn bị lỗi 3154 hay các lỗi tương tự nữa.

Sau khi máy báo thành công, các bạn hãy refresh lại database, lúc này các bạn sẽ thấy một database mới tên là ABCD chứa nội dung, data y hệt với database các bạn cần restore.

Nếu các bạn chọn restore với Database thay vì File and Group thì cũng chỉ cần làm tương tự để khắc phục lỗi 3154 này.

Chúc các bạn thành công.

Bản quyền thuộc về Rebvn.com. Mọi copy vui lòng ghi rõ nguồn.

Nội dung chính
    Bài đăng mới hơn Bài đăng cũ hơn