Chia sẻ ngay bây giờ:

 

Mục lục ẩn

1. Giới thiệu về SQL Server Profiler

1.1 là gì SQL Server Profiler và lý do chúng ta cần nó?

SQL Server Profiler là một công cụ giao diện người dùng đồ họa để theo dõi và ghi lại các sự kiện xảy ra trong SQL Server. Chẩn đoán mạnh mẽ nàyostCông cụ ic cho phép quản trị viên và nhà phát triển cơ sở dữ liệu quan sát hoạt động của công cụ cơ sở dữ liệu theo thời gian thực, giúp xác định các điểm nghẽn về hiệu suất, khắc phục sự cố ứng dụng và kiểm tra các sự kiện bảo mật.

SQL Server Profiler

1.2 SQL Server Profiler năm 2025: Tình trạng hiện tại và các lựa chọn thay thế

Microsoft đã ngừng sử dụng SQL Server Người lập hồ sơtarting với SQL Server 2016, đề xuất Sự kiện mở rộng như công nghệ thay thế. Tuy nhiên, công cụ này vẫn có sẵn trong phiên bản hiện tại SQL Server phiên bản bao gồm SQL Server 2022 và vẫn được các chuyên gia cơ sở dữ liệu sử dụng rộng rãi.

1.3 Ai nên sử dụng Hướng dẫn này

  • Hướng dẫn này phục vụ cho các quản trị viên cơ sở dữ liệu cần theo dõi SQL Server các trường hợp, chẩn đoán sự cố hiệu suất và đảm bảo độ tin cậy của hệ thống. Các DBA sẽ tìm thấy hướng dẫn thực tế để ghi lại dấu vết, phân tích sự kiện và triển khai các chiến lược giám sát.
  • Các nhà phát triển ứng dụng được hưởng lợi từ việc hiểu cách mã của họ tương tác với SQL ServerSQL Profiler giúp các nhà phát triển xác định các truy vấn không hiệu quả, xác thực hành vi của ứng dụng và gỡ lỗi liên quan đến cơ sở dữ liệu.
  • Các nhà phân tích và tư vấn hiệu suất sẽ khám phá các kỹ thuật tiên tiến để phân tích khối lượng công việc, lập kế hoạch năng lực và tối ưu hóa hệ thống. Phạm vi bao phủ toàn diện về cấu hình, lọc và phân tích dấu vết cho phép đánh giá hiệu suất cơ sở dữ liệu toàn diện.

2. Hiểu về SQL Server Cơ bản về Profiler

2.1 Làm thế nào SQL Server Profiler Works

SQL Server Profiler hoạt động như một ứng dụng khách kết nối với công cụ SQL Trace đang chạy bên trong SQL ServerKhi bạn tạo một dấu vết, công cụ theo dõi cơ sở dữ liệu sẽ giám sát các sự kiện được chỉ định và ghi lại chúng theo cấu hình của bạn. Công cụ theo dõi thu thập dữ liệu sự kiện với tác động tối thiểu đến hiệu suất máy chủ khi được cấu hình đúng cách.

Cơ sở hạ tầng SQL Trace cơ bản sử dụng các móc sự kiện nhẹ trong toàn bộ công cụ cơ sở dữ liệu. Khi một sự kiện xảy ra khớp với định nghĩa theo dõi của bạn, công cụ sẽ thu thập thông tin liên quan và gửi đến giao diện Profiler hoặc lưu trữ vào tệp hoặc bảng. Kiến trúc này cho phép thu thập dữ liệu linh hoạt mà không cần sửa đổi mã ứng dụng.

2.2 Các khái niệm và thuật ngữ chính

2.2.1 Sự kiện

Sự kiện đại diện cho những sự kiện cụ thể trong SQL Server mà công cụ theo dõi có thể nắm bắt. Mỗi sự kiện tương ứng với một hoạt động cụ thể của cơ sở dữ liệu hoặc hệ thống. SQL Server Profiler sắp xếp các sự kiện thành các danh mục hợp lý để cấu hình dễ dàng hơn.

Các danh mục sự kiện phổ biến bao gồm TSQL để thực thi truy vấn, Stored Procedure để gọi thủ tục, Lock để giám sát đồng thời và Errors and Warnings để theo dõi ngoại lệ. Việc chọn sự kiện phù hợp sẽ quyết định thông tin mà trace của bạn ghi lại và ảnh hưởng trực tiếp đến tính hữu ích cũng như chi phí hiệu suất của trace.

Hiểu rõ các loại sự kiện giúp bạn cấu hình các dấu vết hiệu quả. Sự kiện RPC:Completed ghi lại các cuộc gọi thủ tục từ xa đã hoàn tất, sự kiện SQL:BatchCompleted theo dõi các lô truy vấn ad-hoc, và sự kiện Lock:Deadlock xác định các trường hợp deadlock. Hãy chọn các sự kiện phù hợp với mục tiêu xử lý sự cố hoặc giám sát cụ thể của bạn.

2.2.2 Cột dữ liệu

Các cột dữ liệu xác định thông tin mà trace ghi lại cho mỗi sự kiện. Các cột phổ biến bao gồm TextData cho câu lệnh SQL thực tế, Duration cho thời gian thực thi, CPU cho mức sử dụng bộ xử lý, Reads cho các lần đọc đĩa logic và Writes cho các lần ghi đĩa logic.

Các cột thiết yếu thay đổi tùy theo trường hợp sử dụng. Xử lý sự cố hiệu suất thường yêu cầu các cột Thời lượng (Duration), CPU, Đọc (Reads) và Ghi (Writes). Kiểm tra bảo mật cần các cột Tên đăng nhập (LoginName), Tên cơ sở dữ liệu (DatabaseName) và Tên đối tượng (ObjectName). Gỡ lỗi ứng dụng được hưởng lợi từ các cột Tên ứng dụng (ApplicationName), SPID và Lỗi (Error).

Việc chỉ chọn các cột cần thiết sẽ giảm thiểu chi phí theo dõi và đơn giản hóa việc phân tích. Tránh thu thập tất cả các cột khả dụng trừ khi thực sự cần thiết. Mỗi cột bổ sung sẽ làm tăng lượng dữ liệu được thu thập và xử lý, có khả năng ảnh hưởng đến hiệu suất máy chủ.

2.2.3 Bộ lọc

Bộ lọc hạn chế các sự kiện mà dấu vết ghi lại dựa trên các tiêu chí cụ thể. Bộ lọc được cấu hình đúng cách sẽ giảm đáng kể khối lượng dấu vết, giúp việc phân tích trở nên dễ dàng và giảm thiểu tác động đến hiệu suất. Bộ lọc đánh giá dữ liệu sự kiện trước khi ghi lại, ngăn chặn việc thu thập dữ liệu không cần thiết.

Tiêu chí lọc phổ biến bao gồm DatabaseName để tập trung vào các cơ sở dữ liệu cụ thể, ApplicationName để phân lập các ứng dụng cụ thể, Duration để chỉ ghi lại các thao tác chậm và LoginName để theo dõi người dùng cụ thể. Việc kết hợp nhiều bộ lọc sẽ tạo ra các định nghĩa theo dõi chính xác, nắm bắt chính xác những gì bạn cần.

Lọc theo hiệu suất là điều cần thiết cho môi trường sản xuất. Luôn lọc theo DatabaseName hoặc ApplicationName để tránh ghi lại hoạt động của hệ thống. Đặt ngưỡng Thời lượng tối thiểu để bỏ qua các truy vấn thực thi nhanh. Sử dụng bộ lọc TextData một cách thận trọng vì chúng yêu cầu so sánh chuỗi, gây thêm chi phí.

2.2.4 Mẫu theo dõi

Mẫu theo dõi cung cấp các lựa chọn sự kiện, cột và bộ lọc được cấu hình sẵn cho các tình huống phổ biến. SQL Server Profiler bao gồm một số mẫu tích hợp có chức năng nhưtarCác điểm đánh dấu để tạo dấu vết. Các mẫu tùy chỉnh lưu cấu hình của bạn để sử dụng lại trong nhiều phiên theo dõi.

Mẫu Standard ghi lại một tập hợp chung các sự kiện phù hợp cho việc giám sát cơ bản. Mẫu TSQL tập trung vào việc thực thi truy vấn với chi phí tối thiểu. Mẫu Tuning thu thập các sự kiện dành riêng cho việc phân tích Database Engine Tuning Advisor. Mỗi mẫu cân bằng việc thu thập thông tin với tác động đến hiệu suất.

Việc tạo mẫu tùy chỉnh giúp tiết kiệm thời gian và đảm bảo tính nhất quán trong các phiên theo dõi. Hãy cấu hình một mẫu theo dõi với các sự kiện, cột và bộ lọc bạn muốn, sau đó lưu dưới dạng mẫu. Mẫu tùy chỉnh sẽ đặc biệt hữu ích khi bạn liên tục khắc phục sự cố tương tự.

3. Nhận Starcố gắng với SQL Server Profiler

3.1 Yêu cầu hệ thống và điều kiện tiên quyết

SQL Server Profiler đi kèm với SQL Server Studio quản lý và hỗ trợ tất cả các dịch vụ hiện đang được duy trì SQL Server phiên bản, từ SQL Server 2016 đến 2022.

Các yêu cầu về quyền hạn xác định ai có thể tạo và chạy dấu vết. Thành viên của vai trò máy chủ cố định quản trị hệ thống có quyền truy cập không giới hạn vào SQL Server Chức năng phân tích. Đối với người dùng không phải quản trị hệ thống, quyền ALTER TRACE cấp khả năng tạo và quản lý dấu vết.

Các cân nhắc về mạng được áp dụng khi theo dõi máy chủ từ xa. Theo dõi phía máy khách yêu cầu kết nối mạng liên tục giữa máy trạm của bạn và SQL Server Ví dụ. Kết nối bị gián đoạn sẽ dừng theo dõi phía máy khách, có khả năng làm mất dữ liệu đã thu thập. Theo dõi phía máy chủ tránh được hạn chế này bằng cách chạy hoàn toàn trên máy chủ cơ sở dữ liệu.

3.2 Cách khởi chạy SQL Server Profiler

3.2.1 Starrung chuyển từ SQL Server Studio quản lý (SSMS)

Thực hiện theo các bước sau để khởi chạy SQL Server Profiler từ SSMS:

  1. Mở SQL Server Studio quản lý và kết nối với bất kỳ SQL Server ví dụ.
  2. Nhấn vào CÔNG CỤ menu ở thanh menu trên cùng.
  3. Chọn SQL Server Profiler từ trình đơn thả xuống.
  4. SQL Server Ứng dụng Profiler sẽ khởi chạy trong một cửa sổ mới.

Start SQL Server Người lập hồ sơ trong SQL Server Phòng thu quản lý.

3.2.2 Starting từ Windows Start Thực đơn

Truy Cập SQL Server Profiler trực tiếp từ Windows bằng các bước sau:

  1. Nhấp vào Windows Bắt đầu .
  2. Kiểu SQL Server Profiler trong hộp tìm kiếm.
  3. Chọn SQL Server Profiler từ kết quả tìm kiếm.
  4. Ứng dụng khởi chạy mà không có kết nối nào đang hoạt động.

Start SQL Server Profiler từ hộp tìm kiếm của Windows.

Ngoài ra, hãy điều hướng qua Start menu hierarchy:

  1. Mở Bắt đầu đơn.
  2. Định vị microsoft SQL Server CÔNG CỤ thư mục.
  3. Mở rộng thư mục và nhấp vào SQL Server Profiler.

Start SQL Server Profiler từ Windows starthực đơn t.

3.2.3 Kết nối với SQL Server trường

Sau khi ra mắt SQL Server Profiler, thiết lập kết nối theo các bước sau:

  1. Nhấp chuột Tập tin trong thanh menu.
  2. Chọn Dấu vết mới từ trình đơn thả xuống.
  3. Kết nối với máy chủ hộp thoại xuất hiện.
  4. Nhập tên máy chủ của bạn vào Tên máy chủ trường.
  5. Chọn Windows Authentication or SQL Server Xác thực.
  6. Nếu sử dụng SQL Server Xác thực, nhập thông tin đăng nhập của bạn.
  7. Nhấp chuột Kết nối để thiết lập kết nối.

Kết nối với SQL Server ví dụ trong SQL Server Hồ sơ.

Đối với các kết nối từ xa, hãy chỉ định tên máy chủ đầy đủ bao gồm tên phiên bản nếu áp dụngcable. Sử dụng định dạng SERVERNAME\INSTANCENAME cho các phiên bản được đặt tên. Kiểm tra kết nối mạng và cài đặt tường lửa nếu kết nối không thành công.

4. Tạo và cấu hình SQL Server Dấu vết

4.1 Tạo dấu vết đầu tiên của bạn bằng cách sử dụng mẫu

Tạo bản theo dõi đầu tiên của bạn bằng các bước sau:

  1. Khởi động SQL Server Hồ sơ.
  2. Nhấp chuột Tập tin -> Dấu vết mới và kết nối với bạn tarlấy máy chủ.
  3. Theo dõi các thuộc tính hộp thoại xuất hiện.
  4. Nhập tên mô tả vào Tên dấu vết trường.
  5. Chọn một mẫu từ Sử dụng mẫu thả xuống.
  6. Chọn Tiêu chuẩn (mặc định) Mẫu dùng cho mục đích giám sát chung. Hoặc một mẫu khác cho các mục đích khác. Mẫu cung cấp các sự kiện, cột và bộ lọc được cấu hình sẵn cho các tình huống phổ biến.
  7. Nhấp chuột chạy sau đó ptart ghi lại sự kiện ngay lập tức.

Đặt thuộc tính theo dõi trong SQL Server Hồ sơ.

4.2 Tùy chỉnh dấu vết của bạn

Nhiều khi, các mẫu không đáp ứng được yêu cầu của bạn. Trong trường hợp đó, bạn có thể tùy chỉnh hoàn toàn dấu vết của mình:

  1. Trong tạp chí Theo dõi các thuộc tính thoại.
  2. Chọn hình ba gạch Chỗ trống mẫu từ Sử dụng mẫu thả xuống.Sử dụng mẫu trống để theo dõi.
  3. Nhấn vào Lựa chọn sự kiện Tab, giờ đây bạn có thể tùy chỉnh tất cả sự kiện, cột dữ liệu và bộ lọc theo nhu cầu của mình. Chúng ta sẽ thảo luận về chúng trong các phần sau.
    Tùy chỉnh dấu vết trong tab "Lựa chọn sự kiện" của hộp thoại "Thuộc tính dấu vết".

