Di chuyển cơ sở dữ liệu Access sang SQL Server
Applies ToAccess cho Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Tất cả chúng ta đều có giới hạn và cơ sở dữ liệu Access cũng không phải là ngoại lệ. Ví dụ: cơ sở dữ liệu Access có giới hạn kích cỡ 2 GB và không thể hỗ trợ quá 255 người dùng đồng thời. Vì vậy, khi đến lúc cơ sở dữ liệu Access của bạn đi đến cấp độ tiếp theo, bạn có thể di chuyển sang SQL Server. SQL Server (cho dù tại chỗ hay trong đám mây Azure) hỗ trợ lượng dữ liệu lớn hơn, nhiều người dùng đồng thời hơn và có công suất lớn hơn bộ máy cơ sở dữ liệu JET/ACE. Hướng dẫn này mang đến cho bạn một khởi đầu suôn sẻ cho hành trình SQL Server của mình, giúp bảo toàn các giải pháp phần đầu của Access mà bạn đã tạo và hy vọng là động lực để bạn sử dụng Access để có các giải pháp cơ sở dữ liệu trong tương lai. Sử dụng Microsoft SQL Server Migration Assistant (SSMA) để di chuyển thành công, hãy làm theo các giai đoạn này.

Các giai đoạn di chuyển cơ sở dữ liệu sang SQL Server

Trước khi bạn bắt đầu

Các phần sau đây cung cấp nền và thông tin khác để giúp bạn bắt đầu.

Giới thiệu về cơ sở dữ liệu tách

Tất cả các đối tượng cơ sở dữ liệu Access có thể nằm trong một tệp cơ sở dữ liệu hoặc có thể được lưu trữ trong hai tệp cơ sở dữ liệu: cơ sở dữ liệu phía trước và cơ sở dữ liệu phía sau. Điều này được gọi là tách cơ sở dữ liệu và được thiết kế để tạo điều kiện chia sẻ trong môi trường mạng. Tệp cơ sở dữ liệu phía sau chỉ được chứa các bảng và mối quan hệ. Tệp ngoại vi chỉ được chứa tất cả các đối tượng khác, bao gồm biểu mẫu, báo cáo, truy vấn, macro, mô-đun VBA và bảng được liên kết với cơ sở dữ liệu phía sau. Khi bạn di chuyển cơ sở dữ liệu Access, cơ sở dữ liệu đó tương tự như cơ sở dữ liệu tách trong SQL Server đang đóng vai trò là phần phụ trợ mới cho dữ liệu hiện nằm trên máy chủ.

Do đó, bạn vẫn có thể duy trì cơ sở dữ liệu Access ngoại vi với các bảng được liên kết đến bảng SQL Server. Một cách hiệu quả, bạn có thể nhận được lợi ích từ việc phát triển ứng dụng nhanh chóng mà cơ sở dữ liệu Access cung cấp, cùng với khả năng mở rộng của SQL Server.

Lợi ích SQL Server

