Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Di chuyển Cơ sở dữ liệu Microsoft Access sang SQL Server

Giới thiệu

Microsoft Access là một hệ thống quản lý cơ sở dữ liệu máy tính để bàn phổ biến kết hợp các công cụ phát triển ứng dụng (Biểu mẫu, Báo cáo, Truy vấn, macro VBA) với DBMS quan hệ. MS Access lý tưởng cho người dùng cá nhân hoặc cho các nhóm làm việc nhỏ, nơi một số người dùng làm việc trên dữ liệu cùng một lúc bằng cách chia sẻ tệp cơ sở dữ liệu MS Access qua mạng cục bộ.

Tuy nhiên, khi số lượng người dùng đồng thời tăng trên một số ít, MS Access bắt đầu gặp phải các vấn đề với việc chia sẻ dữ liệu. Một giải pháp cho vấn đề "mở rộng quy mô" này là tách cơ sở dữ liệu MS Access và lưu trữ dữ liệu trong một máy chủ DBMS dựa trên máy chủ, chẳng hạn như Microsoft SQL Server.

Microsoft cung cấp một công cụ tiện dụng được gọi là “Microsoft SQL Server Migration Assistant for MS Access” (SSMA) để hỗ trợ di chuyển các bảng cơ sở dữ liệu từ cơ sở dữ liệu MS Access sang SQL Server. Trước khi đi vào các bước thực tế của quy trình này, sẽ rất hữu ích nếu bạn hiểu kiến ​​trúc của hệ thống cơ sở dữ liệu MS Access. Kiến trúc này được mô tả bắt đầu từ trang tiếp theo.

Điều kiện tiên quyết

Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo rằng phần mềm sau đã được cài đặt sẵn.

Hướng dẫn này được viết bằng Microsoft Access 2013 (từ MS Office 64-bit) chạy trên hệ điều hành Windows 7 64-bit. MS Access 2010 và 2016 cũng có thể hoạt động nhưng chưa được kiểm tra. Đảm bảo kiểm tra MS Office vì MS Access 32 bit sẽ không có hỗ trợ thích hợp để cho phép SSMA hoạt động.

Bạn cũng có thể cần cài đặt phần mềm MS Access 2010 Runtime. Phần mềm này ban đầu được thiết kế để đọc các tệp cơ sở dữ liệu MS Access mà không cần cài đặt phiên bản MS Access hoàn chỉnh. QL Server Migration Assistant sử dụng phần Đối tượng truy cập dữ liệu (DAO) trong MS Access 2010 Runtime để mở tệp MS Access.

Tệp cơ sở dữ liệu MS Access mẫu được cung cấp (xem các trang tiếp theo để biết các liên kết đến tệp này).

Hệ quản trị cơ sở dữ liệu đích sẽ là Microsoft SQL Server. Hướng dẫn này yêu cầu thông tin xác thực (tên người dùng, mật khẩu, v.v.) đối với phiên bản SQL Server. Bạn có thể cài đặt MS SQL Server trên PC hoặc máy chủ của riêng mình, sử dụng máy chủ hiện có trong nhà hoặc nơi làm việc của bạn hoặc sử dụng dịch vụ dựa trên đám mây để lưu trữ SQL Server cho bạn. Hướng dẫn thiết lập phiên bản SQL Server trên GearHost được cung cấp tại đây:/ get-start-with-gearhost-for-sql-server-database-development /

Lưu ý rằng kể từ năm 2021, GearHost không còn phiên bản Máy chủ SQL miễn phí nữa. Bạn có thể muốn thử lấy tài khoản Sinh viên trên Microsoft Azure và sử dụng Cơ sở dữ liệu SQL Azure.

Bạn cũng nên có sẵn Microsoft SQL Server Management Studio để trực tiếp khám phá và làm việc với SQL Server. Sử dụng SQL Server Management Studio để kết nối với phiên bản SQL Server của bạn và tạo Cơ sở dữ liệu trống.

Phiên bản SQL Server do GearHost lưu trữ được sử dụng cho hướng dẫn này. Cơ sở dữ liệu mẫu có tên testmssqldb1 đã được tạo như được hiển thị trong SQL Server Management Studio Object Explorer bên dưới.