4.3 Chọn sự kiện để ghi lại

Bạn có thể chọn một sự kiện trong Lựa chọn sự kiện tab:

  1. Nhấn vào + biểu tượng bên cạnh danh mục Sự kiện để mở rộng danh mục đó.
  2. Nhấp vào hộp kiểm bên cạnh sự kiện để chọn sự kiện đó.

Chọn một sự kiện trong hộp thoại "Thuộc tính theo dõi".

4.3.1 Hiểu về các danh mục sự kiện

SQL Server Profiler sắp xếp các sự kiện thành các danh mục để phân nhóm hợp lý. Danh mục Stored Procedures bao gồm các sự kiện thực thi thủ tục, bao gồm cả SP:S.tarting, SP:Completed và SP:StmtCompleted. Các sự kiện này theo dõi các lệnh gọi thủ tục được lưu trữ và việc thực thi từng câu lệnh trong các thủ tục.

Thể loại TSQL ghi lại quá trình thực thi truy vấn tùy ý với các sự kiện như SQL:BatchStarting và SQL:BatchCompleted. Các sự kiện này theo dõi các truy vấn được gửi trực tiếp đến SQL Server bên ngoài các thủ tục được lưu trữ.

Danh mục Khóa theo dõi các sự kiện liên quan đến đồng thời, bao gồm Khóa: Đã tiếp nhận, Khóa: Đã giải phóng, Khóa: Bế tắc và Khóa: Hết thời gian. Sử dụng các sự kiện này để chẩn đoán các vấn đề chặn và bế tắc ảnh hưởng đến hiệu suất ứng dụng.

Danh mục Lỗi và Cảnh báo ghi lại các sự kiện ngoại lệ bao gồm Ngoại lệ, Chú ý và Thông báo Lỗi Người dùng. Các sự kiện này giúp xác định lỗi ứng dụng và SQL Server cảnh báo trong các phiên theo dõi.

4.3.2 Chọn sự kiện phù hợp với kịch bản của bạn

Giám sát hiệu suất yêu cầu các sự kiện ghi lại mức tiêu thụ tài nguyên. Chọn RPC:Completed và SQL:BatchCompleted để theo dõi việc thực thi truy vấn. Bao gồm các cột Thời lượng, CPU, Đọc và Ghi để đo lường mức sử dụng tài nguyên. Các sự kiện này cung cấp nền tảng để xác định các điểm nghẽn hiệu suất.

Kiểm tra bảo mật yêu cầu các sự kiện theo dõi xác thực và ủy quyền. Chọn Đăng nhập Kiểm tra, Đăng xuất Kiểm tra, Đăng nhập Kiểm tra Không thành công và Đối tượng: Đã mở để giám sát quyền truy cập cơ sở dữ liệu. Bao gồm các cột LoginName, DatabaseName và ObjectName để xác định ai đã truy cập vào tài nguyên nào.

Các kịch bản gỡ lỗi được hưởng lợi từ việc ghi lại sự kiện toàn diện. Bao gồm các sự kiện thủ tục được lưu trữ, sự kiện lô SQL và sự kiện lỗi để theo dõi toàn bộ luồng thực thi. Ghi lại ngữ cảnh bổ sung với SPID, ApplicationName và HostĐặt tên các cột để liên kết các sự kiện với các phiên cụ thể.

4.4 Cấu hình cột dữ liệu

Theo mặc định, khi bạn chọn một sự kiện, tất cả các cột dữ liệu của sự kiện đó sẽ được chọn (đánh dấu). Bạn có thể bỏ chọn các cột không cần thiết để giảm tải và đơn giản hóa việc phân tích:

Chọn/Bỏ chọn các cột dữ liệu cho một sự kiện trong hộp thoại "Thuộc tính theo dõi".

Các cột cần thiết cho mọi dấu vết bao gồm EventClass để xác định loại sự kiện, TextData để nắm bắt câu lệnh SQL thực tế, LoginName để xác định người dùng đang thực thi và StartTime để đánh dấu thời gian sự kiện xảy ra. Các cột này cung cấp bối cảnh cơ bản cho mọi sự kiện được ghi lại.

Các cột liên quan đến hiệu suất đo lường mức tiêu thụ tài nguyên. Thời lượng cho biết thời gian một sự kiện diễn ra tính bằng micro giây. CPU hiển thị thời gian xử lý tính bằng mili giây. Đọc đếm số lần đọc trang logic. Ghi theo dõi số lần ghi trang logic. Các số liệu này xác định các hoạt động tốn nhiều tài nguyên cần tối ưu hóa.

Các cột Bảo mật và Kiểm toán theo dõi các mẫu truy cập dữ liệu. DatabaseName xác định cơ sở dữ liệu nào đã được truy cập. ObjectName chỉ định bảng hoặc đối tượng liên quan. ApplicationName tiết lộ ứng dụng nào đã khởi tạo hoạt động. Kết hợp với nhau, các cột này cung cấp các dấu vết kiểm toán toàn diện.

4.5 Thiết lập bộ lọc để giảm nhiễu

4.5.1 Tiêu chí lọc chung

Cấu hình bộ lọc bằng cách sử dụng phương pháp sau:

  1. Mở Theo dõi các thuộc tính thoại.
  2. Nhấn vào Lựa chọn sự kiện tab.
  3. Nhấp chuột Bộ lọc cột ở dưới cùng bên phải.
    Nhấp vào nút "Bộ lọc cột" trong hộp thoại "Thuộc tính theo dõi".
  4. Chọn một cột từ danh sách bên trái.
  5. Cấu hình tiêu chí lọc trong bảng điều khiển bên phải.
    Đặt bộ lọc cho cột dữ liệu trong hộp thoại "Thuộc tính theo dõi".
  6. Nhấp chuột OK để áp dụng bộ lọc.

Bộ lọc tên ứng dụng sẽ tách biệt hoạt động khỏi các ứng dụng cụ thể. Mở rộng cột ApplicationName trong hộp thoại bộ lọc, nhập tên ứng dụng của bạn vào Như lĩnh vực, và SQL Server Profiler chỉ ghi lại các sự kiện từ ứng dụng đó. Bộ lọc này tỏ ra vô cùng hữu ích khi khắc phục sự cố liên quan đến ứng dụng cụ thể.

Bộ lọc tên cơ sở dữ liệu giới hạn việc thu thập dữ liệu vào các cơ sở dữ liệu cụ thể. Lọc theo DatabaseName để loại trừ hoạt động của cơ sở dữ liệu hệ thống và tập trung vào cơ sở dữ liệu ứng dụng của bạn. Nhập tên cơ sở dữ liệu vào Như or bằng trường tùy thuộc vào việc bạn có cần khớp ký tự đại diện hay không.

Bộ lọc thời lượng chỉ ghi lại các hoạt động chạy chậm. Đặt ngưỡng tối thiểu trong Lớn hơn hoặc bằng trường bên dưới cột Thời lượng. Ví dụ: đặt Thời lượng >= 1000 sẽ chỉ ghi lại các sự kiện mất hơn một giây, lọc ra các truy vấn thực thi nhanh.

Bộ lọc tên người dùng theo dõi hoạt động cụ thể của người dùng. Lọc theo Tên đăng nhập để theo dõi người dùng cơ sở dữ liệu cụ thể. Phương pháp này giúp xác định người dùng nào thực hiện các truy vấn có vấn đề hoặc truy cập dữ liệu nhạy cảm.

4.4.2 Thực hành tốt nhất về bộ lọc

Lọc hiệu quả cân bằng giữa việc thu thập dữ liệu và tác động đến hiệu suất. Luôn áp dụng ít nhất một bộ lọc để tránh việc thu thập hoạt động hệ thống quá mức. Các bộ lọc DatabaseName và ApplicationName nên là lựa chọn của bạn.tarđiểm ting cho most dấu vết.

Tránh các dấu vết quá rộng trong môi trường sản xuất. Các dấu vết không được lọc sẽ thu thập khối lượng dữ liệu khổng lồ, có khả năng làm giảm hiệu suất máy chủ và khiến việc phân tích trở nên không thực tế. Đặt các tiêu chí lọc cụ thể tarđạt được mục tiêu khắc phục sự cố của bạn.

Kiểm tra bộ lọc trước khi triển khai trên môi trường sản xuất. Chạy thử nghiệm trên môi trường phát triển hoặc thử nghiệm trước để xác minh bộ lọc nắm bắt được các sự kiện dự kiến ​​mà không gây quá tải. Điều chỉnh tiêu chí lọc dựa trên khối lượng dữ liệu được thu thập.

4.5 Làm việc với Mẫu theo dõi

4.5.1 Tổng quan về mẫu tích hợp

Mẫu Standard cung cấp khả năng ghi lại sự kiện cân bằng, phù hợp cho việc giám sát chung. Mẫu này bao gồm các sự kiện thực thi truy vấn phổ biến, lệnh gọi thủ tục được lưu trữ và theo dõi lỗi cơ bản. Hãy sử dụng mẫu này khi bạn cần khả năng hiển thị toàn diện mà không biết chính xác cần tìm kiếm điều gì.

Mẫu TSQL tập trung cụ thể vào việc thực thi truy vấn với lựa chọn sự kiện tối thiểu. Nó ghi lại các sự kiện SQL:BatchCompleted và RPC:Completed với các cột thiết yếu để phân tích hiệu suất. Mẫu này có chi phí thấp hơn so với mẫu Standard.

Mẫu Tuning tối ưu hóa việc lựa chọn sự kiện cho phân tích Database Engine Tuning Advisor. Mẫu này ghi lại các sự kiện và cột cần thiết cho phân tích khối lượng công việc và đề xuất chỉ mục. Sử dụng mẫu này khi chuẩn bị dấu vết cho việc tự động điều chỉnh hiệu suất.

Mẫu TSQL_Replay bao gồm tất cả các sự kiện và cột cần thiết cho chức năng phát lại theo dõi. Mẫu này ghi lại chi tiết thực thi toàn diện, cho phép bạn tái tạo khối lượng công việc đã ghi lại trong môi trường thử nghiệm. Mẫu này tạo ra các tệp theo dõi lớn hơn do thu thập dữ liệu mở rộng.

4.5.2 Tạo mẫu tùy chỉnh

Tạo mẫu tùy chỉnh theo các bước sau:

  1. Nhấp chuột Tập tin -> Templates -> Mẫu mới …
  2. Nhập tên mô tả vào Tên mẫu mới trường.
  3. Tùy chọn, kiểm tra Dựa trên mẫu hiện có và chọn một mẫu hiện có nếu bạn không muốn xây dựng từ đầu:
    Tạo một mẫu mới trong SQL Server Hồ sơ.
  4. Nhấn vào Lựa chọn sự kiện tab, tùy chỉnh mẫu theo dõi với các sự kiện, cột và bộ lọc mong muốn của bạn giống như bạn làm với một dấu vết bình thường.
  5. Nhấp chuột Tiết kiệm để lưu mẫu.

Xuất mẫu để chia sẻ với các thành viên trong nhóm hoặc mục đích sao lưu:

  1. Nhấp chuột Tập tin -> Templates -> Xuất mẫu.
  2. Chọn mẫu bạn muốn xuất.
    Xuất mẫu theo dõi trong SQL Server Hồ sơ.
  3. Điều hướng đến vị trí lưu mong muốn của bạn.
  4. Nhập tên tệp và nhấp vào Tiết kiệm.
  5. Chia sẻ tệp *.tdf (SQL Server Tệp mẫu hồ sơ) với các tệp khác SQL Server Người dùng hồ sơ.

4.6 Lưu đầu ra theo dõi

Theo mặc định, SQL Server Profiler sẽ hiển thị các sự kiện trong cửa sổ theo dõi, nhưng KHÔNG lưu chúng. Bạn có thể chọn lưu dữ liệu theo dõi vào một tệp hoặc bảng trong Theo dõi các thuộc tính hộp thoại khi bạn tạo một dấu vết mới.

4.6.1 Lưu vào tệp

  1. Trong tạp chí Theo dõi các thuộc tính hộp thoại, kiểm tra Lưu vào tệp.
  2. Nhấp vào biểu tượng thư mục để mở trình duyệt tệp.
  3. Điều hướng đến vị trí lưu mong muốn của bạn.
  4. Nhập tên tệp có phần mở rộng .trc.
  5. Nhấp chuột Tiết kiệm.
  6. Thiết lập Đặt kích thước tệp tối đa để giới hạn kích thước tệp riêng lẻ.
  7. Kích hoạt tính năng Cho phép chuyển tập tin để tạo nhiều tập tin.
  8. Tùy chọn bật Máy chủ xử lý dữ liệu theo dõi để theo dõi phía máy chủ.

Thiết lập để lưu dữ liệu theo dõi vào một tệp trong hộp thoại "Thuộc tính theo dõi".

Quản lý kích thước tệp giúp ngăn ngừa tình trạng cạn kiệt dung lượng ổ đĩa. Đặt kích thước tệp tối đa ở mức hợp lý như 500 MB hoặc 1 GB dựa trên dung lượng ổ đĩa khả dụng và thời gian theo dõi dự kiến. Tính năng cuộn tệp tự động tạo tệp mới khi đạt đến giới hạn kích thước, đồng thời thêm một số vào tên tệp.

4.6.2 Lưu vào bảng

  1. Trong tạp chí Theo dõi các thuộc tính hộp thoại, kiểm tra Lưu vào bảng.
  2. Bảng đích hộp thoại xuất hiện.
    Chọn bảng đích để lưu dữ liệu theo dõi.
  3. Chọn máy chủ từ của chúng tôi thả xuống.
  4. Chọn cơ sở dữ liệu từ Cơ sở dữ liệu thả xuống.
  5. Chọn một bảng hiện có hoặc nhập tên bảng mới vào Bàn trường.
  6. Nhấp chuột OK xác nhận.
  7. Tùy chọn thiết lập Đặt số hàng tối đa để giới hạn kích thước bảng.

Thiết lập để lưu dữ liệu theo dõi vào bảng trong hộp thoại "Thuộc tính theo dõi".

Các cân nhắc về hiệu suất được áp dụng khi lưu vào bảng. Lưu trữ bảng gây ra thêm chi phí so với lưu trữ tệp vì SQL Server phải ghi dữ liệu theo dõi thông qua công cụ lưu trữ. Sử dụng lưu trữ bảng khi bạn cần truy vấn dữ liệu theo dõi ngay lập tức bằng T-SQL.

