Detach database là gì

Trình duyệt của bạn không hỗ trợ nghe audio.

Lệnh DETACH DTABASE trong SQLite được sử dụng để detach và phân tách một cơ sở dữ liệu từ một kết nối database mà đã được attach trước đó với lệnh ATTACH. Nếu cùng một Database file đã được attach với nhiều alias, thì lệnh DETACH sẽ chỉ phân tách một cơ sở dữ liệu có tên đã cung cấp, và giữ nguyên phần còn lại. Bạn không thể detach hai cơ sở dữ liệu là main hoặc temp.

Nếu cơ sở dữ liệu là tạm thời, thì nó sẽ bị hủy và nội dung sẽ bị thất lạc.

Cú pháp cơ bản của lệnh DETACH DATABASE 'Alias-Name' trong SQLite là như sau:

DETACH DATABASE 'Alias-Name';

Ở đây, 'Alias-Name' chính là alias mà bạn đã sử dụng trong khi attach cơ sở dữ liệu bởi sử dụng lệnh ATTACH.

Ví dụ

Giả sử bạn có một Database,, mà bạn đã tạo trong chương trước và attach với test và currentDB như chúng ta quan sát được khi sử dụng lệnh .database sau:

sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db 3 currentDB /home/sqlite/testDB.db

Bây giờ, detach cơ sở dữ liệu currentDB từ testDB.db như sau:

sqlite> DETACH DATABASE 'currentDB';

Sau đó bạn có thể kiểm tra các attach hiện tại, bạn sẽ thấy rằng testDB.db vấn được gắn kết với test và main.

sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db

Hướng dẫn thực hiện chuyển 1 Database từ máy tính này sang máy tính khác và dữ liệu, các bảng,.. vẫn được giữ nguyên trong SQL Server.

Mình có 1 Database tên: TruongGiangIT trong này có Table Users có dữ liệu đã Insert sẵn, giờ mình muốn gửi Database này cho một người khác sử dụng hoặc mình muốn sao chép sang 1 máy tính khác sử dụng SQL Server

Cách 1: Sử dụng Detach CSDL

Bước 1: Chuột phải Database > Tasks > Detach…

Bước 2: Thực hiện Copy 2 file Database

*Thường là 2 file này trong thư mục Data các bạn truy cập đường dẫn sau:

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

*Bạn chỉ cần gửi 2 file này cho người khác là có thể khôi phục dữ liệu trên máy khác

Hướng dẫn khôi phục trên máy khác

Sau khi nhận được 2 file này, bạn dán 2 file này vào đường dẫn lúc này nhé

Đường dẫn: C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

Thực hiện dán xong các bạn Attach… lại Database

Thực hiện: Chuột phải Database > Attach.. > Add > Chọn TruongGiangIT.mdf > OK > OK

Database TruongGiangIT đã chuyển thành công.

Sau đó sẽ thấy Database đã thêm thành công! Nếu chưa có thì các bạn Refresh lại để thấy Database đã có trong SQL Server chưa nhé!

Cách 2: Xuất file .sql

Cách này chúng ta sẽ xuất file định dạng .sql từ máy này và chạy file .sql này trên máy khác để có được CSDL cần khôi phục.

Bước 1: Nhấn chuột phải vào Database chọn Tasks > Generate Scripts…

Chuột phải vào Database

Bước 2: Nhấn Next để tiếp tục

Nhấn Next…

Bước 3: Các bạn có thể chọn 1 số Table hoặc có thể lấy tất cả [Trong ảnh mình sẽ lấy hết tất cả]
Chọn Select specific database objects > check Tables

Chọn Table cần xuất

Bước 4: Để xuất file .sql kèm dữ liệu thì cần cấu hình như sau: Advanced > Tại: Types of data to script chọn “Schema and data [Có cả dữ liệu trong file xuất ra] > OK > Next

Xuất file sql kèm dữ liệu

Bước 5: Nhấn Next để tiếp tục

Nhấn Next

Bước 6: Kiểm tra trạng thái xuất file và nhấn Finish để hoàn tất quá trình xuất file script.sql

Hoàn thành

Như vậy chúng ta đã xuất thành công file script.sql nằm trong đường dẫn: C:\Users\vip\Documents\script.sql bây giờ chúng ta sẽ tiến hành chạy file script.sql này.

Hướng dẫn sử dụng file script.sql

Bước 1: Mở SQL Server  chọn File > Open > File…

Bước 2: Chọn file script.sql để mở trong SQL Server

Bước 3: Chúng ta cần tạo 1 Database giống với tên của Database cũ để chứa dữ liệu sắp nhập vào.
VD: Trong trường hợp này chúng ta phải tạo Database tên TruongGiangIT

Bước 4: Chọn tất cả câu lệnh và nhấn Execute. Kết quả thành công sẽ hiện thông báo: Command[s] completed successfully. Mở Datbase TruongGiangIT ra sẽ thấy tất cả các bảng và dữ liệu chúng ta cần.

OK như vậy thì mình đã hướng dẫn các bạn mà lấy dữ liệu trong SQL Server từ máy này sang máy khác thành công qua 2 các trên. Nếu thao tác có lỗi xảy ra, vui lòng để lại bình luận để mình hỗ trợ. Chúc các bạn thành công!

Video liên quan

Chủ Đề