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. Show 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 CSDLBướ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ácSau 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 .sqlCá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 DatabaseBướ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ấtBướ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ệuBước 5: Nhấn Next để tiếp tục Nhấn NextBướ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ànhNhư 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.sqlBướ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! Công cụ quản trị SQL Server chính là SQL Server Management Studio (SSMS). Tạo một bản sao lưu thật dễ dàng: Nhấp chuột phải vào database, sau đó đi tới Tasks ⇒ Back Up… Trong cửa sổ tiếp theo, chọn thư mục mà bạn muốn lưu bản sao lưu. Nhấp vào nút Remove để xóa đường dẫn mặc định đến tệp sao lưu, sau đó nhấp vào Add và chọn một thư mục. Lưu ý rằng nếu bạn kết nối với máy chủ SQL bằng thông tin đăng nhập và mật khẩu, thì người dùng NT Service \ MSSQLSERVER phải có quyền ghi vào thư mục này. Cửa sổ này có 3 tab – General, Media Options, Backup Options. Khám phá chúng để hiểu có những tùy chọn nào. Ví dụ: Trên tab cuối cùng, bạn có thể bật tính năng nén , vì vậy tệp sao lưu sẽ được nén khi đang di chuyển. Điều này làm giảm đáng kể kích thước của bản sao lưu, đồng thời tăng đáng kể tải trên SQL Server. Bằng SQLBackupAndFTPSQLBackupAndFTP là một tiện ích sao lưu phổ biến. Tiện ích này tạo bản sao lưu cơ sở dữ liệu và ngay lập tức gửi chúng đến bộ nhớ đám mây theo lịch trình đã chọn. Giao diện của công cụ này rất đơn giản, và để cấu hình toàn bộ quá trình sao lưu, bạn không cần biết ngôn ngữ SQL, tập lệnh batch hoặc PowerShell. Tải xuống và cài đặt SQLBackupAndFTP. Sau khi ứng dụng được cài đặt, hãy khởi chạy nó và thiết lập kết nối với SQL Server. Nó có thể được thực hiện tại phần Connect to Database Server bằng cách nhấp vào biểu tượng bánh răng. Chọn Microsoft SQL Server (local) làm loại máy chủ của bạn và sử dụng thông tin đăng nhập để kết nối. Bước tiếp theo là chọn cơ sở dữ liệu bạn cần sao lưu. Nó có thể được thực hiện tại phần Select databases Bây giờ hãy chọn một nơi mà các bản sao lưu sẽ được lưu trữ. Lưu ý, bạn có thể chỉ định nhiều điểm đến. Đặt lịch sao lưu. Bạn có thể tìm cài đặt nâng cao bằng cách nhấp vào biểu tượng “bánh răng” trong phần Schedule backups Nếu bạn muốn nhận thông báo qua email nếu công việc sao lưu không thành công hoặc thành công, hãy chỉ định email của bạn vào các ô thích hợp trong phần Send confirmation Vậy là xong, công việc sao lưu của bạn đã sẵn sàng và sẽ được chạy theo lịch trình đã định. Bạn cũng có thể đặt nén và mã hóa cho các bản sao lưu của mình, thêm các tập lệnh tùy chỉnh trước hoặc sau các bản sao lưu và nhiều tùy chọn khác. Bằng dòng lệnhBạn có thể chạy các lệnh sao lưu và khôi phục từ dòng lệnh bằng tiện ích sqlcmd . Tiện ích này được cài đặt với SQL Server. sqlcmd –U sa –P “my-secret-password” –Q “BACKUP DATABASE [AdventureWorks] TO DISK \= ‘C:\Backup\AdventureWorks.bak’“ sqlcmd –U sa –P “my-secret-password” –Q “RESTORE DATABASE [AdventureWorks] FROM DISK \= ‘C:\Backup\AdventureWorks.bak’“ Chạy qua dòng lệnh có thể đặc biệt hữu ích trong các tập lệnh tự động hóa sao lưu. Một bản sao lưu khác biệt chỉ chứa dữ liệu đã thay đổi kể từ lần sao lưu đầy đủ cuối cùng. Để tạo một bản sao lưu vi sai, hãy chạy lệnh sau: BACKUP DATABASE [AdventureWorks] TO DISK \= N‘D:\Backups\diff.bak’ WITH DIFFERENTIAL Để khôi phục bản sao lưu vi sai, trước tiên bạn cần khôi phục bản sao lưu đầy đủ với tùy chọn NO RECOVERY, sau đó là sao lưu vi sai. RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\full.bak’ WITH REPLACE, NORECOVERY RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\diff.bak’ WITH RECOVERY Bản sao lưu nhật ký giao dịch chỉ chứa những gì đã thay đổi sau khi tạo bản sao lưu nhật ký giao dịch trước đó hoặc một bản sao lưu đầy đủ. BACKUP LOG [AdventureWorks] TO DISK \= N‘D:\Backups\log1.bak’ Bạn có thể thực hiện một số thay đổi đối với cơ sở dữ liệu và thực hiện lại sao lưu nhật ký: BACKUP LOG [AdventureWorks] TO DISK \= N‘D:\Backups\log2.bak’ Để khôi phục bản sao lưu từ tệp log2.bak, bạn cũng sẽ cần tệp log1.bak và full.bak: RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\full.bak’ WITH REPLACE, NORECOVERY RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\log1.bak’ WITH NORECOVERY RESTORE DATABASE [AdventureWorks] FROM DISK \= N‘D:\Backups\log2.bak’ WITH RECOVERY Các cách thay thế để sao lưu dữ liệuSao lưu thông qua lệnh BACKUP DATABASE của SQL nhanh chóng và không tải cơ sở dữ liệu. Tuy nhiên, trong một số trường hợp, không thể:
Xuất ứng dụng cấp dữ liệuỨng dụng Data-Tier là một đơn vị triển khai cơ sở dữ liệu độc lập chứa tất cả các định nghĩa cơ sở dữ liệu như bảng, dạng xem, người dùng, v.v. Kết quả của việc xuất, bạn sẽ nhận được một kho lưu trữ với một tập hợp các tệp XML. Chức năng này chủ yếu nhằm mục đích truyền dữ liệu giữa các máy chủ SQL khác nhau. Tuy nhiên, tính năng này cũng có thể được sử dụng để tạo một bản sao lưu logic nén . Bạn có thể chọn những đối tượng bạn muốn thêm vào bản sao lưu. Bằng cách này, bạn có thể sử dụng tính năng xuất để sao lưu một phần . Lưu ý quan trọng: Ứng dụng cấp dữ liệu xuất không được thực thi trong một giao dịch. Do đó, dữ liệu có thể được xuất ở trạng thái không nhất quán Ví dụ: Bản ghi trong bảng có thể tham chiếu đến khóa ngoại không có sẵn trong bảng khác. Để tránh điều này, bạn nên chụp nhanh cơ sở dữ liệu trước khi xuất. CREATE DATABASE [AdventureWorks_Snapshot] ON (NAME = AdventureWorks_data, FILENAME = ‘d:\Backups\AdventureWorks2017.snap’) AS SNAPSHOT OF [AdventureWorks] Bằng SQL Server Management StudioCách đơn giản nhất để thực thi Ứng dụng cấp dữ liệu xuất là thông qua giao diện người dùng SSMS.
Để khôi phục, hãy nhấp chuột phải vào Databases và chọn Import Data-Tier Application Trong cửa sổ mở ra, chỉ định đường dẫn đến tệp .bacpac. Bằng sqlpackage.exeMột cách thay thế để thực hiện xuất ứng dụng tầng dữ liệu là sử dụng tiện ích sqlpackage.exe . Nó có thể được tải xuống từ trang web chính thức. |