Việc lưu trữ dữ liệu trở nên quan trọng đối với các dấu vết dạng bảng. Đặt giới hạn số hàng tối đa để ngăn các bảng quá lớn. Lưu trữ hoặc xóa dữ liệu dấu vết cũ thường xuyên để duy trì hiệu suất. Cân nhắc phân vùng các bảng dấu vết lớn để quản lý tốt hơn.

5. Điều hành và Quản lý SQL Server Dấu vết

5.1 Starting, Tạm dừng và Dừng dấu vết

Quản lý việc thực hiện theo dõi bằng các nút trên thanh công cụ:Quản lý dấu vết thông qua các nút thanh công cụ trong SQL Server Hồ sơ.

  • Mau xanh Bắt đầu nút bắt đầu ghi lại các sự kiện theo cấu hình của bạn.
  • Nhấp chuột tạm ngừng theo nhịp độrartạm dừng thu thập dữ liệu mà không làm mất kết nối.
  • Nhấp chuột Dừng để kết thúc theo dõi và đóng kết nối.

Thông qua các mục menu:
Quản lý dấu vết thông qua các mục menu trong SQL Server Hồ sơ.

Bằng cách nhấp chuột phải vào bất kỳ mục nào trong cửa sổ theo dõi:

Quản lý dấu vết thông qua các mục menu chuột phải trong SQL Server Hồ sơ.

Quản lý vòng đời theo dõi ảnh hưởng đến tài nguyên máy chủ. Các theo dõi đang hoạt động tiêu tốn bộ nhớ và sức mạnh xử lý tỷ lệ thuận với khối lượng sự kiện được ghi lại. Tạm dừng theo dõi trong những khoảng thời gian không cần giám sát để giảm chi phí. Dừng theo dõi hoàn toàn khi quá trình phân tích hoàn tất để giải phóng tài nguyên.

Các dấu vết phía máy khách yêu cầu kết nối Profiler đang hoạt động. Đóng SQL Server Cửa sổ Profiler sẽ dừng theo dõi phía máy khách ngay lập tức. Thu nhỏ cửa sổ Profiler thay vì đóng nó để giữ cho các dấu vết tiếp tục chạy trong khi làm việc trên các ứng dụng khác.

5.2 Giám sát theo dõi thời gian thực

Theo dõi các sự kiện đã ghi lại khi chúng xảy ra trong cửa sổ theo dõi chính. Mỗi hàng đại diện cho một sự kiện duy nhất với các cột hiển thị thuộc tính sự kiện. Lưới được cập nhật liên tục trong quá trình theo dõi đang hoạt động, hiển thị most các sự kiện gần đây ở phía dưới theo mặc định.

Giám sát theo dõi thời gian thực trong SQL Server Hồ sơ.

Xác định các mẫu và vấn đề bằng cách quan sát tần suất và đặc điểm của sự kiện. Các sự kiện kéo dài cho thấy vấn đề về hiệu suất. Các sự kiện lỗi thường xuyên cho thấy sự cố ứng dụng. Hoạt động đăng nhập bất thường có thể báo hiệu mối lo ngại về bảo mật. Giám sát theo thời gian thực cho phép phản hồi ngay lập tức các sự cố mới phát sinh.

Cuộn qua các sự kiện đã ghi lại để xem xét các sự kiện cụ thể. Nhấp vào bất kỳ hàng nào để chọn một sự kiện và xem chi tiết đầy đủ. Nhấp đúp vào sự kiện để mở hộp thoại thuộc tính chi tiết hiển thị tất cả các giá trị cột. Sử dụng tính năng khóa cuộn để ngăn tự động cuộn khi xem lại các sự kiện lịch sử.

5.3 Quản lý nhiều dấu vết đồng thời

Việc chạy nhiều dấu vết cùng lúc mang lại sự linh hoạt cho các tình huống giám sát phức tạp. Tạo các dấu vết riêng biệt cho các khía cạnh khác nhau của hoạt động cơ sở dữ liệu, chẳng hạn như một dấu vết để giám sát hiệu suất và một dấu vết khác để kiểm tra bảo mật. Mỗi dấu vết chạy độc lập với cấu hình riêng.

Quản lý nhiều dấu vết đồng thời trong SQL Server Hồ sơ.

Việc phân bổ tài nguyên trở nên quan trọng khi chạy nhiều dấu vết. Mỗi dấu vết hoạt động sẽ tiêu tốn bộ nhớ, CPU và có thể cả I/O ổ đĩa. Hãy giới hạn số lượng dấu vết đồng thời và đảm bảo mỗi dấu vết sử dụng bộ lọc phù hợp để giảm thiểu chi phí. Giám sát hiệu suất máy chủ khi chạy nhiều dấu vết.

Phối hợp thời gian theo dõi để tránh chồng chéo các dấu vết có chi phí cao. Nếu có thể, hãy chạy các dấu vết tốn nhiều tài nguyên vào các khoảng thời gian hoạt động thấp. Lên lịch các dấu vết khác nhau vào các thời điểm khác nhau thay vì chạy tất cả cùng lúc.

5.4 Theo dõi phía máy khách so với Theo dõi phía máy chủ

Theo mặc định, một dấu vết mới được tạo là một dấu vết phía máy khách, yêu cầu kết nối đang hoạt động từ SQL Server Profiler đến máy chủ cơ sở dữ liệu. Quá trình theo dõi sẽ dừng ngay lập tức nếu kết nối bị ngắt.ost hoặc Profiler đã đóng.

Bạn cũng có thể tạo một dấu vết phía máy chủ, chạy hoàn toàn trên SQL Server mà không cần kết nối Profiler đang hoạt động. Theo dõi phía máy chủ vẫn tiếp tục chạy ngay cả sau khi đóng SQL Server Profiler, ghi dữ liệu vào vị trí tệp đã chỉ định.

Để tạo dấu vết phía máy chủ:

  1. Nhấp vào Tệp -> Dấu vết mới …
  2. Trong tạp chí Theo dõi các thuộc tính hộp thoại, kiểm tra Lưu vào tệp
  3. Đặt vị trí tệp và các cài đặt khác.
  4. Kích hoạt tính năng Máy chủ xử lý dữ liệu theo dõi để tạo dấu vết phía máy chủ.

Tạo dấu vết phía máy chủ trong SQL Server Hồ sơ.

Hiệu suất có sự khác biệt đáng kể giữa các loại dấu vết. Dấu vết phía máy khách phải truyền dữ liệu qua mạng đến giao diện Profiler, làm tăng độ trễ và tiêu thụ băng thông. Dấu vết phía máy chủ ít tốn kém hơn vì dữ liệu được ghi trực tiếp vào đĩa trên máy chủ.

Sử dụng dấu vết phía máy khách để khắc phục sự cố tạm thời, chẩn đoán nhanhostCác phiên ic và các tình huống mà phản hồi trực quan tức thời là rất quan trọng. Hãy chọn theo dõi phía máy chủ để giám sát sản xuất, ghi chép dài hạn và các tình huống yêu cầu vận hành tự động.

6. Phân tích SQL Server Dữ liệu hồ sơ

6.1 Mở và xem lại các dấu vết đã lưu

Tải các tệp theo dõi đã lưu bằng các bước sau:

  1. Khởi động SQL Server Hồ sơ.
  2. Nhấp chuột Tập tin -> Mở -> Tệp theo dõi.
  3. Điều hướng đến vị trí tệp theo dõi.
  4. Chọn tệp .trc và nhấp vào Mở.
  5. Dữ liệu theo dõi được tải vào cửa sổ chính.

Tải bảng theo dõi theo quy trình này:

  1. Nhấp chuột Tập tin -> Mở -> Bảng theo dõi.
  2. Kết nối tới máy chủ hostvào bảng theo dõi.
  3. Chọn cơ sở dữ liệu từ Cơ sở dữ liệu thả xuống.
  4. Chọn bảng từ Bàn thả xuống.
  5. Nhấp chuột OK để tải dữ liệu.

6.2 Lọc và tìm kiếm dữ liệu theo dõi

6.2.1 Post- Lọc ảnh

Áp dụng bộ lọc cho dữ liệu theo dõi đã tải bằng các bước sau:

  1. Nhấp chuột Chỉnh sửa -> Tìm kiếm hoặc báo chí Ctrl + F.
  2. Nhập văn bản tìm kiếm vào Tìm trường.
  3. Chọn cột để tìm kiếm từ Nhìn vào thả xuống.
  4. Nhấp chuột Tìm tiếp theo để xác định các sự kiện phù hợp.

Tìm dữ liệu dấu vết trong SQL Server Hồ sơ.

Lọc theo cột sẽ tinh chỉnh dữ liệu hiển thị mà không cần lấy lại các sự kiện. Nhấp chuột phải vào bất kỳ tiêu đề cột nào và chọn tùy chọn lọc từ menu ngữ cảnh. Nhập tiêu chí lọc để chỉ hiển thị các hàng khớp. Phương pháp này giúp tăng tốc độ phân tích bằng cách ẩn các sự kiện không liên quan.

6.2.2 Tìm kiếm sự kiện cụ thể

Chức năng tìm kiếm giúp xác định vị trí các sự kiện cụ thể trong các tệp theo dõi lớn. Sử dụng hộp thoại Tìm kiếm để tìm kiếm theo nội dung văn bản, loại sự kiện hoặc giá trị cột. Biểu thức chính quy cho phép các mẫu tìm kiếm phức tạp khi cần.

Đánh dấu các sự kiện quan trọng để tham khảo nhanh trong quá trình phân tích. Nhấp chuột phải vào các sự kiện quan trọng và chọn tùy chọn đánh dấu để đánh dấu. Điều hướng giữa các dấu trang bằng phím tắt hoặc lệnh menu, giúp dễ dàng so sánh các sự kiện liên quan.

6.3 Nhóm và tổng hợp các sự kiện

Nhóm các sự kiện theo giá trị cột để xác định các mẫu và tóm tắt hoạt động. Nhấp chuột phải vào bất kỳ tiêu đề cột nào và chọn Nhóm theo cột này để sắp xếp các sự kiện. Chế độ xem nhóm sẽ thu gọn các sự kiện tương tự lại với nhau, giúp dễ dàng xem các mô hình tổng thể hơn.

Chế độ xem tổng hợp cung cấp tóm tắt thống kê về dữ liệu theo dõi. Nhóm theo TextData để xem số lần thực hiện mỗi truy vấn. Nhóm theo LoginName để xem tóm tắt hoạt động của từng người dùng. Tổng hợp sẽ hiển thị các mẫu không dễ nhận thấy ngay trong danh sách sự kiện chi tiết.

Mở rộng và thu gọn các nhóm để phân tích sâu hơn vào các danh mục cụ thể. Nhấp vào biểu tượng dấu cộng và dấu trừ bên cạnh tiêu đề nhóm để hiển thị hoặc ẩn các sự kiện được nhóm.rargóc nhìn chical tạo điều kiện cho việc phân tích từ trên xuống,tarvới các mẫu cấp cao và đi sâu vào chi tiết.

6.4 Trích xuất các truy vấn SQL từ các dấu vết

Trích xuất truy vấn từ dữ liệu theo dõi bằng cách làm theo các bước sau:

  1. Xác định truy vấn quan tâm trong lưới theo dõi.
  2. Nhấp vào hàng để chọn sự kiện.
  3. Xem toàn bộ văn bản truy vấn ở bảng điều khiển phía dưới.
  4. Ấn Bản Ctrl + A để chọn toàn bộ văn bản truy vấn.
  5. Ấn Bản Ctrl + C để sao chép văn bản truy vấn.
  6. Dán truy vấn vào Management Studio để phân tích thêm.

Trích xuất truy vấn SQL từ sự kiện theo dõi.

Xác định các truy vấn có vấn đề bằng cách sắp xếp theo cột hiệu suất. Nhấp vào tiêu đề cột Thời lượng để sắp xếp theo thời gian thực thi. Các truy vấn chậm nhất sẽ xuất hiện ở trên cùng hoặc dưới cùng tùy thuộc vào hướng sắp xếp. Tương tự, sắp xếp theo CPU, Đọc hoặc Ghi để xác định các hoạt động tốn nhiều tài nguyên.

Xuất truy vấn để kiểm tra bằng cách sao chép chúng từ cửa sổ theo dõi sang cửa sổ truy vấn. Sửa đổi các truy vấn đã trích xuất để kiểm tra các chiến lược tối ưu hóa. So sánh kế hoạch thực thi và số liệu hiệu suất giữa phiên bản gốc và phiên bản đã tối ưu.

6.5 Sự kiện tương quan và hiểu luồng thực thi

Mối quan hệ sự kiện cha-con thể hiện sự thực thi hierarchies. SQL:BatchStarsự kiện ting cha SQL:StmtStarcác sự kiện ting, lần lượt là các sự kiện thực thi thủ tục cha. Hiểu được các mối quan hệ này giúp theo dõi toàn bộ các đường dẫn thực thi trong mã của bạn.

Theo dõi giao dịch kết nối các sự kiện liên quan theo thời gian. Sử dụng cột SPID để nhóm các sự kiện theo phiên. Trong một phiên, các sự kiện diễn ra theo thứ tự thời gian, hiển thị trình tự các hoạt động. Chế độ xem này cho thấy cách các hoạt động khác nhau tương tác trong các giao dịch.

Đối chiếu các sự kiện bằng cách kiểm tra các giá trị cột được chia sẻ. Các sự kiện có SPID giống hệt nhau xảy ra trong cùng một phiên. Các sự kiện có cùng ApplicationName đến từ cùng một ứng dụng. Sử dụng các mối tương quan này để hiểu các kịch bản thực thi phức tạp.

7. chung SQL Server Các trường hợp sử dụng Profiler

7.1 Khắc phục sự cố hiệu suất

7.1.1 Xác định các truy vấn chậm

Ghi lại các truy vấn chậm bằng cách sử dụng cấu hình sau:

  1. Tạo một dấu vết mới bằng cách sử dụng TSQL bản mẫu.
  2. Trong tạp chí Lựa chọn sự kiện tab, xác minh SQL:BatchCompletedRPC: Đã hoàn thành được chọn.
  3. Nhấp chuột Bộ lọc cột.
  4. Chọn Độ dài khóa học từ danh sách cột.
  5. Nhập 1000000 vào Lớn hơn hoặc bằng trường để ghi lại các truy vấn mất hơn 1 giây.
  6. Nhấp chuột OK và start dấu vết.
  7. Chạy theo dõi trong thời gian sử dụng cao điểm.
  8. Dừng theo dõi và sắp xếp theo Thời lượng để xác định các truy vấn chậm nhất.