Vẫn cần một số thuyết phục để di chuyển sang SQL Server? Dưới đây là một số lợi ích bổ sung cần suy nghĩ về:

  • Nhiều người dùng đồng thời hơn    SQL Server có thể xử lý nhiều người dùng đồng thời hơn Access và giảm thiểu các yêu cầu về bộ nhớ khi có nhiều người dùng được thêm vào.

  • Tính khả dụng cao hơn    Với SQL Server, bạn có thể linh động sao lưu, tăng dần hoặc hoàn thành cơ sở dữ liệu trong khi cơ sở dữ liệu đang được sử dụng. Do vậy, bạn không cần phải yêu cầu người dùng thoát khỏi cơ sở dữ liệu để sao lưu dữ liệu.

  • Hiệu suất cao và khả năng mở rộng    Cơ sở dữ liệu SQL Server thường hoạt động tốt hơn cơ sở dữ liệu Access, đặc biệt là với cơ sở dữ liệu có kích cỡ lớn có kích cỡ terabyte. Ngoài ra, SQL Server xử lý các truy vấn nhanh hơn và hiệu quả hơn bằng cách xử lý các truy vấn song song, sử dụng nhiều luồng gốc trong một quy trình duy nhất để xử lý yêu cầu của người dùng.

  • Bảo mật được cải thiện    Bằng cách sử dụng kết nối đáng tin cậy, SQL Server tích hợp với bảo mật hệ thống Windows để cung cấp một quyền truy nhập tích hợp duy nhất vào mạng và cơ sở dữ liệu, sử dụng tốt nhất của cả hai hệ thống bảo mật. Điều này giúp việc quản lý các đề án bảo mật phức tạp trở nên dễ dàng hơn nhiều. SQL Server là nơi lưu trữ lý tưởng cho các thông tin nhạy cảm như số An sinh Xã hội, dữ liệu thẻ tín dụng và địa chỉ bảo mật.

  • Khả năng khôi phục ngay lập tức     Nếu hệ điều hành bị lỗi hoặc mất điện, SQL Server có thể tự động phục hồi cơ sở dữ liệu về trạng thái nhất quán trong vài phút và không có sự can thiệp của người quản trị cơ sở dữ liệu.

  • Cách sử dụng VPN    Access và Mạng Riêng Ảo (VPN) không hoạt động. Nhưng với SQL Server, người dùng từ xa vẫn có thể sử dụng cơ sở dữ liệu ngoại vi của Access trên máy tính và nền SQL Server nằm phía sau tường lửa VPN.

  • Azure SQL Server    Ngoài các lợi ích của SQL Server, cung cấp khả năng mở rộng động không có thời gian chết, tối ưu hóa thông minh, khả năng mở rộng và tính khả dụng toàn cầu, loại bỏ chi phí phần cứng và giảm quản trị.

Chọn tùy chọn Azure SQL Server tốt nhất

Nếu bạn đang di chuyển sang Azure SQL Server, có ba tùy chọn để chọn, mỗi tùy chọn đều có các lợi ích khác nhau:

  • Cơ sở dữ liệu đơn/vùng đàn hồi    Tùy chọn này có bộ tài nguyên riêng được quản lý thông qua máy chủ Cơ sở dữ liệu SQL. Một cơ sở dữ liệu đơn giống như một cơ sở dữ liệu chứa trong SQL Server. Bạn cũng có thể thêm một vùng đàn hồi, là một tập hợp các cơ sở dữ liệu với một tập hợp tài nguyên chung được quản lý thông qua máy chủ Cơ sở dữ liệu SQL. Các tính năng SQL Server thường được sử dụng nhất sẵn có với các bản sao lưu, vá lỗi và phục hồi tích hợp sẵn. Nhưng không có đảm bảo thời gian bảo trì chính xác và việc di chuyển từ SQL Server có thể khó khăn.

  • Phiên bản được quản lý    Tùy chọn này là một tập hợp các cơ sở dữ liệu hệ thống và người dùng với một tập hợp tài nguyên được chia sẻ. Bản thể hiện được quản lý giống như một phiên bản của cơ sở dữ liệu SQL Server có tính tương thích cao với SQL Server tại chỗ. Phiên bản được quản lý có các bản sao lưu tích hợp sẵn, vá lỗi, khôi phục và rất dễ di chuyển từ SQL Server. Tuy nhiên, có một số lượng nhỏ các tính năng SQL Server không có sẵn và không đảm bảo thời gian bảo trì chính xác.

  • Máy Ảo Azure    Tùy chọn này cho phép bạn chạy SQL Server bên trong một máy ảo trong đám mây Azure. Bạn có toàn quyền kiểm soát công cụ SQL Server và đường dẫn di chuyển dễ dàng. Nhưng bạn cần quản lý các bản sao lưu, bản vá lỗi và khôi phục.

Để biết thêm thông tin, hãy xem mục Chọn đường dẫn di chuyển cơ sở dữ liệu của bạn sang Azure và Azure SQL là gì?.

Các bước đầu tiên

