Cập nhật ngày 15 tháng 8 năm 2019 cho 0.9.6.
Năm ngoái, tôi đã cùng với một trong những nhóm phát triển của mình ở đây - họ tự gọi mình là SQL Injector - để nói về khả năng sao chép chức năng SentryOne Plan Explorer bên trong Azure Data Studio. Sau một số cuộc thảo luận, chúng tôi đã đưa khái niệm này đến nhóm lãnh đạo và đặt ra một kế hoạch.
Có một số phức tạp, như bạn có thể tưởng tượng; Plan Explorer được viết bằng công nghệ máy tính để bàn và ADS là một thế giới hoàn toàn mới. Chúng tôi đã phải chuyển đổi tất cả mã .NET Framework sang .NET Core, thay đổi mã giao diện người dùng của chúng tôi thành Node và React, và làm việc lại toàn bộ quá trình triển khai sơ đồ kế hoạch. Tôi sẽ lưu tất cả cốt truyện cho một bài đăng khác, vì nhiều điều thú vị đã xảy ra trong suốt quá trình và chúng tôi đã nhận được rất nhiều sự trợ giúp từ một số người tuyệt vời tại Microsoft - Karl Burtram, Alan Yu, Alan Ren, Charles Gagnon và Vicky Harp, đến tên một vài. Hiện tại, tôi muốn tập trung vào cách bạn có được bản xem trước, nội dung trong đó cho đến nay (bao gồm một vài ảnh chụp màn hình) và các sự cố đã biết.
Làm thế nào bạn có được nó
Để truy cập tiện ích mở rộng Plan Explorer, bạn cần tạo tài khoản SentryOne Cloud miễn phí và đồng ý với EULA của chúng tôi. Tài khoản cung cấp cho bạn quyền truy cập vào diễn đàn hỗ trợ của chúng tôi và chúng tôi có thể cập nhật cho bạn về các bản phát hành sắp tới và các tính năng mới. Khi bạn đã tạo xong tài khoản của mình, hãy truy cập extension.sentryone.com, tại đây bạn sẽ thấy liên kết sau để tải xuống tiện ích mở rộng:
Điều này sẽ cung cấp cho bạn một tệp VSIX mà bạn sẽ cần "tải bên" vào Azure Data Studio (Microsoft không hỗ trợ lưu trữ đầy đủ cho các tiện ích mở rộng của bên thứ ba trong ADS Marketplace, giống như họ làm với VS Code).
Trước tiên, hãy đảm bảo bạn đáp ứng các yêu cầu của chúng tôi:
- Azure Data Studio 1.9.0 hoặc mới hơn (bài đăng thông báo tháng 7)
- .NET Core Runtime 2.1 hoặc mới hơn (Windows | macOS | Linux)
- Kết nối với SQL Server 2012 trở lên hoặc Cơ sở dữ liệu Azure SQL
Và cấu hình hệ thống được đề xuất:
- Hai hoặc nhiều lõi
- Bộ nhớ từ 8GB trở lên
- Hệ điều hành:
- Windows (8.1 / Server 2012 R2 trở lên)
- macOS (10.13 trở lên)
- RedHat (7,6 trở lên)
- SuSE (12.0 trở lên)
- Ubuntu (18.04 trở lên)
Sau đó, để cài đặt tiện ích mở rộng:
- Mở Azure Data Studio.
- Chọn Tệp > Cài đặt tiện ích mở rộng từ Gói VSIX . Bạn không thể bấm đúp vào tệp VSIX.
- Tìm tệp VSIX SentryOne Plan Explorer mà bạn đã tải xuống và nhấp vào Cài đặt .
- Trừ khi bạn đã loại bỏ nó trước đây, bạn sẽ phải nói có với lời nhắc về việc tin tưởng các tiện ích mở rộng của bên thứ ba:
Nếu bạn không có phiên bản Azure Data Studio đủ mới (hoặc bạn đang sử dụng bản dựng của Người dùng nội bộ với những thay đổi mà chúng tôi chưa thử nghiệm), một số chức năng có thể không hoạt động như mong đợi.
Nếu bạn không có phiên bản .NET Core Runtime đủ mới (hoặc nó không chạy), bạn sẽ nhận được thông báo lỗi này sau khi cài đặt thành công:
Có gì trong đó
Giống như ứng dụng dành cho máy tính để bàn, tiện ích mở rộng Plan Explorer được thiết kế để cung cấp cho bạn các kế hoạch thực thi đồ họa phong phú hơn cho các truy vấn thời gian thực của bạn đối với SQL Server. Nó dựa trên một tập hợp con chức năng khiêm tốn; chúng tôi đã bắt đầu chỉ với sơ đồ kế hoạch, lưới câu lệnh cơ bản, chú giải công cụ và quyền truy cập vào XML (vì vậy bạn có thể mở kế hoạch trong các công cụ khác). Chúng tôi sẽ thêm nhiều tính năng hơn vào tiện ích mở rộng theo thời gian để cố gắng giúp bạn đạt được mức độ tương đương đầy đủ với ứng dụng khách trên máy tính để bàn nhất có thể.
Để bật hoặc tắt tiện ích mở rộng
- Nhấp vào SentryOne Plan Explorer phần tử trong thanh trạng thái:
- Hoặc nhấn Shift + Ctrl / ⌘ + P và tìm Chuyển đổi SentryOne Plan Explorer :
- Hoặc nhấn Shift + Ctrl / ⌘ + F5 .
Để thu thập một kế hoạch thực hiện
- Đảm bảo rằng tiện ích mở rộng được bật.
- Trong cửa sổ truy vấn mới, hãy thiết lập kết nối với máy chủ và viết hoặc dán một truy vấn.
- Đối với một Ước tính lập kế hoạch, sử dụng Giải thích trên thanh công cụ.
- Đối với một Thực tế lập kế hoạch, sử dụng Ctrl / ⌘ + M .
- Một tài liệu cấp cao nhất mới sẽ mở ra (có tiêu đề Trình khám phá kế hoạch ) bao gồm một lưới các câu lệnh, một hàng cho mỗi câu lệnh tạo kế hoạch:
- Để xem XML kế hoạch cơ bản, hãy nhấp vào Xem XML .
- Để xem sơ đồ kế hoạch cho bất kỳ tuyên bố nào, hãy nhấp vào Xem Kế hoạch .
- Để xem chú giải công cụ cô đọng cho một toán tử, hãy di chuột qua toán tử đó. Đối với phiên bản mở rộng, bao gồm nhiều thông tin hơn và "dính" ở bên phải của bảng điều khiển, hãy nhấp vào toán tử:
- Để thay đổi bất kỳ thuộc tính nào của sơ đồ, chẳng hạn như mức thu phóng, chuyển đổi giữa kế hoạch thực tế và ước tính, chỉ hiển thị chi phí theo I / O hoặc CPU hoặc thay đổi độ rộng dòng được hiển thị theo số hàng hoặc kích thước dữ liệu, phải- nhấp vào bất kỳ đâu trên sơ đồ:
Lưới câu lệnh
Sơ đồ mặt bằng với chủ đề ánh sáng mặc định
Sơ đồ mặt bằng với chủ đề Bóng tối phân cực
Chú giải công cụ được thu gọn và mở rộng
Trình đơn ngữ cảnh tùy chọn sơ đồ
- Khi có đề xuất chỉ mục bị thiếu, cảnh báo sẽ xuất hiện trên chú giải công cụ cho toán tử nút gốc và tùy chọn menu ngữ cảnh nhấp chuột phải sẽ có sẵn ở bất kỳ đâu trên sơ đồ (sẽ mở (các) tập lệnh chỉ mục bị thiếu trong một cửa sổ truy vấn cấp cao nhất, đã ngắt kết nối, mới):
Thiếu cảnh báo chú giải chỉ mục và tùy chọn menu ngữ cảnh
Thiếu tập lệnh chỉ mục
Mới trong 0.9.6 - ngày 15 tháng 8 năm 2019
- Đã thêm tùy chọn menu ngữ cảnh để chuyển đổi độ rộng dòng giữa số hàng và kích thước dữ liệu
- Đã thêm tùy chọn menu ngữ cảnh để hiển thị các đề xuất chỉ mục còn thiếu trong cửa sổ truy vấn mới
- Đã thay đổi cổng API mặc định từ 5000 thành 5042 để giảm nguy cơ xung đột
- Đã thêm cài đặt để tùy chỉnh số cổng cục bộ trong trường hợp xung đột:
- Đã chuyển nút bật / tắt tiện ích mở rộng sang thanh trạng thái (cảm ơn bạn đã gợi ý, Drew Skwiers-Koballa!)
- Chẩn đoán bổ sung trong bảng Đầu ra để hỗ trợ khắc phục sự cố:
- Đã cập nhật một số biểu tượng toán tử (cũ ở bên trái, mới ở bên phải): ClusteredIndexDelete ClusteredIndexMerge ClusteredIndexUpdate ColumnstoreIndexDelete Xóa bỏ Đã xóa FetchQuery ForeignKeyRefCheck IndexDelete IndexUpdate InsertedScan KeyLookup CivilQuery RemoteDelete RemoteQuery RIDLookup Sự phối hợp Công tắc điện WindowAggregate
Lưu ý rằng các thay đổi về biểu tượng Key và RID Lookup đã xảy ra trong Plan Explorer 19.0.1 (giải thích tại đây); phần còn lại của những thay đổi này sẽ sớm xuất hiện trong Plan Explorer.
Các vấn đề đã biết
- Khi tiện ích mở rộng Plan Explorer được bật, bạn cũng sẽ trải nghiệm
Explain
gốc chức năng do Azure Data Studio cung cấp (Dave Bland giải thích chức năng đó tại đây). - Đối với các kế hoạch thực tế, chỉ số thời gian chạy duy nhất có sẵn trong lưới là Thời lượng và CPU (với phiên bản SQL Server đủ hiện đại). Các dữ liệu khác sẽ xuất hiện trong các bản phát hành trong tương lai, bắt đầu với Số lần đọc và% Chi phí.
- Azure Data Studio hiện cắt ngắn đầu ra XML của kế hoạch ở mức 2MB (xem Sự cố # 6299). Vì vậy, đối với các kế hoạch lớn hơn và / hoặc các lô lớn hơn, chúng tôi có thể không hiển thị tất cả các kế hoạch. Điều này có nhiều khả năng xảy ra hơn khi sử dụng Giải thích để tạo các kế hoạch ước tính (vì vậy chỉ cần nói không với các kế hoạch ước tính
). - Chúng tôi không có quyền truy cập vào menu Tệp, vì vậy chúng tôi không thể mở hoặc lưu các kế hoạch và chúng tôi chỉ có thể mở một cửa sổ tài liệu duy nhất có tên là Plan Explorer - có nghĩa là, ít nhất là hiện tại, bạn chỉ có thể hiển thị một sơ đồ kế hoạch tại một thời điểm.
Thiếu chỉ mục,tùy chọn độ rộng dòngvà chức năng thu gọn cây con không khả dụng trong bản xem trước. Cũng không có tùy chọn bố cục nào, nhưng bạn có thể phóng to bằng con lăn chuột hoặc chụm bàn di chuột và bạn có thể xoay bằng cách vuốt bàn di chuột bằng hai ngón tay.- Khi Azure Data Studio mở với các tài liệu được khôi phục từ phiên trước, việc bật tiện ích Plan Explorer có thể không áp dụng cho các cửa sổ đó do sự cố liệt kê tài liệu ở trạng thái đó. Cho đến khi Microsoft phát hành bản sửa lỗi, việc tắt Plan Explorer rồi bật lại sẽ thực hiện thủ thuật này.
- Hỗ trợ chủ đề đang thử nghiệm tại thời điểm này:
- Không phải tất cả các màu nền đều hiển thị đẹp và tất cả các liên kết đều có màu xanh lam.
- Các biểu tượng thay thế được thiết kế cho các chủ đề tối đã có trong các tác phẩm.
- Nếu bạn thay đổi chủ đề màu sắc sau khi kết xuất một kế hoạch, chúng tôi hiện không thể nắm bắt sự kiện. Tương tác với sơ đồ (ví dụ:nhấp chuột phải) để buộc nó "bắt kịp".
Nhận thêm thông tin; cung cấp phản hồi
- Trang sản phẩm
- Tài liệu sản phẩm chính thức
- Diễn đàn SentryOne Plan Explorer / Điều chỉnh truy vấn
- Thông báo phát hành tháng 7 từ nhóm Azure Data Studio
- Tôi luôn sẵn lòng trả lời các câu hỏi hoặc nhận phản hồi tại [email protected]