Cuối cùng, hãy nhớ tạo bản sao lưu của bất kỳ (các) tệp cơ sở dữ liệu MS Access nào trước khi chuyển chúng sang SQL Server.

Phần tiếp theo giới thiệu kiến ​​trúc của cơ sở dữ liệu Microsoft Access.

Kiến trúc cơ sở dữ liệu Microsoft Access

Hầu hết các hệ thống thông tin sử dụng cơ sở dữ liệu để lưu trữ dữ liệu có thể được mô tả bởi bốn thành phần chính:

  1. Giao diện Người dùng - Đây là các biểu mẫu, báo cáo và truy vấn mà người dùng cuối của hệ thống tương tác.
  2. Logic Kinh doanh - Đây là mã lập trình thực hiện các quy tắc kinh doanh khác nhau mà tổ chức hoạt động. Ví dụ, có thể có một quy tắc kinh doanh rằng không nhân viên nào được giao hơn 30 giờ mỗi tuần cho một dự án. Quy tắc này sẽ được thực hiện trong mã lập trình.
  3. Hệ thống Quản lý Cơ sở dữ liệu - Đây là phần mềm dùng để quản lý dữ liệu trong cơ sở dữ liệu. Nó cũng có thể có các tính năng như kiểm soát đồng thời để cho phép nhiều người dùng làm việc với dữ liệu một cách an toàn. Một số ví dụ về DBMS bao gồm MS Access, MS SQL Server, Oracle, MySQL và Postgres.
  4. Cơ sở dữ liệu - Đây là nơi dữ liệu thực tế được lưu trữ. Thông thường, dữ liệu được tổ chức trong một tập hợp các bảng cơ sở dữ liệu. Mỗi bảng có các cột và bản ghi dữ liệu.

A Kiến trúc hệ thống cơ sở dữ liệu mô tả cách sắp xếp từng thành phần trong số bốn thành phần này. Thường thì thuật ngữ “Giao diện người dùng” được sử dụng để mô tả các thành phần Giao diện người dùng và Logic nghiệp vụ. “Back End” bao gồm DBMS và Cơ sở dữ liệu.

Là một DBMS dành cho máy tính để bàn, MS Access lưu trữ tất cả các thành phần của ứng dụng hệ thống cơ sở dữ liệu trong một tệp duy nhất. Phần mềm DBMS chạy trên máy tính để bàn. Biểu mẫu, báo cáo và truy vấn Nhập dữ liệu tương tác với các bảng cơ sở dữ liệu được lưu trữ trong cùng một tệp Cơ sở dữ liệu MS Access (tệp .accdb) như thể hiện trong hình bên dưới.

Để chia sẻ dữ liệu MS Access qua mạng cục bộ, chúng ta có thể "tách" tệp cơ sở dữ liệu thành hai. Một tệp sẽ chứa Biểu mẫu, Báo cáo, Truy vấn và các phần khác của ứng dụng cơ sở dữ liệu, trong khi tệp cơ sở dữ liệu thứ hai sẽ chỉ chứa các bảng cơ sở dữ liệu và dữ liệu của chúng. Các thành phần ứng dụng (Biểu mẫu, báo cáo, v.v.) sẽ sử dụng Liên kết ngoài tới tệp cơ sở dữ liệu thứ hai để truy xuất và cập nhật dữ liệu. Điều này được thể hiện trong hình bên dưới.

Khi số lượng người dùng tăng lên, phương pháp chia sẻ dữ liệu này sẽ trở nên hạn chế. Trong trường hợp này, chúng ta có thể di chuyển các bảng cơ sở dữ liệu sang Microsoft SQL Server. Một lần nữa, các liên kết bên ngoài sẽ được sử dụng để kết nối các thành phần ứng dụng (Biểu mẫu, báo cáo, v.v.) với các bảng cơ sở dữ liệu như thể hiện trong hình bên dưới.

Phương pháp “chia nhỏ” hoặc “tăng kích thước” cho SQL Server là trọng tâm của hướng dẫn này.