Có một số vấn đề bạn có thể giải quyết trước có thể giúp hợp lý hóa quá trình di chuyển trước khi chạy SSMA:

  • Thêm chỉ mục bảng và khóa chính    Hãy đảm bảo rằng mỗi bảng Access đều có một chỉ mục và một khóa chính. SQL Server yêu cầu tất cả các bảng phải có ít nhất một chỉ mục và yêu cầu bảng được liên kết phải có khóa chính nếu có thể cập nhật bảng.

  • Kiểm tra mối quan hệ khóa chính/khóa ngoại    Đảm bảo rằng các mối quan hệ này dựa trên các trường có kiểu và kích cỡ dữ liệu nhất quán. SQL Server không hỗ trợ cột đã nối với các kiểu và kích cỡ dữ liệu khác nhau trong các ràng buộc khóa ngoại.

  • Loại bỏ cột Phần đính kèm    SSMA không di chuyển các bảng có chứa cột Phần đính kèm.

Trước khi bạn chạy SSMA, hãy thực hiện các bước đầu tiên sau đây.

  1. Đóng cơ sở dữ liệu Access.

  2. Đảm bảo rằng người dùng hiện tại đã kết nối với cơ sở dữ liệu cũng đóng cơ sở dữ liệu.

  3. Nếu cơ sở dữ liệu ở .mdb dạng tệp, hãy Loại bỏ bảo mật mức người dùng.

  4. Sao lưu cơ sở dữ liệu của bạn. Để biết thêm thông tin, hãy xem mục Bảo vệ dữ liệu của bạn bằng các quy trình sao lưu và khôi phục.

Mẹo    Hãy cân nhắc việc cài đặt phiên bản Microsoft SQL Server Express trên máy tính để bàn của bạn hỗ trợ tối đa 10 GB, đây là một cách miễn phí và dễ dàng hơn để chạy xuyên suốt cũng như kiểm tra quá trình di chuyển của bạn. Khi bạn kết nối, hãy dùng LocalDB làm bản thể hiện cơ sở dữ liệu.

Mẹo    Nếu có thể, hãy sử dụng phiên bản độc lập của Access.

Chạy SSMA

Microsoft cung cấp Microsoft SQL Server Migration Assistant (SSMA) để giúp di chuyển dễ dàng hơn. SSMA chủ yếu di chuyển bảng và truy vấn chọn không có tham số. Biểu mẫu, báo cáo, macro và mô-đun VBA không được chuyển đổi. Siêu dữ liệu SQL Server Explorer hiển thị các đối tượng cơ sở dữ liệu Access và đối tượng SQL Server cho phép bạn xem lại nội dung hiện tại của cả hai cơ sở dữ liệu. Hai kết nối này được lưu trong tệp di chuyển của bạn nên bạn quyết định chuyển các đối tượng bổ sung trong tương lai.

Ghi chú    Quá trình di chuyển có thể mất một chút thời gian tùy thuộc vào kích cỡ đối tượng cơ sở dữ liệu của bạn và lượng dữ liệu phải được truyền.

  1. Để di chuyển cơ sở dữ liệu bằng SSMA, trước tiên hãy tải xuống và cài đặt phần mềm bằng cách bấm đúp vào tệp MSI đã tải xuống. Đảm bảo bạn cài đặt phiên bản 32 hoặc 64 bit thích hợp cho máy tính của mình.

  2. Sau khi cài đặt SSMA, hãy mở SSMA trên máy tính của bạn, tốt nhất là từ máy tính có tệp cơ sở dữ liệu Access.

    Bạn cũng có thể mở cơ sở dữ liệu Access trên máy có quyền truy nhập vào cơ sở dữ liệu Access từ mạng trong thư mục dùng chung.

  3. Làm theo các hướng dẫn bắt đầu trong SSMA để cung cấp thông tin cơ bản như vị trí SQL Server, cơ sở dữ liệu Access và các đối tượng cần di chuyển, thông tin kết nối và liệu bạn có muốn tạo bảng được liên kết hay không.

  4. Nếu bạn đang di chuyển sang SQL Server 2016 trở lên và muốn cập nhật bảng được liên kết, hãy thêm một cột rowversion bằng cách chọn Xem lại Công cụ >Cài đặt Dự án > Chung.

    Trường rowversion giúp tránh xung đột bản ghi. Access sử dụng trường rowversion này trong bảng được liên kết SQL Server để xác định khi nào bản ghi được cập nhật lần cuối. Ngoài ra, nếu bạn thêm trường rowversion vào truy vấn, Access sẽ sử dụng trường đó để chọn lại hàng sau thao tác cập nhật. Điều này cải thiện hiệu quả bằng cách giúp tránh ghi lỗi xung đột và ghi lại các kịch bản xóa có thể xảy ra khi Access phát hiện các kết quả khác nhau từ bản gửi ban đầu, chẳng hạn như có thể xảy ra với các kiểu dữ liệu số điểm trôi nổi và kích hoạt sửa đổi cột. Tuy nhiên, tránh sử dụng trường rowversion trong biểu mẫu, báo cáo hoặc mã VBA. Để biết thêm thông tin, hãy xem rowversion.

    Ghi chú    Tránh nhầm rowversion với dấu thời gian. Mặc dù từ khóa dấu thời gian là đồng nghĩa cho rowversion trong SQL Server, bạn không thể sử dụng rowversion như một cách để dấu thời gian cho mục nhập dữ liệu.

  5. Để đặt kiểu dữ liệu chính xác, hãy chọn Công cụ xem > Thiết đặt Dự > Ánh xạ Loại. Ví dụ: nếu bạn chỉ lưu trữ văn bản tiếng Anh, bạn có thể sử dụng varchar thay vì kiểu dữ liệu nvarchar .