Phân tích dựa trên thời lượng cho thấy các mẫu thời gian thực thi. Sắp xếp các sự kiện đã ghi lại theo cột Thời lượng để xem các thao tác chạy lâu nhất trước. Kiểm tra cột TextData để tìm các sự kiện này nhằm xác định các truy vấn thực sự gây ra sự chậm trễ.

Các truy vấn sử dụng nhiều CPU và I/O yêu cầu các phương pháp tối ưu hóa khác nhau. Sắp xếp theo cột CPU để tìm các truy vấn liên quan đến bộ xử lý cần cải thiện thuật toán. Sắp xếp theo cột Đọc hoặc Ghi để xác định các truy vấn liên quan đến I/O được hưởng lợi từ việc lập chỉ mục hoặc viết lại truy vấn.

7.1.2 Phát hiện tình trạng chặn và bế tắc

Cấu hình phát hiện chặn theo các bước sau:

  1. Tạo một dấu vết mới.
  2. Trong tạp chí Lựa chọn sự kiện tab, mở rộng Khóa.
  3. Chọn Khóa: Bế tắcKhóa: Chuỗi bế tắc.
  4. Mở rộng Lỗi và cảnh báo.
  5. Chọn Báo cáo quy trình bị chặn.
  6. Bao gồm các cột: SPID, Dữ liệu văn bản, Tên cơ sở dữ liệu, Tên đăng nhập.
  7. Startheo dõi và giám sát các sự kiện khóa.

Giám sát sự kiện khóa cho thấy các vấn đề đồng thời ảnh hưởng đến hiệu suất ứng dụng. Sự kiện Khóa:Bế tắc cho biết khi nào SQL Server phát hiện và giải quyết tình trạng bế tắc. Khóa: Sự kiện Chuỗi bế tắc hiển thị các tiến trình liên quan đến bế tắc.

Biểu đồ bế tắc cung cấp hình ảnh trực quan về các tình huống bế tắc. Khi sự kiện bế tắc xảy ra, cột TextData chứa XML mô tả tình trạng bế tắc. Sao chép XML này và mở nó trong SQL Server Management Studio để xem sơ đồ bế tắc đồ họa cho thấy tiến trình nào chặn lẫn nhau.

7.1.3 Tìm kiếm các chỉ mục bị thiếu

Ghi lại khối lượng công việc để phân tích chỉ mục bằng các bước sau:

  1. Tạo một dấu vết mới bằng cách sử dụng điều chỉnh bản mẫu.
  2. Cấu hình theo dõi để lưu vào tệp.
  3. Chạy theo dõi trong khoảng thời gian khối lượng công việc đại diện.
  4. Dành ít nhất vài giờ hoạt động.
  5. Dừng theo dõi và lưu tệp.
  6. Khởi chạy Database Engine Tuning Advisor.
  7. Chọn tệp theo dõi làm nguồn khối lượng công việc.
  8. Chạy phân tích để nhận khuyến nghị về chỉ số.

Tích hợp với Database Engine Tuning Advisor tự động đề xuất chỉ mục. Tuning Advisor phân tích khối lượng công việc đã ghi lại và đề xuất các chỉ mục giúp cải thiện hiệu suất. Hãy xem xét kỹ lưỡng các đề xuất trước khi triển khai, cân nhắc đến chi phí lưu trữ và bảo trì.osts.

7.2 Khắc phục sự cố ứng dụng

7.2.1 Gỡ lỗi ứng dụng

Theo dõi lỗi ứng dụng bằng cách sử dụng cấu hình này:

  1. Tạo một dấu vết mới.
  2. Mở rộng Lỗi và cảnh báo trong tab Lựa chọn sự kiện.
  3. Chọn Ngoại lệ, Thông báo lỗi của người dùngChú ý.
  4. Bao gồm các cột: lỗi, Dữ liệu văn bản, Tên ứng dụng, SPID.
  5. Lọc bởi Tên ứng dụng để tập trung vào ứng dụng của bạn.
  6. Startheo dõi và tái hiện tình huống lỗi.
  7. Xem lại các sự kiện lỗi đã ghi lại để chẩn đoánostthông tin ic.

Theo dõi lỗi sẽ tiết lộ các chi tiết ngoại lệ thường bị ẩn khỏi ứng dụng. Cột Lỗi chứa SQL Server Số lỗi. Cột TextData hiển thị thông báo lỗi và truy vấn gây ra lỗi. Cột Severity cho biết mức độ nghiêm trọng của lỗi.

Giám sát ngoại lệ ghi lại các vấn đề thời gian chạy, bao gồm vi phạm ràng buộc, lỗi quyền và sự kiện hết thời gian chờ. Đối chiếu các sự kiện lỗi với các sự kiện truy vấn trước đó để hiểu nguyên nhân gây ra ngoại lệ.

7.2.2 Theo dõi giao tiếp ứng dụng-cơ sở dữ liệu

Theo dõi hoạt động của ứng dụng bằng cách thực hiện các bước sau:

  1. Tạo một dấu vết mới bằng cách sử dụng Tiêu chuẩn bản mẫu.
  2. Nhấp chuột Bộ lọc cột.
  3. Chọn Tên ứng dụng và nhập tên ứng dụng của bạn vào Như trường.
  4. Tùy chọn lọc theo HostHọ tên để cô lập các máy chủ cụ thể.
  5. Startheo dõi trong quá trình hoạt động ứng dụng.
  6. Xem lại các sự kiện đã ghi lại để xem tất cả các tương tác trong cơ sở dữ liệu.

Lọc tên ứng dụng sẽ tách biệt các truy vấn khỏi các ứng dụng cụ thể. SQL Server Đặt tên ứng dụng từ chuỗi kết nối, giúp dễ dàng theo dõi từng ứng dụng trong môi trường đa ứng dụng. Kiểm tra xem chuỗi kết nối của bạn có bao gồm tham số Tên Ứng dụng để lọc hiệu quả không.

Theo dõi kết nối hiển thị vòng đời phiên bao gồm các sự kiện đăng nhập, thực thi truy vấn và đăng xuất. Theo dõi tốc độ tạo kết nối để xác định các sự cố gộp kết nối. Việc mất kết nối quá mức cho thấy các vấn đề tiềm ẩn về cấu hình ứng dụng.

7.2.3 Xác thực hành vi ứng dụng

Xác minh hành vi ứng dụng dự kiến ​​bằng phân tích theo dõi. Ghi lại tất cả các hoạt động cơ sở dữ liệu trong một giao dịch kinh doanh và xác minh các truy vấn chính xác được thực thi theo đúng trình tự. So sánh các truy vấn thực tế đã ghi lại với hành vi dự kiến ​​để xác định sự khác biệt.

Xác thực tham số đảm bảo ứng dụng truyền giá trị chính xác đến các thủ tục được lưu trữ và các truy vấn được tham số hóa. Kiểm tra văn bản truy vấn đã thu thập để xác minh giá trị tham số khớp với kỳ vọng. Tham số không chính xác thường gây ra lỗi logic, biểu hiện dưới dạng kết quả kinh doanh không chính xác.

7.3 Kiểm toán bảo mật

7.3.1 Giám sát các lần đăng nhập

Cấu hình giám sát đăng nhập bằng các bước sau:

  1. Tạo một dấu vết mới.
  2. Mở rộng Kiểm toán an ninh trong tab Lựa chọn sự kiện.
  3. Chọn Đăng nhập kiểm toán, Đăng xuất kiểm toánĐăng nhập kiểm tra không thành công.
  4. Bao gồm các cột: Tên đăng nhập, HostHọ tên, Tên ứng dụng, Starthời gian.
  5. Startheo dõi hoạt động xác thực.
  6. Xem lại các sự kiện đăng nhập không thành công để tìm ra các vấn đề bảo mật tiềm ẩn.

Đăng nhập thành công và thất bại cung cấp khả năng theo dõi xác thực toàn diện. Sự kiện Đăng nhập Kiểm tra ghi lại các lần xác thực thành công với danh tính người dùng và thông tin nguồn. Sự kiện Đăng nhập Kiểm tra Thất bại cho biết các lần đăng nhập không thành công có thể là dấu hiệu của các cuộc tấn công hoặc sự cố cấu hình.

Theo dõi xác thực sẽ phát hiện các mẫu truy cập cơ sở dữ liệu. Giám sát tần suất đăng nhập để phát hiện hoạt động bất thường. Nhiều lần đăng nhập thất bại sau đó đăng nhập thành công có thể cho thấy thông tin đăng nhập bị xâm phạm. Việc đăng nhập thất bại từ các vị trí không mong muốn cần được điều tra.

7.3.2 Theo dõi việc truy cập và sửa đổi dữ liệu

Theo dõi truy cập dữ liệu bằng cấu hình này:

  1. Tạo một dấu vết mới.
  2. Mở rộng Kiểm toán an ninh.
  3. Chọn Kiểm tra quyền truy cập đối tượng cơ sở dữ liệu.
  4. Bao gồm các cột: Tên của môn học, Tên đăng nhập, Dữ liệu văn bản, Tên cơ sở dữ liệu.
  5. Lọc bởi Tên của môn học để theo dõi các bảng nhạy cảm cụ thể.
  6. Startheo dõi để nắm bắt các nỗ lực truy cập.

Tính năng theo dõi SELECT, INSERT, UPDATE, DELETE cung cấp khả năng kiểm tra sửa đổi dữ liệu toàn diện. Ghi lại các sự kiện SQL:BatchCompleted bằng các bộ lọc phù hợp để giám sát tất cả các hoạt động truy cập dữ liệu. Lọc theo ObjectName hoặc TextData để tập trung vào các bảng nhạy cảm.

Việc truy cập dữ liệu nhạy cảm cần được giám sát chặt chẽ để đảm bảo tuân thủ các chính sách bảo mật. Hãy tạo dấu vết cụ thể cho các bảng chứa thông tin cá nhân, dữ liệu tài chính hoặc thông tin bí mật khác. Thường xuyên xem xét các mẫu truy cập để xác định các truy cập dữ liệu không phù hợp.

7.3.3 Xác định các hoạt động trái phép

Phát hiện hoạt động đáng ngờ bằng cách phân tích các mẫu truy vấn trong các dấu vết đã ghi lại. Tìm kiếm các truy vấn bất thường không khớp với hành vi ứng dụng thông thường. Các câu lệnh SELECT không có mệnh đề WHERE truy xuất toàn bộ bảng có thể cho thấy các nỗ lực đánh cắp dữ liệu.

Các nỗ lực leo thang đặc quyền sẽ xuất hiện dưới dạng lỗi quyền hoặc nỗ lực thực thi lệnh quản trị. Hãy theo dõi các truy vấn cố gắng truy cập bảng hệ thống, sửa đổi cấu hình máy chủ hoặc tạo tài khoản đặc quyền. Lọc các sự kiện Lỗi và xem xét cột TextData để tìm hoạt động đáng ngờ.

7.4 Lập kế hoạch năng lực và phân tích khối lượng công việc

Thiết lập đường cơ sở bằng cách ghi lại khối lượng công việc tiêu biểu trong quá trình vận hành bình thường. Chạy theo dõi trong giờ làm việc thông thường để hiểu rõ các mô hình hoạt động tiêu chuẩn. Lưu các đường cơ sở này làm đường cơ sở hiệu suất để so sánh trong tương lai.

Xác định mức sử dụng cao điểm cho biết thời điểm hệ thống của bạn đạt tải tối đa. Ghi lại dấu vết trong các khoảng thời gian khác nhau, bao gồm giờ làm việc, thời gian xử lý hàng loạt và hoạt động ngoài giờ. Phân tích số lượng sự kiện và mức tiêu thụ tài nguyên để xác định các giai đoạn cao điểm.

Các mô hình sử dụng tài nguyên xuất hiện từ phân tích khối lượng công việc. Nhóm các sự kiện theo khoảng thời gian để xem phân phối hoạt động trong suốt cả ngày. Tính toán các số liệu tổng hợp về CPU, I/O ổ đĩa và thời lượng để định lượng mức tiêu thụ tài nguyên. Sử dụng dữ liệu này để lập kế hoạch nâng cấp năng lực hoặc xác định các cơ hội tối ưu hóa.

8. Nâng cao SQL Server Kỹ thuật phân tích hồ sơ

8.1 Tạo dấu vết phía máy chủ bằng T-SQL

8.1.1 Sử dụng sp_trace_create và các thủ tục liên quan

Tạo dấu vết phía máy chủ theo chương trình bằng cách sử dụng các thủ tục lưu trữ T-SQL. Phương pháp này cho phép tạo và quản lý dấu vết tự động mà không cần SQL Server Giao diện đồ họa của Profiler.

Xác định dấu vết phía máy chủ bằng cách sử dụng mã ví dụ này:

  1. Khai báo biến cho ID theo dõi và đường dẫn tệp.
  2. Gọi sp_trace_create để tạo một dấu vết mới.
  3. Sử dụng sp_trace_setevent để thêm sự kiện và cột.
  4. Tùy chọn sử dụng sp_trace_setfilter để cấu hình bộ lọc.
  5. Gọi sp_trace_setstatus tới start dấu vết.

Quy trình sp_trace_create khởi tạo một định nghĩa theo dõi mới. Chỉ định đường dẫn tệp đầu ra, kích thước tệp tối đa và các tùy chọn chuyển tiếp. Quy trình trả về ID theo dõi được sử dụng trong các lần gọi quy trình tiếp theo để cấu hình theo dõi.

Thêm sự kiện bằng thủ tục sp_trace_setevent. Chỉ định ID theo dõi, ID sự kiện và ID cột cho mỗi tổ hợp sự kiện-cột bạn muốn ghi lại. Gọi thủ tục này nhiều lần để xây dựng cấu hình theo dõi hoàn chỉnh.

Cấu hình bộ lọc bằng thủ tục sp_trace_setfilter. Chỉ định ID theo dõi, ID cột, toán tử logic, toán tử so sánh và giá trị bộ lọc. Nhiều lệnh gọi bộ lọc kết hợp để tạo ra các tiêu chí lọc phức tạp.

StarTheo dõi bằng cách gọi sp_trace_setstatus với giá trị trạng thái là 1. Dừng theo dõi bằng cách gọi cùng một quy trình với giá trị trạng thái là 0. Xóa định nghĩa theo dõi bằng cách gọi với giá trị trạng thái là 2.

8.1.2 Ưu điểm của Theo dõi phía máy chủ