Phần tiếp theo giới thiệu một cơ sở dữ liệu MS Access mẫu sẽ được sử dụng để chứng minh việc di chuyển cơ sở dữ liệu.

Cơ sở dữ liệu nhân viên mẫu

Hướng dẫn này sử dụng cơ sở dữ liệu Nhân viên đơn giản có thể tải xuống từ liên kết này. Trong cơ sở dữ liệu này có 4 bảng chính:Phòng ban, Nhân viên, Dự án và Phân công dự án.

Mối quan hệ giữa các bảng được hiển thị bên dưới:

Có 5 biểu mẫu Nhập dữ liệu, một truy vấn và một báo cáo.

Hãy dành vài phút để khám phá cơ sở dữ liệu này trước khi chuyển sang phần hướng dẫn. Đảm bảo đóng tệp cơ sở dữ liệu sau khi bạn khám phá xong. Đồng thời tạo một bản sao lưu của tệp trong trường hợp bạn muốn lặp lại hướng dẫn này trong tương lai.

Trong phần tiếp theo của hướng dẫn này, Microsoft SQL Server Migration Assistant cho các tiện ích MS Access sẽ được tải xuống và cài đặt.

Tải xuống và cài đặt Microsoft SQL Server Migration Assistant cho MS Access

Có thể tải xuống Microsoft SQL Server Migration Assistant cho MS Access từ trang web sau của Microsoft:https://www.microsoft.com/en-us/download/details.aspx?id=54255

Nhấp vào Tải xuống và sau đó lưu tệp mới. Tên tệp phải là SSMA cho Access.7.3.0.msi mặc dù có thể có phiên bản mới hơn trong tương lai. Bấm đúp vào tệp SSMA cho Access.7.3.0.msi để khởi chạy trình cài đặt.

Khi màn hình Chào mừng xuất hiện, hãy nhấp vào nút Tiếp theo để chuyển sang bước tiếp theo.

Đọc qua Thỏa thuận cấp phép người dùng cuối, nhấp vào nút Tôi chấp nhận thỏa thuận nút radio rồi nhấp vào nút Tiếp theo để tiếp tục.

Nhấp vào Cài đặt tùy chỉnh rồi chọn các tính năng cần cài đặt cũng như vị trí cài đặt. Chọn tất cả các tính năng để cài đặt và chọn đích (thường là ổ C:). Nhấp vào Tiếp theo để tiếp tục.

Tại thời điểm này, sản phẩm đã sẵn sàng để cài đặt. Nhấp vào Cài đặt để tiếp tục.

Trình cài đặt sẽ mất một vài phút để hoàn tất quá trình cài đặt. Trong thời gian đó, một màn hình trạng thái sẽ xuất hiện như hình dưới đây.

Sau khi cài đặt SSMA hoàn tất, hãy nhấp vào nút Kết thúc nút.

SQL Server Migration Assistant for Access sẽ xuất hiện trên menu Bắt đầu của Windows. Cũng sẽ có một nhóm Hỗ trợ di chuyển máy chủ SQL cho Access.

Bây giờ SSMA đã được cài đặt, cơ sở dữ liệu MS Access có thể được di chuyển. Các bước này được trình bày trên trang tiếp theo.

Di chuyển Cơ sở dữ liệu MS Access

Đảm bảo rằng bạn có một bản sao lưu cơ sở dữ liệu MS Access của mình.

Tìm mục menu Microsoft SQL Server Migration Assistant for Access trên menu Bắt đầu của Windows và nhấp vào mục đó để khởi chạy SSMA.

Trình hướng dẫn SSMA sẽ xuất hiện, hiển thị màn hình Chào mừng. Ghi lại phác thảo của 6 bước sẽ được hoàn thành. Tại thời điểm này, bạn sẽ cần có sẵn tệp cơ sở dữ liệu Nhân viên MS Access cũng như thông tin đăng nhập cho Cơ sở dữ liệu MS SQL Server. Nhấp vào Tiếp theo để chuyển sang bước đầu tiên trong Trình hướng dẫn.