Chuyển đổi đối tượng

SSMA chuyển đổi đối tượng Access thành đối tượng SQL Server nhưng sẽ không sao chép các đối tượng ngay lập tức. SSMA cung cấp một danh sách các đối tượng sau đây cần di chuyển để bạn có thể quyết định xem bạn có muốn di chuyển chúng đến cơ sở dữ liệu SQL Server hay không:

  • Bảng và Cột

  • Chọn Truy vấn không có tham số.

  • Khóa chính và Khóa ngoại

  • Chỉ mục và Giá trị mặc định

  • Kiểm tra ràng buộc (cho phép thuộc tính cột độ dài bằng 0, quy tắc xác thực cột, xác thực bảng)

Cách tốt nhất là sử dụng báo cáo đánh giá SSMA hiển thị kết quả chuyển đổi, bao gồm lỗi, cảnh báo, thông báo thông tin, ước tính thời gian để thực hiện di chuyển và các bước sửa lỗi riêng lẻ cần thực hiện trước khi bạn thực sự di chuyển các đối tượng.

Việc chuyển đổi đối tượng cơ sở dữ liệu lấy định nghĩa đối tượng từ siêu dữ liệu Access, chuyển đổi chúng thành cú pháp Transact-SQL (T-SQL) tương đương, rồi tải thông tin này vào dự án. Sau đó, bạn có thể xem các đối tượng SQL Server hoặc SQL Azure và các thuộc tính của chúng bằng cách sử dụng SQL Server hoặc SQL Azure Metadata Explorer.

Để chuyển đổi, tải và di chuyển đối tượng sang SQL Server, hãy làm theo hướng dẫn này.

Mẹo    Sau khi bạn đã di chuyển thành công cơ sở dữ liệu Access của mình, hãy lưu tệp dự án để sử dụng sau này, để bạn có thể di chuyển lại dữ liệu của mình để thử nghiệm hoặc di chuyển cuối cùng.

Liên kết các bảng

Hãy cân nhắc việc cài đặt phiên bản mới nhất của trình điều khiển SQL Server OLE DB và ODBC thay vì sử dụng trình điều khiển SQL Server gốc đi kèm với Windows. Trình điều khiển mới không chỉ nhanh hơn mà còn hỗ trợ các tính năng mới trong Azure SQL mà các trình điều khiển trước không hỗ trợ. Bạn có thể cài đặt các trình điều khiển trên mỗi máy tính nơi cơ sở dữ liệu đã chuyển đổi được sử dụng. Để biết thêm thông tin, hãy xem Trình điều khiển Microsoft OLE DB 18 dành cho SQL ServerMicrosoft ODBC Driver 17 dành cho SQL Server.

Sau khi bạn di chuyển các bảng Access, bạn có thể liên kết đến các bảng trong SQL Server hiện đang lưu trữ dữ liệu của bạn. Việc liên kết trực tiếp từ Access cũng cung cấp cho bạn một cách đơn giản hơn để xem dữ liệu của mình thay vì sử dụng các công cụ quản lý SQL Server phức tạp hơn.  Bạn có thể truy vấn và chỉnh sửa dữ liệu được liên kết tùy thuộc vào quyền do người quản trị cơ sở dữ liệu SQL Server của bạn thiết lập.