Giảm thiểu chi phí vận hành máy khách khiến việc theo dõi phía máy chủ trở nên lý tưởng cho việc giám sát sản xuất. Máy chủ cơ sở dữ liệu xử lý tất cả các hoạt động theo dõi mà không tiêu tốn tài nguyên máy khách. Băng thông mạng không bị tiêu tốn khi truyền sự kiện đến ứng dụng khách.

Thực thi tự động cho phép thu thập dấu vết không cần giám sát. Dấu vết phía máy chủ tiếp tục chạy sau khi tạo ngay cả khi không có kết nối máy khách. Lên lịch tạo dấu vết thông qua SQL Server Công việc của tác nhân giám sát tự động.

Tác động hiệu suất thấp hơn đến từ việc xử lý phía máy chủ. Sự kiện được ghi trực tiếp vào đĩa mà không cần tuần tự hóa bổ sung hoặc truyền dữ liệu qua mạng. Quản lý bộ đệm tối ưu hóa I/O đĩa để có hiệu suất tổng thể tốt hơn.

8.2 Chức năng theo dõi phát lại

8.2.1 Ghi lại dấu vết để phát lại

Tạo các dấu vết có thể phát lại theo các bước sau:

  1. Tạo một dấu vết mới bằng cách sử dụng Phát lại TSQL bản mẫu.
  2. Xác minh tất cả các sự kiện và cột bắt buộc đã được chọn.
  3. Cấu hình theo dõi để lưu vào tệp.
  4. Chạy theo dõi trong khoảng thời gian khối lượng công việc mà bạn muốn ghi lại.
  5. Dừng theo dõi và lưu tệp.

Các sự kiện và cột bắt buộc đảm bảo phát lại dấu vết đầy đủ. Mẫu TSQL_Replay bao gồm tất cả các loại sự kiện và cột dữ liệu cần thiết. Việc thiếu các thành phần bắt buộc sẽ ngăn việc phát lại thành công, vì vậy hãy luôn sử dụng mẫu này khi ghi lại để phát lại.

8.2.2 Phát lại dấu vết

Phát lại khối lượng công việc đã ghi lại bằng các bước sau:

  1. In SQL Server Profiler, nhấp chuột Tập tin -> Mở -> Tệp theo dõi.
  2. Chọn tệp theo dõi có thể phát lại.
  3. Nhấp chuột Replay -> Bắt đầu.
  4. Kết nối với tarlấy máy chủ trong hộp thoại phát lại.
  5. Cấu hình các tùy chọn phát lại bao gồm thứ tự phát lại và thời gian phát lại.
  6. Nhấp chuột OK để bắt đầu phát lại.
  7. Theo dõi tiến trình phát lại trong cửa sổ trạng thái.

Tùy chọn cấu hình phát lại kiểm soát cách SQL Server Profiler tái tạo khối lượng công việc đã ghi lại. Phát lại các sự kiện theo thứ tự chúng đã được ghi lại để duy trì mối quan hệ thời gian. Cấu hình xem nên giữ nguyên thời gian ban đầu hay phát lại sự kiện càng nhanh càng tốt.

8.2.3 Các trường hợp sử dụng cho Phát lại theo dõi

Kiểm thử tải được hưởng lợi từ việc phát lại dấu vết bằng cách tái tạo khối lượng công việc thực tế. Ghi lại dấu vết khối lượng công việc sản xuất và phát lại chúng trên các hệ thống thử nghiệm để xác thực hiệu suất theo các mô hình sử dụng thực tế. Điều chỉnh cài đặt đồng thời để mô phỏng các mức tải khác nhau.

Xác thực di chuyển môi trường đảm bảo các hệ thống mới có thể xử lý khối lượng công việc hiện có. Ghi lại dấu vết từ các hệ thống sản xuất hiện tại và phát lại chúng trên phần cứng mới hoặc phần cứng đã cập nhật. SQL Server phiên bản. So sánh các số liệu hiệu suất để xác minh việc di chuyển sẽ không làm giảm hiệu suất.

Các kịch bản thử nghiệm bao gồm thử nghiệm hồi quy sau khi thay đổi mã, xác thực các thay đổi của trình tối ưu hóa trên SQL Server phiên bản và cấu hình phần cứng thử nghiệm ứng suất. Replay cung cấp khối lượng công việc nhất quán, có thể lặp lại để thử nghiệm đáng tin cậy.

8.3 Tích hợp SQL Profiler với Database Engine Tuning Advisor

Tạo tệp khối lượng công việc cho Database Engine Tuning Advisor bằng cách ghi lại dấu vết với các sự kiện phù hợp. Sử dụng mẫu Tuning để đảm bảo tất cả thông tin cần thiết đều được ghi lại để phân tích.

Khởi chạy Database Engine Tuning Advisor và chọn tệp theo dõi của bạn làm nguồn khối lượng công việc. Trình cố vấn sẽ phân tích các truy vấn đã ghi lại và đề xuất các chỉ mục, chế độ xem được lập chỉ mục hoặc chiến lược phân vùng giúp cải thiện hiệu suất.

Quy trình tối ưu hóa hiệu suất tích hợp việc ghi lại dấu vết với phân tích điều chỉnh. Ghi lại khối lượng công việc tiêu biểu trong quá trình vận hành bình thường, phân tích với Tuning Advisor, xem xét các đề xuất, thử nghiệm các thay đổi được đề xuất trong quá trình phát triển và cuối cùng triển khai các thay đổi đã được phê duyệt trong quá trình sản xuất.

8.4 Tự động hóa việc thu thập dấu vết

Lên lịch theo dõi bằng cách sử dụng SQL Server Tác vụ đại lý để thu thập dữ liệu tự động. Tạo các tập lệnh T-SQL xác định dấu vết phía máy chủ bằng các thủ tục sp_trace. Lên lịch các tập lệnh này chạy vào những thời điểm hoặc khoảng thời gian cụ thể.

Tự động hóa PowerShell cho phép quản lý các kịch bản theo dõi phức tạp. Viết các tập lệnh PowerShell để tạo các dấu vết, theo dõi trạng thái của chúng và xử lý dữ liệu đã thu thập. Lên lịch các tập lệnh PowerShell thông qua Trình lập lịch tác vụ hoặc SQL Server Đặc vụ.

SQL Server Công việc của tác nhân cung cấp khả năng thực thi theo lịch trình đáng tin cậy. Tạo các công việctarTheo dõi khi bắt đầu giai đoạn giám sát và dừng theo dõi sau khi hoàn tất thu thập dữ liệu. Cấu hình thông báo công việc để cảnh báo quản trị viên về các lỗi.

8.5 Phân tích dấu vết theo chương trình

Đọc tệp theo dõi bằng T-SQL bằng hàm fn_trace_gettable. Hàm có giá trị bảng này phân tích cú pháp tệp theo dõi và trả về dữ liệu sự kiện dưới dạng tập kết quả. Truy vấn dữ liệu này bằng T-SQL chuẩn để thực hiện phân tích tùy chỉnh.

Các tập lệnh phân tích tùy chỉnh cho phép xử lý theo dõi tự động. Viết các truy vấn để tính toán thống kê tổng hợp, xác định các mẫu hoặc đánh dấu các điểm bất thường. Lên lịch để các tập lệnh này tự động chạy sau khi quá trình thu thập theo dõi hoàn tất.

Tạo báo cáo bằng cách truy vấn dữ liệu theo dõi được lưu trữ trong các bảng. Tạo chế độ xem tổng hợp sự kiện theo khoảng thời gian, người dùng hoặc ứng dụng. Xây dựng các giải pháp báo cáo cung cấp thông tin chi tiết thường xuyên về hoạt động và hiệu suất cơ sở dữ liệu.

9. SQL Server Thực hành tốt nhất của Profiler

9.1 Thực hành tốt nhất về hiệu suất

9.1.1 Giảm thiểu chi phí theo dõi

Chỉ chọn các sự kiện cần thiết để giảm thiểu chi phí theo dõi. Mỗi loại sự kiện bổ sung sẽ làm tăng lượng dữ liệu mà công cụ theo dõi phải xử lý. Hãy xem xét lại các mục tiêu giám sát của bạn và chỉ bao gồm các sự kiện liên quan trực tiếp đến các mục tiêu đó.

Sử dụng bộ lọc hiệu quả để tránh thu thập dữ liệu không liên quan. Lọc theo DatabaseName để loại trừ cơ sở dữ liệu hệ thống. Lọc theo Duration để chỉ thu thập các truy vấn chậm. Lọc theo ApplicationName để tập trung vào các ứng dụng cụ thể. Lọc đúng cách giúp giảm đáng kể chi phí theo dõi.

Hiệu suất sẽ bị ảnh hưởng bởi các yếu tố cân nhắc giữa phía máy chủ và phía máy khách. Theo dõi phía máy chủ ghi dữ liệu trực tiếp vào ổ đĩa với chi phí tối thiểu. Theo dõi phía máy khách truyền sự kiện qua mạng đến giao diện Profiler, làm tăng độ trễ và tiêu thụ băng thông. Sử dụng theo dõi phía máy chủ để giám sát hoạt động sản xuất.

9.1.2 Tối ưu hóa lưu trữ theo dõi

Quản lý kích thước tệp giúp ngăn ngừa tình trạng cạn kiệt dung lượng ổ đĩa. Đặt giới hạn kích thước tệp tối đa phù hợp với dung lượng lưu trữ khả dụng. Cho phép chuyển tệp sang chế độ rollover để tạo nhiều tệp thay vì chỉ mở rộng một tệp vô thời hạn. Theo dõi dung lượng ổ đĩa trong quá trình thực thi theo dõi.

Lưu trữ bảng so với lưu trữ tệp đòi hỏi những đánh đổi về hiệu suất khác nhau. Lưu trữ tệp mang lại hiệu suất tốt hơn trong quá trình thực thi theo dõi vì nó bỏ qua công cụ lưu trữ. Lưu trữ bảng cho phép truy vấn T-SQL trên dữ liệu theo dõi nhưng lại phát sinh thêm chi phí ghi. Hãy chọn loại lưu trữ dựa trên yêu cầu phân tích của bạn.

9.2 Biện pháp bảo mật tốt nhất

Quản lý quyền kiểm soát những người có thể tạo và chạy theo dõi. Chỉ cấp quyền ALTER TRACE cho những người dùng đáng tin cậy cần khả năng theo dõi. Thành viên có vai trò quản trị hệ thống có quyền truy cập theo dõi không giới hạn. Thường xuyên xem xét và kiểm tra quyền theo dõi.

Bảo vệ dữ liệu nhạy cảm đòi hỏi cấu hình theo dõi cẩn thận. Tránh ghi lại toàn bộ văn bản truy vấn khi làm việc với dữ liệu nhạy cảm. Cân nhắc lọc hoặc mã hóa đầu ra theo dõi chứa thông tin mật. Lưu trữ tệp theo dõi ở những vị trí an toàn với các biện pháp kiểm soát truy cập phù hợp.

Bảo mật tệp theo dõi ngăn chặn truy cập trái phép vào dữ liệu đã thu thập. Thiết lập quyền truy cập tệp để hạn chế quyền truy cập vào tệp theo dõi. Mã hóa tệp theo dõi nếu chúng chứa thông tin nhạy cảm. Xóa tệp theo dõi sau khi phân tích hoàn tất để giảm thiểu rủi ro bị lộ.

9.3 Những cân nhắc về môi trường sản xuất

9.3.1 Khi nào nên sử dụng Profiler trong sản xuất

Đánh giá rủi ro xác định khi nào SQL Server Profiler phù hợp cho mục đích sử dụng sản xuất. Profiler tạo ra chi phí chung có thể đo lường được, tăng theo phạm vi theo dõi. Đánh giá xem chẩn đoán có hiệu quả hay không.ostGiá trị ic xác định tác động đến hiệu suất trước khi chạy thử nghiệm sản xuất.

Cấu hình tác động tối thiểu cho phép theo dõi sản xuất an toàn hơn. Sử dụng bộ lọc có tính chọn lọc cao để chỉ ghi lại các sự kiện quan trọng. Đặt ngưỡng Thời lượng để bỏ qua các truy vấn thực thi nhanh. Giới hạn thời lượng theo dõi trong các khoảng thời gian ngắn trong các phiên khắc phục sự cố. Cấu hình theo dõi phía máy chủ để giảm chi phí cho khách hàng.

9.3.2 Các giải pháp thay thế cho giám sát sản xuất

Extended Events cung cấp chi phí giám sát sản xuất thấp hơn. Công nghệ hiện đại này mang lại hiệu suất và tính linh hoạt tốt hơn so với SQL Server Profiler. Di chuyển các giải pháp giám sát sang Extended Events để sử dụng trong sản xuất lâu dài.

Query Store tự động thu thập dữ liệu hiệu suất truy vấn mà không cần cấu hình theo dõi thủ công. Bật Query Store trên cơ sở dữ liệu sản xuất để theo dõi số liệu thống kê thực thi truy vấn theo thời gian. Query Store cung cấp most khả năng giám sát hiệu suất mà không cần phải theo dõi quá nhiều.

Chế độ xem Quản lý Động cung cấp khả năng giám sát nhẹ nhàng cho các tình huống cụ thể. DMV cung cấp thông tin trạng thái hiện tại mà không cần ghi lại các sự kiện lịch sử. Truy vấn DMV định kỳ để theo dõi tình trạng máy chủ mà không cần phải theo dõi liên tục.

9.4 Thực hành tốt nhất về quản lý theo dõi

Quy ước đặt tên đảm bảo các tệp theo dõi có thể nhận dạng và sắp xếp. Tên tệp theo dõi bao gồm ngày, giờ, tên máy chủ và mục đích. Sử dụng các mẫu đặt tên nhất quán trên tất cả các tệp theo dõi để tạo điều kiện thuận lợi cho việc quản lý và phân tích.

Tài liệu ghi lại cấu hình và mục đích theo dõi. Ghi lại các sự kiện bạn đã ghi lại, lý do bạn tạo theo dõi và những gì bạn học được từ quá trình phân tích. Duy trì nhật ký theo dõi được chạy trên các hệ thống sản xuất cho mục đích tuân thủ và khắc phục sự cố.

Chính sách lưu trữ ngăn chặn việc tích lũy quá nhiều tệp theo dõi. Xác định thời gian lưu trữ tệp theo dõi dựa trên yêu cầu kinh doanh và dung lượng lưu trữ. Tự động xóa các tệp theo dõi cũ để giải phóng dung lượng đĩa. Lưu trữ các tệp theo dõi quan trọng vào bộ nhớ lưu trữ dài hạn trước khi xóa.