Bước đầu tiên là tạo một Dự án di chuyển mới. Đặt tên cho dự án (Employee_Database_Migration_Project được sử dụng cho ví dụ này). Chọn một thư mục để lưu trữ Dự án. Cuối cùng chọn phiên bản SQL Server cho cơ sở dữ liệu SQL Server đích. SQL Server 2016 sẽ được sử dụng trong ví dụ này. Sau khi hoàn tất, hãy nhấp vào nút Tiếp theo nút.

Bước tiếp theo là thêm cơ sở dữ liệu MS Access sẽ được di chuyển. Biểu mẫu sẽ xuất hiện trống tại thời điểm này. Nhấp vào Thêm cơ sở dữ liệu nút.

Điều hướng đến thư mục chứa tệp worker.accdb và chọn tệp đó. Nhấp vào nút Mở nút.

Tệp worker.accdb bây giờ sẽ được liệt kê. Nhấp vào Tiếp theo để tiếp tục.

Bây giờ cơ sở dữ liệu MS Access đã được mở, bước tiếp theo là chọn nội dung của cơ sở dữ liệu sẽ được di chuyển sang SQL Server. Nói chung, chỉ các Bảng sẽ được di chuyển và chúng phải được chọn theo mặc định. Cũng lưu ý rằng mọi chỉ mục và khóa chính là một phần của mỗi bảng cũng sẽ được di chuyển. (Nếu không có bảng nào được liệt kê, hãy cài đặt phần mềm MS Access 2010 Runtime và thử lại).

Đối với ví dụ này, hãy đảm bảo rằng tất cả các bảng cơ sở dữ liệu được chọn như hình dưới đây. Nhấp vào Tiếp theo để tiếp tục.

Bước tiếp theo trong Wizard là chỉ định thông tin xác thực cho phiên bản SQL Server đích. Điền vào các trường theo cấu hình SQL Server của bạn. Đối với ví dụ này, một phiên bản SQL Server trên Gearhost được sử dụng.

Tên máy chủ lưu trữ sẽ là tên máy chủ internet hoặc địa chỉ IP của máy chủ. Nếu SQL Server được cài đặt trên PC hoặc máy chủ cục bộ của bạn, hãy sử dụng localhost làm tên máy chủ.

Cổng máy chủ là số cổng cho trình nghe SQL Server. Để nó ở chế độ mặc định (trừ khi bạn đã thay đổi cấu hình này trên SQL Server của mình).

Cơ sở dữ liệu sẽ là tên của cư dân cơ sở dữ liệu trên phiên bản SQL Server. Đối với ví dụ này, một cơ sở dữ liệu mẫu có tên testmssqldb1 đã được tạo trên máy chủ.

Chọn phương pháp Xác thực cho phiên bản SQL Server của bạn. Đối với ví dụ này, Xác thực Máy chủ SQL sẽ được sử dụng. Tên người dùng và mật khẩu được liên kết với phiên bản SQL Server phải được cung cấp.

Điền thông tin đăng nhập còn lại bao gồm Tên người dùng và Mật khẩu và chọn các tùy chọn thích hợp nếu kết nối có được mã hóa hay không.

Sau khi tất cả thông tin đăng nhập được nhập, hãy nhấp vào nút Tiếp theo nút.

Tại thời điểm này, Trình hướng dẫn di chuyển sẽ nhắc Liên kết ứng dụng cơ sở dữ liệu (Biểu mẫu, báo cáo, v.v.) với các bảng cơ sở dữ liệu SQL Server kết quả. Đây chính xác là những gì được yêu cầu trong trường hợp này. Đảm bảo rằng Bảng liên kết hộp kiểm được chọn và nhấp vào Tiếp theo nút.

Màn hình Trạng thái di chuyển sẽ xuất hiện khi dữ liệu nguồn được phân tích và chuẩn bị để tải vào SQL Server.

Sau khi chuyển đổi, một hộp thoại sẽ xuất hiện hiển thị danh sách tất cả các bảng và các chỉ mục và trình kích hoạt liên quan của chúng (nếu có). Trong ví dụ này, tất cả các bảng và các đối tượng liên quan của chúng sẽ được di chuyển sang SQL Server. Nhấp vào nút OK để đóng hộp thoại này.