Ghi chú    Nếu bạn tạo DSN ODBC khi liên kết với cơ sở dữ liệu SQL Server trong quá trình liên kết, hãy tạo cùng một DSN trên tất cả các máy sử dụng ứng dụng mới hoặc sử dụng theo chương trình chuỗi kết nối được lưu trữ trong tệp DSN.

Để biết thêm thông tin, hãy xem mục Liên kết đến hoặc nhập dữ liệu từ Cơ sở dữ liệu Azure SQL Server và Nhập hoặc liên kết đến dữ liệu trong cơ sở dữ liệu SQL Server.

Mẹo   Đừng quên sử dụng Trình quản lý Bảng được Nối kết trong Access để làm mới và liên kết lại các bảng một cách thuận tiện. Để biết thêm thông tin, hãy xem Quản lý bảng được liên kết.

Kiểm tra và sửa đổi

Các mục sau đây mô tả các sự cố phổ biến mà bạn có thể gặp phải trong quá trình di chuyển và cách xử lý các sự cố đó.

Truy vấn

Chỉ Chọn Truy vấn được chuyển đổi; các truy vấn khác thì không, bao gồm Chọn Truy vấn lấy tham số. Một số truy vấn có thể không chuyển đổi hoàn toàn và SSMA báo cáo lỗi truy vấn trong quá trình chuyển đổi. Bạn có thể chỉnh sửa các đối tượng không chuyển đổi theo cách thủ công bằng cú pháp T-SQL. Lỗi cú pháp cũng có thể yêu cầu chuyển đổi thủ công các hàm và kiểu dữ liệu dành riêng cho Access sang các hàm và kiểu dữ liệu sql Server. Để biết thêm thông tin, hãy xem so sánh Access SQL với SQL Server TSQL.

Kiểu dữ liệu

Access và SQL Server có kiểu dữ liệu tương tự nhau nhưng hãy lưu ý các sự cố tiềm ẩn sau đây.

Số Lớn    Kiểu dữ liệu Số Lớn lưu trữ giá trị số phi tiền tệ và tương thích với kiểu dữ liệu bigint của SQL. Bạn có thể sử dụng kiểu dữ liệu này để tính toán số lớn một cách hiệu quả nhưng kiểu dữ liệu này yêu cầu sử dụng định dạng tệp cơ sở dữ liệu .accdb 16 (16.0.7812 trở lên) của Access và thực hiện tốt hơn với phiên bản Access 64 bit. Để biết thêm thông tin, hãy xem mục Sử dụng kiểu dữ liệu Số Lớn và Chọn giữa phiên bản Office 64 bit hoặc 32 bit.

Có/Không    Theo mặc định, cột Có/Không của Access được chuyển đổi thành trường bit SQL Server. Để tránh khóa bản ghi, Hãy đảm bảo rằng trường bit được đặt để không cho phép các giá trị NULL. TRONG SSMA, bạn có thể chọn cột bit để đặt thuộc tính Allow Nulls thành NO. Trong TSQL, sử dụng câu lệnh CREATE TABLEhoặc ALTER TABLE .

Ngày và Giờ    Có một vài cân nhắc về ngày và giờ:

  • Nếu mức tương thích của cơ sở dữ liệu là 130 (SQL Server 2016) trở lên và bảng được liên kết chứa một hoặc nhiều cột datetime hoặc datetime2, bảng có thể trả về thông báo #deleted kết quả. Để biết thêm thông tin, hãy xem mục Bảng được liên kết với Access để biết SQL-Server sở dữ liệu sẽ trả #deleted.

  • Sử dụng kiểu dữ liệu Ngày/Giờ Truy nhập để ánh xạ với kiểu dữ liệu ngày giờ. Sử dụng kiểu dữ liệu Mở rộng Ngày/Giờ của Access để ánh xạ với kiểu dữ liệu datetime2 có phạm vi ngày và giờ lớn hơn. Để biết thêm thông tin, hãy xem Sử dụng kiểu dữ liệu Mở rộng Ngày/Giờ.

  • Khi truy vấn ngày tháng trong SQL Server, hãy tính đến thời gian cũng như ngày tháng. Ví dụ:

    • Ngày Xếp thứ tự Từ 01/01/2019 đến 31/01/2019 có thể không bao gồm tất cả đơn hàng.

    • Ngày Xếp thứ tự Từ 01/01/19 00:00:00 SA đến 31/01/19 11:59:59 CH bao gồm tất cả đơn hàng.

