Di chuyển cơ sở dữ liệu Access sang Máy chủ SQL

Áp dụng cho
Access 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 không phải là trường hợp ngoại lệ. Ví dụ: một cơ sở dữ liệu Access có giới hạn kích cỡ là 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 nâng lên cấp độ tiếp theo, bạn có thể di chuyển sang SQL Server. SQL Server (dù tại chỗ hay trong đám mây Azure) hỗ trợ lượng dữ liệu lớn hơn, người dùng đồng thời nhiều hơn và có dung lượng lớn hơn so với công cụ cơ sở dữ liệu JET/ACE. Hướng dẫn này sẽ giúp bạn khởi đầu suôn sẻ cho hành trình SQL Server của mình, giúp duy trì các giải pháp ngoại vi Access mà bạn đã tạo và hy vọng sẽ thúc đẩy bạn sử dụng Access cho 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 sau.

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 cung cấp nền tảng 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. Đâ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ụ trợ chỉ được chứa các bảng và các 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 này sẽ tương tự như cơ sở dữ liệu tách ở chỗ SQL Server hoạt động như một phần phụ trợ mới cho dữ liệu hiện nằm trên máy chủ.

Kết quả là 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 của việc phát triển ứng dụng nhanh chóng mà cơ sở dữ liệu Access mang lại, cùng với khả năng mở rộng của SQL Server.

Lợi ích của SQL Server

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

  • 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 yêu cầu về bộ nhớ khi 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ể sao lưu tự động, tăng dần hoặc hoàn thành, cơ sở dữ liệu 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 và khả năng mở rộng cao 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 lớn, 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 nhiều bằng cách xử lý các truy vấn song song, sử dụng nhiều chuỗi gốc trong một quy trình để xử lý yêu cầu của người dùng.
  • Bảo mật được cải thiện Sử dụng kết nối 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 cậ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ả hai hệ thống bảo mật. Điều này giúp việc quản lý các kế hoạch 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 khôi phục cơ sở dữ liệu về trạng thái nhất quán trong vài phút và không cần sự can thiệp của người quản trị cơ sở dữ liệu.
  • Sử dụng VPN Access và Mạng riêng ảo (VPN) không hợp nhau. Nhưng với SQL Server, người dùng từ xa vẫn có thể sử dụng cơ sở dữ liệu Access front-end trên máy tính và back-end 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 còn cung cấp khả năng mở rộng động mà 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 có những lợi ích khác nhau:

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

Để 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 AzureAzure SQL là gì?.

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

Có một số sự cố mà bạn có thể giải quyết trước có thể giúp hợp lý hóa quy trình di chuyển trước khi bạn 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 bảng có thể được cập nhật.
  • Kiểm tra quan hệ khóa chính/ngoại Hãy đảm bảo những 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 có 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 những bảng có chứa cột Tệp đí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. Hãy đả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 này.
  3. Nếu cơ sở dữ liệu ở định dạng tệp .mdb thì hãy loại bỏ bảo mật cấp độ 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 Bảo vệ dữ liệu của bạn bằng quy trình sao lưu và khôi phục.

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

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

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 các bảng và truy vấn chọn mà không có tham số. Biểu mẫu, báo cáo, macro và mô-đun VBA không được chuyển đổi. Trình khám phá Siêu dữ liệu SQL Server hiển thị đố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ếu bạn quyết định chuyển thêm đối tượng trong tương lai.

Lưu ý 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ỡ của đối tượng cơ sở dữ liệu của bạn và lượng dữ liệu phải 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 rằng bạn cài đặt phiên bản 32 hoặc 64 bit phù hợp với máy tính của mình.
  2. Sau khi cài đặt SSMA, hãy mở ứng dụng 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ở nó trên một máy có quyền truy nhập vào cơ sở dữ liệu Access từ mạng trong một thư mục được chia sẻ.
  3. Làm theo 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 cột rowversion bằng cách chọn Công cụ> Xem lại Càiđặt Dự> ánChung.
    Trường rowversion giúp tránh xung đột bản ghi. Access sử dụng trường rowversion này trong bảng đã liên kết với SQL Server để xác định thời điểm cập nhật bản ghi 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 lỗi xung đột ghi và các tình huống xóa bản ghi có thể xảy ra khi Access phát hiện các kết quả khác với bản gửi ban đầu, chẳng hạn như có thể xảy ra với các loại dữ liệu số dấu phẩy động và trình kích hoạt sửa đổi cột. Tuy nhiên, hãy tránh dùng trường rowversion trong các biểu mẫu, báo cáo hoặc mã VBA. Để biết thêm thông tin, hãy xem rowversion.
    Lưu ý Tránh nhầm rowversion với dấu thời gian. Mặc dù từ khóa tem thời gian đồng nghĩa với rowversion trong SQL Server nhưng bạn không thể sử dụng rowversion như một cách để gắn tem 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 lạiÁnh xạ LoạiThiết đặt Dự> án. Ví dụ: nếu bạn chỉ lưu trữ văn bản tiếng Anh, bạn có thể sử dụng kiểu dữ liệu varchar thay vì nvarchar .

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

SSMA chuyển đổi đối tượng Access thành đối tượng SQL Server nhưng không sao chép các đối tượng ngay lập tức. SSMA cung cấp danh sách các đối tượng sau để di chuyển vì vậy bạn có thể quyết định xem có muốn di chuyển chúng sang 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 độ dài bằng không thuộc tính cột, 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, báo cáo này 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 đối tượng.