Trình hướng dẫn sẽ tiếp tục xử lý dữ liệu bảng và tải các đối tượng đã chuyển đổi vào cơ sở dữ liệu.

Trong Liên kết các bảng được chuyển đổi bước này, Trình hướng dẫn có thể nhắc nhập lại thông tin đăng nhập Máy chủ SQL. Cung cấp lại các thông tin xác thực này và nhấp vào nút Kết nối nút.

Trình hướng dẫn di chuyển sẽ tiếp tục. Khi quá trình di chuyển hoàn tất, một màn hình tóm tắt sẽ xuất hiện. Nếu có bất kỳ lỗi nào, hãy nhấp vào Báo cáo được liên kết để xem lại chúng. Khi hoàn tất, hãy nhấp vào nút Đóng nút.

Màn hình SSMA chính sẽ xuất hiện. Kéo xuống Tệp và chọn Lưu dự án để lưu dự án hiện tại. Chọn Nhân viên cơ sở dữ liệu để trích xuất và lưu siêu dữ liệu.

Tại thời điểm này, công việc di chuyển đã hoàn tất và chúng ta có thể thoát khỏi chương trình SSMA.

Phần cuối cùng của hướng dẫn trình bày cách chạy ứng dụng cơ sở dữ liệu MS Access mới được di chuyển.

Chạy ứng dụng cơ sở dữ liệu MS Access

Mở tệp cơ sở dữ liệu Employeedb.accdb trong MS Access. Lưu ý rằng các bảng ban đầu hiện đã được đổi tên. Ví dụ, bảng nhân viên ban đầu hiện được đặt tên là SSMA $ staff $ local. Bảng này vẫn được lưu trữ bên trong tệp cơ sở dữ liệu Employeedb.accdb.

Bốn liên kết bảng cơ sở dữ liệu mới đã được tạo ra. Thay vào đó, tất cả các Biểu mẫu, Truy vấn và Báo cáo hiện có tham chiếu đến những tên này sẽ tham chiếu đến các liên kết đến từng bảng trên cơ sở dữ liệu SQL Server. Để kiểm tra điều này, hãy mở Biểu mẫu nhập dữ liệu của Bộ.

Bạn có thể nhận được thông báo lỗi "Đăng nhập" hoặc "Kết nối không thành công" như hình dưới đây:

Nhấp vào nút OK và sau đó cung cấp thông tin xác thực thích hợp cho phiên bản SQL Server. Sau đó, nhấp vào nút OK nút.

Từ quan điểm của người dùng cuối, không có sự thay đổi về cách thức hoặc chức năng của biểu mẫu. Vấn đề nhỏ duy nhất mà người dùng có thể gặp phải là một chút chậm trễ trong việc mở một bộ sưu tập lớn dữ liệu vì yêu cầu phải được gửi đến một phiên bản SQL Server từ xa, sau đó cần đóng gói kết quả và đưa chúng trở lại ứng dụng cơ sở dữ liệu MS Access.

Mở một số biểu mẫu nhập dữ liệu bổ sung và đảm bảo rằng tất cả chúng đều hoạt động bình thường.

Khi chức năng của cơ sở dữ liệu được di chuyển đã được xác nhận, các bảng ban đầu (hiện đã được đổi tên) có thể bị xóa khỏi tệp cơ sở dữ liệu Employeedb.accdb. Sau bước này, tệp cơ sở dữ liệu Employeedb.accdb có thể được phân phối cho người dùng để họ có thể bắt đầu làm việc với dữ liệu hiện được lưu trữ ở vị trí trung tâm trong phiên bản SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng COLUMNPROPERTY () để trả về thông tin cột hoặc thông số trong SQL Server

  2. SQL Server:Cột thành hàng

  3. Làm cách nào để so sánh 2 hàng từ cùng một bảng (SQL Server)?

  4. Giải thích tất cả toán tử SQL Server

  5. Nhận tất cả các bậc cha mẹ cho một đứa trẻ