Phần đính kèm   Kiểu dữ liệu Phần đính kèm lưu trữ một tệp trong cơ sở dữ liệu Access. Trong SQL Server, bạn có một vài tùy chọn để xem xét. Bạn có thể trích xuất các tệp từ cơ sở dữ liệu Access, rồi cân nhắc lưu trữ các liên kết đến các tệp trong cơ sở dữ liệu SQL Server của mình. Ngoài ra, bạn có thể sử dụng FILESTREAM, FileTable hoặc kho lưu trữ BLOB từ xa (RBS) để giữ các tệp đính kèm được lưu trữ trong cơ sở dữ liệu SQL Server.

Liên kết    Bảng Access có cột siêu kết nối mà SQL Server không hỗ trợ. Theo mặc định, các cột này sẽ được chuyển đổi thành cột nvarchar(max) trong SQL Server, nhưng bạn có thể tùy chỉnh ánh xạ để chọn kiểu dữ liệu nhỏ hơn. Trong giải pháp Access của mình, bạn vẫn có thể sử dụng hành vi siêu kết nối trong biểu mẫu và báo cáo nếu bạn đặt thuộc tính Siêu kết nối cho điều khiển thành true.

Trường đa giá trị    Trường có đa giá trị của Access được chuyển đổi thành SQL Server dưới dạng trường ntext có chứa bộ giá trị được phân tách. Vì lý do SQL Server không hỗ trợ kiểu dữ liệu có đa giá trị hoạt động theo mối quan hệ nhiều-nhiều nên có thể cần tới việc có thêm hoạt động thiết kế và chuyển đổi.

Để biết thêm thông tin về cách ánh xạ kiểu dữ liệu Access và SQL Server, hãy xem So sánh kiểu dữ liệu.

Ghi chú    Trường đa giá trị không được chuyển đổi.

Để biết thêm thông tin, hãy xem Kiểu ngày và thời gian, Kiểu chuỗi và nhị phânKiểu số.

Visual Basic

Mặc dù VBA không được SQL Server hỗ trợ, nhưng hãy lưu ý các sự cố có thể xảy ra sau:

Hàm VBA trong Truy vấn    Truy vấn Access hỗ trợ các hàm VBA trên dữ liệu trong cột truy vấn. Nhưng không thể chạy các truy vấn Access sử dụng hàm VBA trên SQL Server, vì vậy tất cả dữ liệu được yêu cầu sẽ được chuyển đến Microsoft Access để xử lý. Trong hầu hết các trường hợp, các truy vấn này sẽ được chuyển thành truy vấn chuyển qua.

Hàm do Người dùng Xác định trong Truy vấn    Truy vấn Microsoft Access hỗ trợ sử dụng các hàm được xác định trong mô-đun VBA để xử lý dữ liệu được truyền tới các hàm đó. Truy vấn có thể là truy vấn độc lập, câu lệnh SQL trong nguồn bản ghi biểu mẫu/báo cáo, nguồn dữ liệu của hộp tổ hợp và hộp danh sách trên biểu mẫu, báo cáo và trường bảng, biểu thức quy tắc xác thực hoặc mặc định. SQL Server không thể chạy các hàm do người dùng xác định này. Bạn có thể cần phải thiết kế lại các hàm này theo cách thủ công và chuyển đổi chúng thành các thủ tục được lưu trữ trên SQL Server.

Tối ưu hóa hiệu suất

Cho đến nay, cách quan trọng nhất để tối ưu hóa hiệu suất với SQL Server mới, phụ trợ của bạn là quyết định khi nào nên sử dụng truy vấn cục bộ hoặc truy vấn từ xa. Khi bạn di chuyển dữ liệu sang SQL Server, bạn cũng đang di chuyển từ máy chủ tệp sang mô hình cơ sở dữ liệu máy chủ khách của máy tính. Làm theo các hướng dẫn chung sau:

  • Chạy các truy vấn nhỏ, chỉ đọc trên máy khách để truy nhập nhanh nhất.

  • Chạy các truy vấn dài, đọc/ghi trên máy chủ để tận dụng sức mạnh xử lý lớn hơn.

  • Giảm thiểu lưu lượng truy cập mạng bằng các bộ lọc và phép tổng hợp để chỉ truyền dữ liệu bạn cần.

Tối ưu hóa hiệu suất trong mô hình cơ sở dữ liệu máy chủ khách

Để biết thêm thông tin, hãy xem Tạo truy vấn chuyển qua.

Sau đây là các hướng dẫn bổ sung, được đề xuất.

Đặt lô-gic trên máy chủ     Ứng dụng của bạn cũng có thể sử dụng các dạng xem, hàm do người dùng xác định, thủ tục được lưu trữ, trường được tính toán và kích hoạt để tập trung và chia sẻ lô-gic ứng dụng, quy tắc và chính sách kinh doanh, truy vấn phức tạp, xác thực dữ liệu và mã tính toàn vẹn tham chiếu trên máy chủ, chứ không phải trên máy khách. Hãy tự hỏi, truy vấn hoặc tác vụ này có thể được thực hiện trên máy chủ tốt hơn và nhanh hơn không? Cuối cùng, kiểm tra từng truy vấn để đảm bảo hiệu suất tối ưu.

Sử dụng dạng xem trong biểu mẫu và báo cáo    Trong Access, hãy làm như sau:

  • Đối với biểu mẫu, hãy sử dụng dạng xem SQL cho biểu mẫu chỉ đọc và dạng xem được lập chỉ mục SQL cho biểu mẫu đọc/ghi làm nguồn bản ghi.

  • Đối với báo cáo, hãy sử dụng dạng xem SQL làm nguồn bản ghi. Tuy nhiên, hãy tạo một dạng xem riêng cho từng báo cáo để bạn có thể dễ dàng cập nhật một báo cáo cụ thể mà không làm ảnh hưởng đến các báo cáo khác.

Giảm thiểu tải dữ liệu trong biểu mẫu hoặc báo cáo    Không hiển thị dữ liệu cho đến khi người dùng yêu cầu. Ví dụ: hãy để trống thuộc tính recordsource, yêu cầu người dùng chọn bộ lọc trên biểu mẫu của bạn, rồi điền thuộc tính recordsource với bộ lọc của bạn. Hoặc sử dụng mệnh đề where của DoCmd.OpenForm và DoCmd.OpenReport để hiển thị (các) bản ghi chính xác mà người dùng cần. Hãy cân nhắc tắt dẫn hướng bản ghi.

Hãy cẩn thận với các truy vấn không đồng nhất   Tránh chạy truy vấn kết hợp bảng Access cục bộ và bảng được liên kết SQL Server, đôi khi được gọi là truy vấn kết hợp. Kiểu truy vấn này vẫn yêu cầu Access tải tất cả dữ liệu SQL Server xuống máy cục bộ, rồi chạy truy vấn, không chạy truy vấn trong SQL Server.

Khi nào nên sử dụng bảng cục bộ    Cân nhắc việc sử dụng bảng cục bộ cho dữ liệu hiếm khi thay đổi, chẳng hạn như danh sách các bang hoặc tỉnh trong một quốc gia hoặc khu vực. Bảng tĩnh thường được sử dụng để lọc và có thể hoạt động tốt hơn trên bộ ngoại vi của Access.

Để biết thêm thông tin, hãy xem mục Trình tư vấn Tinh chỉnh Công cụ Cơ sở dữ liệu, Sử dụng Trình phân tích Hiệu suất để tối ưu hóa cơ sở dữ liệu Access và Tối ưu hóa các Ứng dụng Microsoft Office Access được Liên kết với SQL Server.

Xem thêm

Hướng dẫn Di chuyển Cơ sở dữ liệu Azure

Blog Di chuyển Dữ liệu Microsoft

Microsoft Access to SQL Server Migration, Conversion and Upsizing

Cách chia sẻ một cơ sở dữ liệu màn hình máy tính Access

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.