9.5 sai lầm phổ biến cần tránh

Việc theo dõi quá mức gây ra chi phí hiệu suất quá mức và tạo ra khối lượng dữ liệu không thể quản lý. Tránh ghi lại tất cả các sự kiện mà không có bộ lọc.tarvới các dấu vết hẹp, tập trung và chỉ mở rộng phạm vi khi cần thiết. Nhiều dữ liệu hơn không phải lúc nào cũng tốt hơn cho việc khắc phục sự cố hiệu quả.

Việc quên dừng theo dõi sẽ gây lãng phí tài nguyên và chiếm dung lượng đĩa. Luôn dừng theo dõi khi quá trình giám sát hoàn tất. Đặt giới hạn thời lượng theo dõi hoặc kích thước tệp tối đa để ngăn ngừa các dấu vết chạy tràn lan. Thường xuyên theo dõi các dấu vết đang chạy và dừng các dấu vết không hoạt động hoặc không cần thiết.

Việc bỏ qua việc tối ưu hóa bộ lọc sẽ dẫn đến hiệu suất kém và khó phân tích. Hãy đầu tư thời gian để cấu hình các bộ lọc hiệu quả trước khi thực hiện.tartheo dõi. Kiểm tra bộ lọc trong môi trường phát triển để xác minh chúng thu thập được dữ liệu mong đợi. Xem xét và tinh chỉnh bộ lọc dựa trên kết quả thu thập được.

10. Lựa chọn thay thế cho SQL Server Người lập hồ sơ năm 2025

10.1 Sự kiện mở rộng: Sự thay thế hiện đại

10.1.1 Sự kiện mở rộng là gì

Sự kiện mở rộng đại diện cho SQL Serverkiến trúc xử lý sự kiện hiện đại. Microsoft đã thiết kế hệ thống này đặc biệt để giải quyết SQL Server Những hạn chế của Profiler bao gồm chi phí hiệu năng và tính linh hoạt trong cấu hình. Extended Events cung cấp khả năng giám sát toàn diện với mức tiêu thụ tài nguyên thấp hơn đáng kể.

Kiến trúc và lợi ích phân biệt Extended Events với các công nghệ theo dõi cũ hơn. Công cụ sự kiện tích hợp sâu vào SQL ServerKiến trúc cốt lõi của, ghi lại các sự kiện với chi phí tối thiểu. Bộ đệm sự kiện không đồng bộ ngăn chặn việc giám sát chặn các hoạt động của cơ sở dữ liệu. Linh hoạt tarcác tùy chọn geting cho phép cấu hình đầu ra đa dạng.

Những lợi thế về hiệu suất khiến Extended Events trở nên lý tưởng cho việc giám sát sản xuất. Các tiêu chuẩn cho thấy Extended Events giảm 50-90% chi phí so với các giải pháp tương đương. SQL Server Theo dõi hồ sơ. Kiến trúc mở rộng tốt hơn với khối lượng sự kiện lớn và hỗ trợ nhiều phiên giám sát đồng thời hơn.

10.1.2 Di chuyển từ Profiler sang Extended Events

Bản đồ sự kiện dịch SQL Server Sự kiện Profiler tương đương với Sự kiện Mở rộng. Most Sự kiện Profiler có các sự kiện tương ứng với Sự kiện Mở rộng. Microsoft cung cấp tài liệu hướng dẫn ánh xạ các sự kiện chung giữa hai hệ thống.

Việc tạo phiên trong Extended Events đòi hỏi phải học cú pháp và khái niệm mới. Hãy định nghĩa phiên sự kiện bằng cách sử dụng câu lệnh T-SQL CREATE EVENT SESSION hoặc giao diện đồ họa Extended Events trong Management Studio. Phiên chỉ định sự kiện nào cần ghi lại, dữ liệu nào cần thu thập và nơi lưu trữ kết quả.

10.1.3 Công cụ và giao diện sự kiện mở rộng

Giao diện Sự kiện Mở rộng SSMS cung cấp khả năng quản lý phiên đồ họa. Truy cập Sự kiện Mở rộng thông qua thư mục Quản lý trong Object Explorer. Tạo, chỉnh sửa và giám sát các phiên sự kiện thông qua giao diện. Xem dữ liệu đã thu thập ở định dạng đồ họa, bao gồm lưới và biểu đồ.

Quản lý phiên T-SQL cho phép kiểm soát Sự kiện Mở rộng theo chương trình. Viết các câu lệnh CREATE EVENT SESSION để định nghĩa các phiên trong mã. Sử dụng ALTER EVENT SESSION để sửa đổi các phiên đang chạy. Xóa các phiên với DROP EVENT SESSION. Cách tiếp cận này tạo điều kiện thuận lợi cho các giải pháp giám sát tự động.

10.2 SQL Server Cửa hàng truy vấn

Query Store tự động thu thập dữ liệu hiệu suất truy vấn cho các cơ sở dữ liệu được bật. Tính năng này theo dõi kế hoạch truy vấn, thống kê thực thi và số liệu hiệu suất theo thời gian mà không cần cấu hình theo dõi thủ công. Query Store lưu trữ dữ liệu lịch sử, cho phép phân tích xu hướng và phát hiện hồi quy.

Giám sát hiệu suất truy vấn theo thời gian thực thông qua Query Store cho thấy hành vi hệ thống hiện tại. Xem các truy vấn đã thực hiện gần đây, kế hoạch thực thi và mức tiêu thụ tài nguyên. Xác định các truy vấn có thời lượng tăng dần hoặc kế hoạch thực thi thay đổi có thể chỉ ra sự cố.

Phân tích truy vấn lịch sử cho phép so sánh giữa các khoảng thời gian. Kho lưu trữ truy vấn lưu giữ dữ liệu hiệu suất trong các khoảng thời gian có thể cấu hình. So sánh hiệu suất hiện tại với các đường cơ sở lịch sử để xác định các hồi quy. Phân tích xu hướng hiệu suất để dự đoán nhu cầu năng lực trong tương lai.

Sử dụng Query Store khi bạn cần giám sát hiệu suất tự động, liên tục. Bật Query Store trên cơ sở dữ liệu sản xuất để liên tục theo dõi hành vi truy vấn. Query Store bổ sung cho việc khắc phục sự cố dựa trên theo dõi bằng cách cung cấp bối cảnh lịch sử cho các vấn đề về hiệu suất.

10.3 Chế độ xem quản lý động (DMV)

Giám sát nhẹ thông qua DMV cung cấp thông tin trạng thái hiện tại mà không ghi lại các sự kiện lịch sử. DMV tiết lộ thông tin nội bộ SQL Server thống kê và siêu dữ liệu thông qua chế độ xem có thể truy vấn. Truy vấn DMV bằng các câu lệnh SELECT T-SQL chuẩn.

Các truy vấn DMV phổ biến để theo dõi hiệu suất bao gồm sys.dm_exec_query_stats để thống kê hiệu suất truy vấn, sys.dm_exec_requests để thống kê các yêu cầu đang thực thi và sys.dm_os_wait_stats để thống kê số liệu chờ. Các chế độ xem này cung cấp thông tin chi tiết tại một thời điểm về tình trạng và hoạt động của máy chủ.

DMV bổ sung cho việc giám sát dựa trên dấu vết bằng cách cung cấp số liệu theo thời gian thực. Sử dụng DMV để kiểm tra tình trạng nhanh chóng và phân tích trạng thái hiện tại. Kết hợp các truy vấn DMV với dữ liệu dấu vết để có các phương pháp khắc phục sự cố toàn diện.

10.4 Công cụ giám sát của bên thứ ba

Các giải pháp thay thế thương mại cung cấp khả năng giám sát nâng cao vượt trội SQL ServerCác công cụ tích hợp sẵn. Các sản phẩm từ các nhà cung cấp như SolarWinds, Redgate và Quest cung cấp các tính năng giám sát, cảnh báo và phân tích toàn diện. Các công cụ này thường kết hợp nhiều nguồn dữ liệu, bao gồm dữ liệu theo dõi, DMV và bộ đếm hiệu suất.

So sánh tính năng cho thấy điểm mạnh của các phương pháp giám sát khác nhau. Các công cụ của bên thứ ba cung cấp giao diện người dùng vượt trội, cảnh báo tự động và xu hướng lịch sử. SQL ServerCác công cụ tích hợp của 'không cung cấp thêm cost và tích hợp sâu hơn. Đánh giá các công cụ dựa trên yêu cầu cụ thể và ngân sách của bạn.

10.5 Chọn công cụ phù hợp với nhu cầu của bạn

Ma trận quyết định giúp lựa chọn các công cụ giám sát phù hợp. Để khắc phục sự cố tạm thời, SQL Server Profiler vẫn dễ truy cập và hiệu quả. Đối với việc giám sát sản xuất, Extended Events hoặc Query Store mang lại hiệu suất tốt hơn. Đối với việc giám sát toàn diện cho doanh nghiệp, các giải pháp của bên thứ ba cung cấp most tính năng.

Tiêu chí lựa chọn công cụ bao gồm chi phí hiệu suất, tính dễ sử dụng, yêu cầu lưu trữ dữ liệu và hạn chế ngân sách. Hãy cân nhắc chuyên môn của nhóm bạn khi lựa chọn công cụ. Các công cụ quen thuộc cho phép khắc phục sự cố nhanh hơn, ngay cả khi các giải pháp thay thế mới hơn cung cấp nhiều tính năng tốt hơn.

Kết hợp nhiều công cụ để tạo ra các chiến lược giám sát toàn diện. Sử dụng Query Store để theo dõi hiệu suất liên tục, Extended Events để điều tra các vấn đề cụ thể và DMV để kiểm tra tình trạng thiết bị theo thời gian thực. Phương pháp tiếp cận phân lớp này cung cấp khả năng giám sát mạnh mẽ mà không tốn quá nhiều chi phí.

KHAI THÁC. Xử lý sự cố SQL Server Các vấn đề về hồ sơ

11.1 Các vấn đề kết nối phổ biến

Thất bại xác thực ngăn chặn SQL Server Profiler từ kết nối đến tarnhận máy chủ. Xác minh bạn đang sử dụng thông tin đăng nhập chính xác cho phương thức xác thực đã chọn. Xác thực Windows yêu cầu tài khoản Windows của bạn có SQL Server quyền. SQL Server Xác thực yêu cầu thông tin đăng nhập SQL hợp lệ.

Các vấn đề về kết nối mạng biểu hiện dưới dạng lỗi hết thời gian chờ hoặc lỗi kết nối. Xác minh SQL Server cho phép kết nối từ xa trong cấu hình của nó. Kiểm tra cài đặt tường lửa cho phép lưu lượng truy cập trên SQL ServerCổng 's. Kiểm tra kết nối cơ bản bằng ping và telnet trước khi khắc phục sự cố cụ thể của Profiler.

11.2 Các vấn đề về hiệu suất với Profiler

Việc thực thi theo dõi chậm cho thấy chi phí quá cao từ cấu hình theo dõi. Hãy xem lại các sự kiện đã chọn và loại bỏ các sự kiện không cần thiết. Thêm bộ lọc để giảm khối lượng sự kiện đã ghi lại. Cân nhắc sử dụng theo dõi phía máy chủ để giảm tải xử lý phía máy khách.

Tiêu thụ tài nguyên cao ảnh hưởng đến cả hai SQL Server và máy khách Profiler. Giám sát CPU và bộ nhớ máy chủ trong quá trình thực thi theo dõi. Nếu tài nguyên máy chủ bị hạn chế, hãy tăng độ chọn lọc của bộ lọc hoặc giảm thời gian chụp. Các vấn đề về tài nguyên máy khách yêu cầu đóng các ứng dụng khác hoặc nâng cấp phần cứng máy khách.

11.3 Các vấn đề về tệp theo dõi và bảng

Các tập tin theo dõi bị hỏng ngăn cản việc mở trong SQL Server Profiler. Lỗi thường xảy ra do việc chấm dứt theo dõi không đúng cách hoặc lỗi ổ đĩa. Hãy thử mở tệp trong trình soạn thảo văn bản để xác minh rằng tệp không bị hỏng hoàn toàn. Đôi khi, dữ liệu một phần có thể được khôi phục bằng cách nhập vào bảng bằng fn_trace_gettable.

Các vấn đề truy cập bảng xảy ra khi cố gắng tải các dấu vết từ SQL Server bảng. Xác minh bạn có quyền SELECT trên bảng theo dõi. Kiểm tra xem bảng chưa bị xóa hoặc đổi tên. Đảm bảo bạn đang kết nối đến đúng máy chủ và cơ sở dữ liệu chứa bảng theo dõi.

11.4 Sự kiện bị thiếu hoặc dữ liệu không đầy đủ

Cấu hình bộ lọc sai khiến dấu vết bỏ lỡ các sự kiện dự kiến. Hãy xem xét kỹ tiêu chí bộ lọc để đảm bảo chúng không loại trừ các sự kiện mong muốn. Kiểm tra bộ lọc bằng cách chạy dấu vết ngắn và xác minh dữ liệu đã thu thập khớp với dự kiến. Xóa bộ lọc theo nhịp độrarđể xác định xem chúng có phải là nguyên nhân gây ra vấn đề hay không.

Tràn bộ đệm xảy ra khi SQL Server Không thể ghi dữ liệu theo dõi đủ nhanh để theo kịp việc tạo sự kiện. Điều này thường xảy ra với các dấu vết chưa được lọc trong thời gian hoạt động cao. Các triệu chứng bao gồm sự kiện bị thiếu hoặc cảnh báo "Sự kiện không được ghi lại". Giải quyết bằng cách thêm bộ lọc để giảm khối lượng sự kiện hoặc tăng hiệu suất I/O ổ đĩa vị trí tệp theo dõi.

11.5 Sự cố và lỗi của Profiler

Các thông báo lỗi phổ biến bao gồm "Không thể tạo dấu vết" cho biết sự cố về quyền hoặc hạn chế tài nguyên. Thông báo "Dấu vết đã dừng" cho thấy lỗi theo dõi phía máy chủ có thể do ổ đĩa đầy. Lỗi "Định nghĩa dấu vết không hợp lệ" cho biết sự cố cấu hình.

Chiến lược giải quyết phụ thuộc vào lỗi cụ thể. Lỗi quyền yêu cầu cấp quyền ALTER TRACE cho người dùng. Lỗi tài nguyên cần giải phóng dung lượng đĩa hoặc bộ nhớ. Lỗi cấu hình yêu cầu xem xét và sửa lỗi cài đặt theo dõi.tart SQL Server Profiler sẽ không phản hồi nếu nó không phản hồi.

12. Thực tế SQL Server Các kịch bản và ví dụ về Profiler

12.1 Tình huống 1: Xác định các truy vấn chậm nhất trong cơ sở dữ liệu của bạn

Hướng dẫn này trình bày cách thu thập và phân tích các truy vấn chậm.

Cấu hình theo dõi theo các bước sau:

  1. Khởi động SQL Server Profiler và kết nối với bạn tarlấy máy chủ.
  2. Nhấp chuột Tập tin -> Dấu vết mới.
  3. Nhập “Phân tích truy vấn chậm” vào Tên dấu vết trường.
  4. Chọn TSQL từ Sử dụng mẫu thả xuống.
  5. Nhấp chuột Lựa chọn sự kiện tab.
  6. Nhấp chuột Bộ lọc cột.
  7. Chọn Độ dài khóa học và nhập 1000000 vào Lớn hơn hoặc bằng.
  8. Chọn Tên cơ sở dữ liệu và nhập tên cơ sở dữ liệu của bạn vào Như.
  9. Nhấp chuột OK để đóng bộ lọc.
  10. Kích hoạt tính năng Lưu vào tệp và chỉ định đường dẫn tệp.
  11. Nhấp chuột chạy sau đó ptart chụp.

Chạy theo dõi trong giờ cao điểm ít nhất 30 phút để nắm bắt khối lượng công việc đại diện. Dừng theo dõi sau khi thu thập đủ dữ liệu.

Phân tích kết quả theo quy trình này:

  1. Nhấn vào Độ dài khóa học tiêu đề cột để sắp xếp theo thời gian thực hiện.
  2. Xác định 10 truy vấn chạy lâu nhất.
  3. Đối với mỗi truy vấn, hãy kiểm tra Dữ liệu văn bản cột.
  4. Sao chép văn bản truy vấn và dán vào Management Studio.
  5. Sử dụng Hiển thị kế hoạch thực hiện ước tính để phân tích truy vấn.
  6. Tìm kiếm các bản quét bảng, chỉ mục bị thiếu hoặc liên kết không hiệu quả.
  7. Phê duyệt CPU, ĐọcViết các cột cho mô hình tiêu thụ tài nguyên.

12.2 Tình huống 2: Gỡ lỗi sự cố bế tắc

Ví dụ này cho thấy cách nắm bắt và phân tích tình trạng bế tắc.

Cấu hình giám sát tình trạng bế tắc bằng các bước sau:

  1. Tạo một dấu vết mới có tên là “Điều tra bế tắc”.
  2. Nhấp chuột Lựa chọn sự kiện tab.
  3. Nhấp chuột Hiển thị tất cả các sự kiện.
  4. Mở rộng Khóa thể loại.
  5. Chọn Khóa: Bế tắc.
  6. Chọn Khóa: Chuỗi bế tắc.
  7. Mở rộng Lỗi và cảnh báo thể loại.
  8. Chọn Báo cáo quy trình bị chặn.
  9. Đảm bảo Dữ liệu văn bản cột được chọn.
  10. Nhấp chuột chạy sau đó ptart giám sát.

Khi xảy ra tình trạng bế tắc trong quá trình thực hiện theo dõi, sự kiện Lock:Deadlock sẽ xuất hiện trong lưới theo dõi.

Giải thích thông tin bế tắc theo các bước sau:

  1. Nhấn vào Khóa: Bế tắc hàng sự kiện.
  2. Xem Dữ liệu văn bản cột ở bảng dưới cùng.
  3. Sao chép nội dung XML từ TextData.
  4. Mở Management Studio và tạo một cửa sổ truy vấn mới.
  5. Dán XML vào cửa sổ truy vấn.
  6. Lưu tệp có phần mở rộng .xdl.
  7. Mở tệp .xdl trong Management Studio để xem biểu đồ bế tắc.
  8. Biểu đồ hiển thị các tiến trình liên quan, tài nguyên bị khóa và nạn nhân được chọn.
  9. Xem lại các truy vấn từ cả hai quy trình để hiểu rõ xung đột.

Các bước giải quyết thường bao gồm việc sắp xếp lại các hoạt động trong mã ứng dụng để truy cập tài nguyên theo thứ tự nhất quán, giảm phạm vi giao dịch hoặc triển khai các gợi ý khóa phù hợp.

12.3 Kịch bản 3: Theo dõi tất cả các truy vấn từ một ứng dụng cụ thể

Kịch bản này minh họa việc giám sát truy vấn cụ thể của ứng dụng.

Cấu hình theo dõi ứng dụng cụ thể bằng các bước sau:

  1. Tạo một dấu vết mới có tên là “Theo dõi truy vấn ứng dụng”.
  2. Chọn hình ba gạch Tiêu chuẩn bản mẫu.
  3. Nhấp chuột Lựa chọn sự kiện tab.
  4. Nhấp chuột Bộ lọc cột.
  5. Chọn Tên ứng dụng.
  6. Nhập tên ứng dụng của bạn vào Như trường.
  7. Nếu ứng dụng của bạn sử dụng kết nối nhóm, bạn có thể cần phải khớp ký tự đại diện.
  8. Nhấp chuột OK để áp dụng bộ lọc.
  9. Kích hoạt tính năng Lưu vào bảng để truy vấn dễ dàng hơn.
  10. Nhấp chuột chạy sau đó ptart chụp.

Phân tích mẫu truy vấn cho thấy ứng dụng của bạn tương tác với SQL Server:

  1. Sau khi thu thập dữ liệu, hãy dừng theo dõi.
  2. Mở Management Studio và kết nối với máy chủ có bảng theo dõi.
  3. Truy vấn bảng theo dõi để phân tích các mẫu.
  4. Đếm các truy vấn theo loại để xem sự kết hợp hoạt động.
  5. Xác định most các truy vấn được thực hiện thường xuyên.
  6. Tìm kiếm các truy vấn có thể được lưu vào bộ nhớ đệm hoặc tối ưu hóa.
  7. Kiểm tra các truy vấn giống hệt nhau lặp lại cho thấy thiếu kết nối nhóm.

12.4 Tình huống 4: Kiểm toán quyền truy cập dữ liệu để tuân thủ

Ví dụ này cho thấy việc tạo dấu vết kiểm tra bảo mật.

Cấu hình kiểm tra bảo mật theo các bước sau:

  1. Tạo một dấu vết mới có tên là “Dấu vết kiểm tra bảo mật”.
  2. Nhấp chuột Lựa chọn sự kiện tab.
  3. Nhấp chuột Hiển thị tất cả các sự kiện.
  4. Mở rộng Kiểm toán an ninh thể loại.
  5. Chọn Đăng nhập kiểm toán, Đăng xuất kiểm toán, Đăng nhập kiểm tra không thành công.
  6. Chọn Kiểm tra quyền truy cập đối tượng cơ sở dữ liệu.
  7. Mở rộng TSQL thể loại.
  8. Chọn SQL:BatchCompleted.
  9. Nhấp chuột Bộ lọc cột.
  10. Lọc bởi Tên của môn học để theo dõi các bảng nhạy cảm cụ thể.
  11. Kích hoạt tính năng Lưu vào bảng để lưu giữ lâu dài.
  12. Cho phép theo dõi phía máy chủ để thực hiện hoạt động không cần giám sát.
  13. Nhấp chuột chạy sau đó ptarkiểm toán t.

Tạo báo cáo kiểm toán bằng cách truy vấn bảng theo dõi:

  1. Tạo truy vấn tóm tắt quyền truy cập theo người dùng và khoảng thời gian.
  2. Xác định các kiểu truy cập bất thường hoặc hoạt động sau giờ làm việc.
  3. Ghi lại các lần đăng nhập không thành công để đánh giá bảo mật.
  4. Xuất dữ liệu kiểm toán sang hệ thống báo cáo để lập hồ sơ tuân thủ.
  5. Lưu trữ các dấu vết kiểm toán đã hoàn thành theo chính sách lưu giữ.

12.5 Kịch bản 5: Ghi lại khối lượng công việc để kiểm tra hiệu suất

Kịch bản này minh họa việc nắm bắt khối lượng công việc cho mục đích thử nghiệm.

Tạo các dấu vết có thể phát lại bằng các bước sau:

  1. Tạo một dấu vết mới có tên là “Workload Capture”.
  2. Chọn Phát lại TSQL từ danh sách thả xuống mẫu.
  3. Mẫu này bao gồm tất cả các sự kiện và cột cần thiết để phát lại.
  4. Nhấp chuột Lựa chọn sự kiện tab.
  5. Áp dụng bộ lọc nếu bạn muốn nắm bắt các phân đoạn khối lượng công việc cụ thể.
  6. Kích hoạt tính năng Lưu vào tệp.
  7. Chỉ định đường dẫn tệp có đủ dung lượng đĩa.
  8. Đặt giới hạn kích thước tệp phù hợp và bật tính năng chuyển tiếp.
  9. Nhấp chuột chạy sau đó ptart chụp.

Ghi lại trong quá trình vận hành kinh doanh điển hình. Để ghi lại khối lượng công việc toàn diện, hãy chạy theo dõi trong vài giờ, bao gồm các mô hình hoạt động khác nhau. Dừng theo dõi sau khi thu thập đủ dữ liệu.

Phân tích khối lượng công việc cho thấy các mô hình hành vi của hệ thống:

  1. Mở tệp theo dõi đã chụp trong SQL Server Hồ sơ.
  2. Xem lại sự phân bổ sự kiện theo loại và thời gian.
  3. Tính toán số liệu tiêu thụ tài nguyên tổng hợp.
  4. Xác định thời kỳ hoạt động cao điểm và tình trạng thiếu hụt tài nguyên.
  5. Sử dụng dấu vết để phân tích Database Engine Tuning Advisor.
  6. Phát lại dấu vết trên hệ thống thử nghiệm để xác thực những thay đổi.

13. Phát hiện lỗi cơ sở dữ liệu với SQL Server Profiler

13.1 Sử dụng SQL Server Hồ sơ cảnh báo sớm về tham nhũng

Hư hỏng cơ sở dữ liệu đại diện cho một trong những most các mối đe dọa nghiêm trọng đến tính toàn vẹn của dữ liệu và độ tin cậy của hệ thống. Trong khi SQL Server Profiler không phải là công cụ phát hiện tham nhũng chuyên dụng, nó có thể nắm bắt các dấu hiệu cảnh báo quan trọng cho thấy các vấn đề tham nhũng tiềm ẩn cần phải điều tra ngay lập tức.

13.2 Sự kiện lỗi nghiêm trọng chỉ ra khả năng hỏng hóc

  • Mức độ nghiêm trọng 24 Lỗi (823, 824, 825): Lỗi phần cứng và phương tiện.
  • Lỗi 605: Không truy xuất được trang
  • Lỗi 8928 và 8929: Hỏng đối tượng

13.3 Hành vi cơ sở dữ liệu đáng ngờ và các mẫu cảnh báo

  • Thời gian chờ truy vấn lặp lại trên các đối tượng cụ thể
  • Vi phạm quyền truy cập và sự cố ứng dụng
  • Phân cụm lỗi bất thường

13.4 Chạy DBCC CHECKDB dựa trên kết quả của Profiler

If SQL Server Profiler phát hiện lỗi đáng ngờ, bạn có thể sử dụng DBCC CHECKDB để kiểm tra toàn bộ cơ sở dữ liệu. Sau đó, thực hiện sửa chữa nếu lỗi được xác nhận. Chúng tôi đã viết hướng dẫn toàn diện về cách thực hiện các nhiệm vụ này.

Nếu DBCC CHECKDB không sửa được cơ sở dữ liệu, lỗi sẽ rất nghiêm trọng. Trong trường hợp này, bạn có thể dùng đến một công cụ phục hồi SQL của bên thứ ba.

14. Câu hỏi thường gặp

Q: là SQL Server Profiler vẫn được hỗ trợ trong SQL Server 2022?

A: Vâng SQL Server Profiler vẫn được bao gồm trong SQL Server 2022 và SQL Server Management Studio, mặc dù đã bị loại bỏ kể từ SQL Server 2016. Microsoft tiếp tục cung cấp công cụ này với các phiên bản hiện tại, nhưng khuyến nghị chuyển sang Extended Events cho các triển khai giám sát mới. Công cụ này vẫn hoạt động và được sử dụng rộng rãi để khắc phục sự cố và phân tích ad-hoc.

Hỏi: sự khác biệt giữa SQL Server Profiler và SQL Trace?

A: SQL Server Profiler là công cụ giao diện người dùng đồ họa kết nối với công cụ SQL Trace đang chạy bên trong SQL ServerSQL Trace là công nghệ nền tảng thực sự ghi lại các sự kiện. Bạn có thể tạo dấu vết bằng giao diện của Profiler hoặc trực tiếp thông qua các thủ tục lưu trữ T-SQL như sp_trace_create. Profiler cung cấp cấu hình dễ dàng hơn trong khi dấu vết T-SQL cung cấp nhiều khả năng tự động hóa hơn.

Q: Chi phí hiệu suất là bao nhiêu? SQL Server Thêm hồ sơ?

A: Tác động đến hiệu suất khác nhau tùy thuộc vào cấu hình theo dõi. Một theo dõi được lọc tốt, chỉ ghi lại các sự kiện cụ thể, có thể tăng thêm 1-5% chi phí. Các theo dõi được cấu hình kém, không có bộ lọc, có thể tăng thêm 20-50% hoặc hơn, đặc biệt là trên các hệ thống bận rộn. Theo dõi phía máy chủ có tác động thấp hơn theo dõi phía máy khách. Luôn sử dụng bộ lọc để giảm thiểu khối lượng sự kiện và thử nghiệm theo dõi trong môi trường phi sản xuất trước.

Q: Tôi có thể chạy không? SQL Server Profiler trên máy chủ sản xuất?

A: Bạn có thể chạy SQL Server Profiler trên máy chủ sản xuất, nhưng hãy thận trọng. Sử dụng bộ lọc có tính chọn lọc cao, giới hạn thời gian theo dõi và ưu tiên theo dõi phía máy chủ để giảm thiểu tác động. Chạy theo dõi sản xuất trong giai đoạn hoạt động thấp nếu có thể. Để giám sát sản xuất liên tục, hãy cân nhắc sử dụng Extended Events hoặc Query Store, vì chúng cung cấp chi phí thấp hơn.

Q: Tôi cần sử dụng những quyền gì? SQL Server Người lập hồ sơ?

A: Bạn cần có quyền ALTER TRACE để tạo và chạy trace. Thành viên của vai trò máy chủ cố định sysadmin sẽ tự động có quyền này. Đối với người dùng không phải sysadmin, hãy cấp rõ ràng quyền ALTER TRACE. Ngoài ra, bạn cần có các quyền phù hợp để lưu dữ liệu trace vào tệp hoặc bảng dựa trên cấu hình của bạn.

H: Tại sao tôi không thể xem tất cả sự kiện trong dấu vết của mình?

A: Sự kiện bị thiếu thường là do bộ lọc quá hạn chế hoặc tràn bộ đệm. Hãy xem lại cấu hình bộ lọc của bạn để đảm bảo nó không loại trừ các sự kiện mong muốn. Tràn bộ đệm xảy ra khi SQL Server Không thể ghi sự kiện đủ nhanh, thường là do các dấu vết chưa được lọc trên các hệ thống bận rộn. Thêm bộ lọc để giảm khối lượng sự kiện hoặc tăng hiệu suất I/O của đĩa. Kiểm tra thông báo lỗi cho biết sự kiện chưa được ghi lại.

Q: Làm thế nào để tôi nắm bắt thông tin bế tắc với SQL Server Người lập hồ sơ?

A: Tạo một dấu vết bao gồm các sự kiện Lock:Deadlock và Lock:Deadlock Chain từ danh mục Locks. Đảm bảo cột TextData được chọn, vì nó chứa XML biểu đồ deadlock. Khi deadlock xảy ra, hãy sao chép XML từ cột TextData, lưu với phần mở rộng .xdl và mở trong SQL Server Management Studio để xem sơ đồ bế tắc đồ họa.

H: Sự khác biệt giữa việc lưu dấu vết vào tệp so với lưu vào bảng là gì?

A: Các tập tin cung cấp hiệu suất tốt hơn trong quá trình thực hiện theo dõi vì chúng bỏ qua SQL Server Công cụ lưu trữ. Dữ liệu theo dõi tệp ghi dữ liệu trực tiếp vào đĩa với chi phí tối thiểu. Dữ liệu theo dõi bảng ghi thông qua công cụ lưu trữ, tăng chi phí nhưng cho phép truy vấn T-SQL ngay lập tức đối với dữ liệu theo dõi. Sử dụng tệp cho các tình huống yêu cầu hiệu suất cao và bảng khi bạn cần truy vấn dữ liệu ngay lập tức trong hoặc sau khi thu thập.

Q: Tôi có thể tự động hóa SQL Server Thu thập dấu vết của trình phân tích?

A: Có, tự động thu thập dấu vết bằng cách sử dụng các dấu vết phía máy chủ được tạo bằng các thủ tục lưu trữ T-SQL. Viết các tập lệnh bằng sp_trace_create và các thủ tục liên quan, sau đó lên lịch cho chúng thông qua SQL Server Công việc của tác nhân. Phương pháp này cho phép thu thập dấu vết không cần giám sát theo lịch trình cụ thể. Các tập lệnh PowerShell cung cấp một tùy chọn tự động hóa khác cho các tình huống phức tạp hơn.

H: Tôi nên chạy theo dõi trong bao lâu?

A: Thời gian theo dõi phụ thuộc vào mục tiêu của bạn. Để khắc phục sự cố cụ thể, hãy chạy theo dõi trong khi tái tạo sự cố, thường là 5-30 phút. Để phân tích hiệu suất, hãy ghi lại ít nhất một giờ trong các giai đoạn hoạt động cao điểm. Để phân tích khối lượng công việc hoặc lập kế hoạch năng lực, hãy thu thập nhiều giờ trong các khoảng thời gian khác nhau. Luôn dừng theo dõi khi quá trình giám sát hoàn tất để giải phóng tài nguyên.

H: Tôi phải làm gì nếu tệp theo dõi của tôi quá lớn?

A: Bật tính năng cuộn tệp trong thuộc tính theo dõi để tạo nhiều tệp nhỏ hơn thay vì một tệp lớn. Đặt kích thước tệp tối đa phù hợp với dung lượng đĩa và nhu cầu phân tích của bạn. Sử dụng bộ lọc để giảm dung lượng sự kiện đã ghi. Đối với các dấu vết lớn, hãy cân nhắc phân tích dữ liệu theo từng phân đoạn thay vì tải toàn bộ dấu vết cùng một lúc. Lưu trữ hoặc xóa các tệp theo dõi cũ thường xuyên để quản lý dung lượng đĩa.

H: Làm thế nào để tìm ra những truy vấn gây ra tình trạng sử dụng CPU cao?

A: Tạo một dấu vết với các sự kiện SQL:BatchCompleted và RPC:Completed. Bao gồm các cột CPU, Duration và TextData. Lọc theo Duration để chỉ ghi lại các truy vấn vượt quá ngưỡng như 1000 mili giây. Sau khi thu thập dữ liệu, hãy sắp xếp theo cột CPU theo thứ tự giảm dần. Các truy vấn ở trên cùng sẽ sử dụng most thời gian xử lý. Kiểm tra các truy vấn này để tìm các cơ hội tối ưu hóa như thiếu chỉ mục hoặc logic không hiệu quả.

Q: Có thể SQL Server Kế hoạch thực hiện truy vấn thu thập thông tin của trình phân tích?

A: SQL Server Profiler có thể ghi lại thông tin kế hoạch thực thi thông qua các sự kiện Showplan XML trong danh mục Hiệu suất. Chọn sự kiện Showplan XML hoặc Showplan XML Statistics Profile để ghi lại toàn bộ kế hoạch thực thi. Cột TextData chứa dữ liệu kế hoạch XML. Tuy nhiên, đối với phân tích kế hoạch thực thi thông thường, SQL Server Các tính năng lập kế hoạch thực thi đồ họa hoặc Query Store của Management Studio cung cấp các giải pháp thay thế dễ dàng hơn.

Q: Mẫu nào là tốt nhất để start với mục đích giám sát chung?

A: Mẫu chuẩn cung cấp một s tốttarĐiểm mấu chốt cho việc giám sát chung. Nó bao gồm các sự kiện thực thi truy vấn phổ biến, lệnh gọi thủ tục được lưu trữ và theo dõi lỗi với chi phí cân bằng. Để giám sát tác động thấp hơn, tập trung vào hiệu suất truy vấn, hãy sử dụng mẫu TSQL. Tùy chỉnh mẫu dựa trên nhu cầu cụ thể của bạn bằng cách thêm bộ lọc và điều chỉnh lựa chọn sự kiện sau khi đã hiểu những điều cơ bản.

H: Làm thế nào để tôi chỉ theo dõi một ứng dụng hoặc người dùng cụ thể?

A: Sử dụng bộ lọc cột để phân tách các ứng dụng hoặc người dùng cụ thể. Đối với ứng dụng, hãy lọc theo cột ApplicationName bằng tên được chỉ định trong chuỗi kết nối của bạn. Đối với người dùng, hãy lọc theo cột LoginName bằng SQL Server đăng nhập hoặc tên tài khoản Windows. Kết hợp nhiều bộ lọc để thu hẹp phạm vi hơn nữa, chẳng hạn như lọc theo cả ApplicationName và DatabaseName để theo dõi hoạt động của một ứng dụng trong một cơ sở dữ liệu cụ thể.

15. Kết luận và các bước tiếp theo

15.1 điểm chính

SQL Server Profiler vẫn là một công cụ hữu ích để xử lý sự cố cơ sở dữ liệu ad-hoc mặc dù đã bị loại bỏ. Giao diện đơn giản và khả năng ghi lại sự kiện toàn diện giúp nó trở nên lý tưởng cho việc chẩn đoán nhanh chóng.ostPhiên ic khi bạn cần kết quả ngay lập tức. Sử dụng Profiler để khắc phục sự cố cụ thể, phân tích hành vi ứng dụng và kiểm tra bảo mật.

Các biện pháp tốt nhất bao gồm sử dụng bộ lọc một cách tích cực để giảm thiểu tác động đến hiệu suất, ưu tiên theo dõi phía máy chủ cho môi trường sản xuất và giới hạn thời gian theo dõi ở mức cần thiết. Chỉ chọn các sự kiện và cột thiết yếu để giảm thiểu chi phí. Lưu theo dõi vào tệp thay vì bảng để cải thiện hiệu suất trong quá trình ghi lại.

15.2 Tiến về phía trước: Áp dụng các công cụ hiện đại

Chuyển từ SQL Server Profiler đến Extended Events cho các giải pháp giám sát dài hạn. Trong khi Profiler vẫn hoạt động, việc đầu tư thời gian tìm hiểu Extended Events sẽ giúp bạn định vị bản thân trong tương lai. SQL Server phiên bản. Starvới các phiên Sự kiện mở rộng đơn giản sao chép các dấu vết Profiler chung của bạn.

Bật Query Store trên cơ sở dữ liệu sản xuất để tự động giám sát hiệu suất mà không cần cấu hình theo dõi thủ công. Query Store liên tục ghi lại các kế hoạch truy vấn và thống kê thực thi, cung cấp dữ liệu cơ sở cho việc phân tích hiệu suất. Kết hợp Query Store với tarCác phiên Sự kiện mở rộng được tổ chức để theo dõi toàn diện.

15.3 Tài nguyên Bổ sung

Các nguồn tài nguyên sau đây sẽ giúp bạn đào sâu SQL Server Kiến thức về hồ sơ và cập nhật các phương pháp giám sát tốt nhất:

Tài liệu chính thức của Microsoft

Tài nguyên Cộng đồng

  • SQL Server Trung tâm – Bài viết, diễn đàn và tập lệnh dành cho các chuyên gia cơ sở dữ liệu
  • Stack Overflow SQL Server Thẻ – Hỏi & Đáp của cộng đồng về các câu hỏi khắc phục sự cố cụ thể
  • Reddit r/SQLServer – Diễn đàn thảo luận cho SQL Server chủ đề và lời khuyên
  • Diễn đàn SQLServerCentral.com – Các cuộc thảo luận cộng đồng tích cực về lập hồ sơ và hiệu suất
  • MSDN SQL Server Diễn đàn – Microsoft-hostdiễn đàn hỗ trợ cộng đồng ed

Blog và bài viết kỹ thuật

  • SQL Server Performance Monitor – Nội dung giám sát và tối ưu hóa hiệu suất chuyên dụng
  • Blog Brent Ozar Unlimited – Các phương pháp hay nhất để điều chỉnh và giám sát hiệu suất
  • SQLSkills.com – Cấp độ chuyên gia SQL Server nội dung từ các nhà lãnh đạo ngành
  • microsoft SQL Server Blog – Cập nhật sản phẩm chính thức và thông báo về tính năng
  • Simple Talk – Thực tế SQL Server hướng dẫn và nghiên cứu tình huống

đào tạo và chứng nhận

  • Học Microsoft – Các mô-đun đào tạo trực tuyến miễn phí cho SQL Server
  • Chứng nhận Microsoft: Cộng tác viên quản trị cơ sở dữ liệu Azure – Con đường chứng nhận chính thức
  • Tính đa dạng SQL Server Khóa học – Đào tạo video về lập hồ sơ và điều chỉnh hiệu suất
  • LinkedIn Học SQL Server Đào tạo – Các khóa học phát triển chuyên môn
  • Udemy SQL Server Khóa học biểu diễn – Các lựa chọn đào tạo thực hành thực tế

Sách

  • SQL Server Điều chỉnh hiệu suất truy vấn – Hướng dẫn tối ưu hóa hiệu suất toàn diện
  • pro SQL Server Nội dung bên trong – Khám phá sâu hơn SQL Server kiến trúc
  • SQL Server Kế hoạch thực hiện – Hiểu về tối ưu hóa truy vấn
  • Chỉ số hiệu suất chuyên gia cho SQL Server – Thiết kế và tối ưu hóa chỉ mục
  • SQL Server Khắc phục sự cố nâng cao và điều chỉnh hiệu suất – Chẩn đoán nâng caoostkỹ thuật ic

Công cụ và tiện ích

  • SQL Server Studio quản lý – Giao diện chính cho SQL Server Profiler
  • Azure DataStudio – Công cụ cơ sở dữ liệu đa nền tảng hiện đại
  • sp_WhoIsActive – Quy trình lưu trữ giám sát do cộng đồng tạo ra phổ biến
  • SQL Sentry Plan Explorer – Công cụ phân tích kế hoạch thực thi miễn phí
  • DBForge Studio – Bên thứ ba SQL Server công cụ phát triển và quản trị

Lưu ý

Nguyên Sinh là quản trị viên cơ sở dữ liệu cao cấp (DBA) với hơn 10 năm kinh nghiệm trong SQL Server môi trường và quản lý cơ sở dữ liệu doanh nghiệp. Ông đã giải quyết thành công hàng trăm tình huống khôi phục cơ sở dữ liệu trên khắp các tổ chức dịch vụ tài chính, chăm sóc sức khỏe và sản xuất.

Yuan chuyên về SQL Server khôi phục cơ sở dữ liệu, giải pháp khả dụng caovà tối ưu hóa hiệu năng. Kinh nghiệm thực tiễn sâu rộng của ông bao gồm quản lý cơ sở dữ liệu nhiều terabyte, triển khai Luôn có sẵn các nhóm sẵn cóvà phát triển các chiến lược sao lưu và phục hồi tự động cho các hệ thống kinh doanh quan trọng.

Nhờ chuyên môn kỹ thuật và phương pháp thực tế của mình, Yuan tập trung vào việc tạo ra các hướng dẫn toàn diện giúp quản trị viên cơ sở dữ liệu và chuyên gia CNTT giải quyết các vấn đề phức tạp SQL Server thách thức một cách hiệu quả. Anh ấy luôn cập nhật những thông tin mới nhất SQL Server phát hành và công nghệ cơ sở dữ liệu đang phát triển của Microsoft, thường xuyên kiểm tra các tình huống phục hồi để đảm bảo các khuyến nghị của ông phản ánh những phương pháp hay nhất trong thực tế.

Có thắc mắc về SQL Server phục hồi hoặc cần thêm hướng dẫn khắc phục sự cố cơ sở dữ liệu? Yuan hoan nghênh phản hồi và đề xuất để cải thiện các nguồn lực kỹ thuật này.

Chia sẻ ngay bây giờ: