Bài viết này cung cấp hướng dẫn về cách khắc phục các vấn đề phổ biến trong Warehouse trên Microsoft Fabric.
Lỗi kết nối tạm thời
Một lỗi tạm thời, còn được gọi là lỗi tạm, có nguyên nhân cơ bản mà sớm sẽ tự giải quyết. Nếu kết nối đến Warehouse trước đây hoạt động tốt nhưng bắt đầu gặp sự cố mà không có sự thay đổi về quyền người dùng, chính sách tường lửa và cấu hình mạng, hãy thử các bước sau trước khi liên hệ hỗ trợ:
- Kiểm tra trạng thái của Warehouse và đảm bảo nó không tạm dừng .
- Đừng thử lại lệnh không thành công ngay lập tức. Thay vào đó, đợi từ 5 đến 10 phút, thiết lập một kết nối mới, sau đó thử lại lệnh. Đôi khi hệ thống Azure nhanh chóng chuyển tài nguyên phần cứng để cân bằng tải tốt hơn cho các tải công việc khác nhau. Hầu hết các sự kiện cấu hình lại này hoàn thành trong ít hơn 60 giây. Trong khoảng thời gian cấu hình lại này, bạn có thể gặp vấn đề khi kết nối đến cơ sở dữ liệu của bạn. Kết nối cũng có thể thất bại khi dịch vụ được khởi động lại tự động để giải quyết một số vấn đề cụ thể.
- Kết nối sử dụng một ứng dụng khác và/hoặc từ máy khác.
Lỗi truy vấn do vấn đề không gian tempdb
Tempdb là một cơ sở dữ liệu hệ thống được sử dụng bởi engine cho các nhu cầu lưu trữ tạm thời khác nhau trong quá trình thực thi truy vấn. Người dùng không thể truy cập hoặc cấu hình nó. Truy vấn có thể thất bại do tempdb hết không gian. Thực hiện những bước sau để giảm việc sử dụng không gian của tempdb:
- Tham khảo bài viết về số liệu thống kê để xác minh số liệu thống kê cột phù hợp đã được tạo trên tất cả các bảng.
- Đảm bảo tất cả các thống kê bảng được cập nhật sau các giao dịch DML lớn.
- Các truy vấn có các JOIN phức tạp, GROUP BY, và ORDER BY và dự kiến trả về một tập kết quả lớn sẽ sử dụng nhiều không gian tempdb hơn trong quá trình thực thi. Cập nhật truy vấn để giảm số lượng cột GROUP BY và ORDER BY nếu có thể.
- Chạy lại truy vấn khi không có truy vấn nào khác đang chạy để tránh hạn chế tài nguyên trong quá trình thực thi truy vấn.
Hiệu suất truy vấn dường như suy giảm theo thời gian
Nhiều yếu tố có thể ảnh hưởng đến hiệu suất của một truy vấn, chẳng hạn như sự thay đổi trong kích thước bảng, sự chệch lệch dữ liệu, đồng thời làm việc, tài nguyên có sẵn, mạng, v.v. Chỉ vì một truy vấn chạy chậm không nhất thiết có nghĩa là có vấn đề về hiệu suất truy vấn. Hãy thực hiện các bước sau để điều tra truy vấn cụ thể:
- Nhận diện sự khác biệt trong tất cả các yếu tố ảnh hưởng đến hiệu suất giữa các kịch bản chạy tốt và chạy kém.
- Tham khảo bài viết về số liệu thống kê để xác minh rằng thống kê cột đã được tạo đúng trên tất cả các bảng.
- Đảm bảo tất cả số liệu thống kê trong bảng được cập nhật sau các giao dịch DML lớn.
- Kiểm tra độ lệch dữ liệu trong các bảng cơ sở.
- Tạm dừng và tiếp tục dịch vụ. Sau đó, chạy lại truy vấn khi không có truy vấn hiện hoạt nào khác đang chạy. Bạn có thể giám sát khối lượng công việc của kho bằng DMV.
Truy vấn thất bại sau khi chạy trong thời gian dài. Không có dữ liệu được trả về cho máy khách.
Câu lệnh SELECT có thể đã hoàn thành thành công ở phía máy chủ và thất bại khi cố gắng trả kết quả truy vấn về cho máy khách. Hãy thử theo các bước sau để cô lập vấn đề:
- Sử dụng các công cụ máy khách khác nhau để chạy lại cùng một truy vấn.
- Studio quản lý máy chủ SQL (SSMS)
- Studio dữ liệu Azure
- Trình soạn thảo truy vấn SQL trong cổng thông tin Microsoft Fabric
- Trình soạn thảo truy vấn trực quan trong cổng thông tin Microsoft Fabric
- Tiện ích SQLCMD (để xác thực qua Microsoft Entra ID (trước đây là Azure Active Directory) Universal với MFA, sử dụng tham số -G -U)
- Nếu bước 1 thất bại, hãy chạy một lệnh CTAS với câu lệnh SELECT gặp sự cố để gửi kết quả truy vấn SELECT đó đến một bảng khác trong cùng kho dữ liệu. Việc sử dụng CTAS tránh việc kết quả truy vấn được gửi trở lại máy khách. Nếu lệnh CTAS hoàn thành thành công và bảng đích được điền đầy đủ, thì khả năng lỗi ban đầu của truy vấn có thể xuất phát từ vấn đề trước mặt kho dữ liệu hoặc các vấn đề liên quan đến máy khách.
Những điều cần thu thập trước khi liên hệ với bộ phận hỗ trợ của Microsoft
- Cung cấp Workspace ID của Kho dữ liệu.
- Cung cấp Statement ID và Distributed request ID. Chúng được trả về dưới dạng thông báo sau khi truy vấn hoàn thành hoặc thất bại.
- Cung cấp văn bản chính xác của thông báo lỗi.
- Cung cấp thời gian khi truy vấn hoàn thành hoặc thất bại.
Nguồn: https://learn.microsoft.com/en-us/fabric/data-warehouse/troubleshoot-synapse-data-warehouse