Việc chuyển đổi đối tượng cơ sở dữ liệu sẽ 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, sau đó 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à 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 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, nhờ đó 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.

Hãy cân nhắ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. Các trình điều khiển mới hơn 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 có. Bạn có thể cài đặt trình điều khiển trên từng máy tính nơi sử dụng cơ sở dữ liệu đã chuyển đổi. Để biết thêm thông tin, xem Trình điều khiển Microsoft OLE DB 18 cho SQL ServerTrình điều khiển Microsoft ODBC 17 cho SQL Server.

Sau khi di chuyển các bảng Access, bạn có thể liên kết đến các bảng trong SQL Server, nơi hiện 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 bạn hơn là 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 các quyền được thiết lập bởi người quản trị cơ sở dữ liệu SQL Server của bạn.

Lưu ý Nếu bạn tạo DSN ODBC khi bạn liên kết với cơ sở dữ liệu SQL Server của mình 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 chuỗi kết nối được lưu trữ trong tệp DSN theo chương trình.

Để biết thêm thông tin, hãy xem mục Liên kết tới hoặc nhập dữ liệu từ Cơ sở dữ liệu Azure SQL ServerNhập hoặc liên kết với 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 Liên 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 phần Quản lý các bảng được nối kết.

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

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

Truy vấn

Chỉ các Truy vấn Chọn mới được chuyển đổi; Các truy vấn khác thì không, kể cả Truy vấn Chọ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 thủ công các đối tượng không chuyển đổi bằng cách sử dụ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 ý đến các vấn đề 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 SQL. Bạn có thể sử dụng kiểu dữ liệu này để tính toán các số lớn một cách hiệu quả nhưng nó đòi hỏi phải sử dụng định dạng tệp cơ sở dữ liệu .accdb của Access 16 (16.0.7812 trở lên) và hoạt động 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ớnChọ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 của SQL Server. Để tránh khóa bản ghi, hãy đảm bảo rằng trường bit được đặt là 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 Cho phép Null thành NO. Trong TSQL, hãy sử dụng các câu lệnh CREATE TABLE hoặc ALTER TABLE .

Ngày và Giờ Có một số 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 ngày/giờ hoặc ngày/giờ2, thì bảng có thể trả về thông báo #deleted trong kết quả. Để biết thêm thông tin, hãy xem bảng Access được liên kết đến cơ sở dữ liệu SQL-Server trả về #deleted.

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

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

    • DateOrdered Between 1/1/19 and 1/31/19 có thể không bao gồm tất cả đơn hàng.
    • DateOrdered Between 01/1/19 00:00:00 AM And 1/31/19 11:59:59 CH bao gồm tất cả các đơn đặt 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 số tùy chọn để cân nhắc. 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.

Siêu kết nối 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 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 các biểu mẫu và báo cáo nếu bạn đặt thuộc tính Hyperlink cho điều khiển là 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 chứa tập hợp các giá trị được 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ề ánh xạ kiểu dữ liệu Access và SQL Server, hãy xem So sánh kiểu dữ liệu.

Lưu ý Trường đa giá trị không được chuyển đổi.

Để biết thêm thông tin, hãy xem các loại Ngày và thời gian, Loại chuỗi và nhị phânLoại 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 đây:

Các hàm VBA trong Truy vấn Truy vấn Access hỗ trợ các hàm VBA trên dữ liệu trong một cột truy vấn. Tuy nhiên, các truy vấn Access sử dụng các hàm VBA không thể chạy trên SQL Server, vì vậy mọi 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 nên đượ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ợ việc sử dụng các hàm được xác định trong các mô-đun VBA để xử lý dữ liệu được truyền đến các truy vấn đó. Truy vấn có thể là các 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 mặc định hoặc quy tắc hợp lệ. 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 thủ tụ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 phụ trợ mới của bạn là quyết định khi nào sử dụng truy vấn cục bộ hoặc 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 điện toán cơ sở dữ liệu máy khách-máy chủ. Thực hiện 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 đọc/viết dài 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 với các bộ lọc và 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 mục Tạo truy vấn chuyển qua.

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

Đưa lô-gic vào 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 lưu trữ, trường được tính toán và trình 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, liệu 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.

Dùng các dạng xem trong biểu mẫu và báo cáo Trong Access, hãy thực hiện các thao tác sau:

  • Đối với các biểu mẫu, sử dụng dạng xem SQL cho biểu mẫu chỉ đọc và dạng xem lập chỉ mục SQL cho biểu mẫu đọc/viết 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 biệt cho từng báo cáo, để bạn có thể cập nhật dễ dàng hơn một báo cáo cụ thể mà không ảnh hưởng đến các báo cáo khác.

Giảm thiểu việc 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ụ: để trống thuộc tính recordsource, yêu cầu người dùng chọn một bộ lọc trên biểu mẫu của bạn, rồi điền bộ lọc của bạn vào thuộc tính recordsource. 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 liên kết SQL Server, đôi khi được gọi là truy vấn kết hợp. Loại 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, truy vấn không chạy trong SQL Server.

Khi nào nên sử dụng bảng cục bộ Hãy cân nhắc sử dụng bảng cục bộ cho những dữ liệu hiếm khi thay đổi, chẳng hạn như danh sách các bang hoặc tỉnh của 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 ở ngoại vi Access.

Để biết thêm thông tin, xem mục Trình tư vấn Điều 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 AccessTố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 Chuyển đổi Cơ sở dữ liệu Azure

Blog Di chuyển Dữ liệu của Microsoft

Di chuyển, chuyển đổi và tăng kích thước của Microsoft Access đến SQL Server

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