Hướng dẫn xuất cơ sở dữ liệu SQL Server để import trên phiên bản thấp hơn

Thứ hai - 30/09/2024 23:35
Khi bạn cố gắng import cơ sở dữ liệu được xuất ra từ SQL Server phiên bản cao hơn vào SQL Server phiên bản cũ (Ví dụ import file được xuất ra từ SQL Server 2017 vào SQL Server 2012), có thể bạn sẽ nhận được thông báo lỗi sau:
Hướng dẫn xuất cơ sở dữ liệu SQL Server để import trên phiên bản thấp hơn
1. Hướng dẫn xuất cơ sở dữ liệu SQL Server để import trên phiên bản thấp hơn:
Khi bạn cố gắng import cơ sở dữ liệu được xuất ra từ SQL Server phiên bản cao hơn vào SQL Server phiên bản cũ (Ví dụ import file được xuất ra từ SQL Server 2017 vào SQL Server 2012), có thể bạn sẽ nhận được thông báo lỗi sau:
Msg 1813, Level 16, State 2, Line 1 
Could not open new database 'DatabaseName'. CREATE DATABASE is aborted. 
Msg 948, Level 20, State 1, Line 1 
The database 'DatabaseName' cannot be opened because it is version 655. This server supports version 611 and earlier. A downgrade path is not supported.
Sở dĩ có thông báo lỗi này là vì SQL Server không cho phép bạn import cơ sở dữ liệu từ phiên bản SQL Server cao hơn sang phiên bản SQL Server thấp hơn.
Tuy nhiên, có một vài biện pháp có thể giúp bạn hạ cấp cơ sở dữ liệu từ phiên bản SQL Server cao hơn xuống SQL Server phiên bản thấp hơn. Bài viết này sẽ hướng dẫn các bạn  hạ cấp cơ sở dữ liệu từ phiên bản SQL Server cao hơn xuống SQL Server phiên bản thấp hơn.
Nội dung bài viết này sẽ giả định trường hợp xuất cơ sở dữ liệu từ SQL Server 2017 để có thể import trên SQL Server 2012:
Click chuột phải vào database của các bạn -> Task -> Generate Scripts...




Tại tab Generate and Publish Scripts chọn Next
 

 
Các bạn tích vào ô Script entire database and all database objects và bấm Next
 

 
Tại tab Set Scripting Options  các bạn click vào nút Advanced
 

 
Tại khung Advanced Scripting Options các bạn thiết lập như sau :
- ANSI Padding => True
- Script for Server Version => SQL Server 2012
 Script Foreign Keys => True
- Script Indexes => True
- Script Primary Keys => True
- Script Unique Keys => True
- Types of data to script => Scema and data
 

 
Sau khi thiết lập các bạn bấm OK để đóng của sổ Advanced Scripting Options . Tại cửa sổ Set Scripting Options phần File name các bạn có thể trọn vị trí muốn lưu file scripts sau khi xuất.
 

 
Sau đó các bạn bấm Next
 


 
Khi các tập lệnh được tạo thành công, chọn nút Finish  để đóng cửa sổ Generate and Publish Scripts.
 

 
Lúc này sẽ có một file script.sql được tạo tại đường dẫn Target đã chọn ở bước trước
 


 
Chúc quý khách thành công

2. Hướng dẫn tạo lại một database từ một file script có sẵn trong Sql Server 2012

2.1. Khi bạn đã có 1 file script ( .sql) thì việc tạo lại database rất đơn giản.
Cách 1: 
Bước 1: bạn mở file script lên bằng sql server
Bước 2: sửa lại đường dẫn cho phù hợp với đường dẫn trong máy tính của bạn:
Bước 3: Thực hiện execute để insert dữ liệu vào database
Lưu ý: phiên bản Sql Server dùng để chạy script phải bằng hoặc cao hơn phiên bản sql của file script đó.
2.2. Một số lỗi có thể gặp phải khi tạo lại database từ file script
2.2.1. Msg 1801, Level 16, State 3, Line. Database 'Vinabook' already exists. Choose a different database name.
Lỗi trên xảy ra khi bạn cố tạo một database đã tồn tại trong sql server. Để có thể tạo lại bạn phải xóa database cũ đi.
2.2.2. Msg 5133, Level 16, State 1 … Directory lookup for the file
Lỗi trên xảy ra do đường dẫn lưu file mdf và ldf của bạn không đúng.

Cách 2:

Bước 1: Dùng CMD với quyền Administrator
Bước 2: Dùng dòng lệnh sau
sqlcmd -S 'Tên máy chủ sql server' -U 'tài khoản đăng nhập sql server' -P 'Mật khẩu của tài khoản sql server' -d 'Tên data base' -i đường dẫn file .sql
Ví dụ: 
sqlcmd -S ADMIN-PC\MISASME2020 -U sa -P 2357111317192329@Abc -d HINDAR_NB -i C:\1.sql
 











 

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây