Kích hoạt ảnh hưởng đến kế hoạch SQL Server truy vấn tối ưu hoá hành vi mà có thể được kiểm soát bởi khác cờ theo dõi độ truy vấn cụ thể

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2801413
Giới thiệu
Bắt đầu với Microsoft SQL Server 2000 Service Pack 3 (SP3), SQL Server truy vấn bộ xử lý nhóm thông qua chính sách bất kỳ hotfix nào có thể làm ảnh hưởng đến việc thiết lập kế hoạch truy vấn phải được kiểm soát bởi cờ theo dõi. Ngoại trừ các bản vá lỗi có thể gây ra kết quả không chính xác hoặc hỏng, các hotfix được tắt theo mặc định và cờ theo dõi là cần thiết để kích hoạt bản vá. Chính sách này sẽ giúp tránh không mong muốn thay đổi kế hoạch thực hiện sẵn có khối lượng công việc có thể xảy ra khi cài đặt chuyên biệt hotfix hoặc bản Cập Nhật bảo mật.

Thường cờ theo dõi được kích hoạt khi khởi động hoặc một phiên người dùng. Tuy nhiên, điều này có tác dụng không mong muốn trên một số truy vấn trong ứng dụng bộ máy cơ sở dữ liệu hiện có. Ví dụ: Hãy xem xét một ứng dụng hoặc khối lượng công việc có nhiều truy vấn và một số các truy vấn này sử dụng một chương trình thực thi không hiệu quả truy vấn được cải thiện bằng cách kích hoạt cờ theo dõi kiểm soát hotfix tương ứng. Tuy nhiên, các truy vấn có thể gặp phải một kế hoạch thực hiện ít tối ưu khi cờ theo dõi tương tự được áp dụng. Điều này là do sự lựa chọn thực hiện kế hoạch sẽ ảnh hưởng đến tất cả các truy vấn được biên dịch trong phiên bản hoặc phiên khi tương ứng cờ theo dõi được kích hoạt. Tuỳ thuộc vào các truy vấn, dữ liệu và thay đổi kiểu được sử dụng trình tối ưu hoá truy vấn có thể nâng cao và giảm kế hoạch biên soạn và hiệu quả thời gian thực hiện truy vấn cụ thể.

Nếu cờ theo dõi ảnh hưởng đến bất kỳ kế hoạch yêu cầu thực hiện một cách không mong muốn, nhưng cải thiện một số kế hoạch thực hiện yêu cầu, bạn có thể kích hoạt cờ theo dõi tương ứng với chỉ một truy vấn cụ thể. Bạn có thể thực hiện việc này bằng cách kích hoạt cờ theo dõi quyền thực thi (bằng cách sử dụng lệnh DBCC TRACEON) trước khi truy vấn mục tiêu, và sau đó tắt theo dõi cờ (bằng cách sử dụng lệnh DBCC TRACEOFF) ngay sau khi truy vấn. Tuy nhiên, điều này có thể luôn không thể kiểm soát văn bản lô Transact-SQL cho ứng dụng hiện tại. Bạn có thể gặp phải hiệu suất tầm nhìn thấp truy vấn trong một khối lượng công việc hiện tại và muốn áp dụng một thay đổi ảnh hưởng đến kế hoạch có sẵn cho truy vấn mà không thay đổi văn bản bó tự. Bạn có thể thực hiện việc này bằng cách sử dụng một truy vấn cấp tuỳ chọn để kích hoạt cờ theo dõi cho chỉ một truy vấn cụ thể.

Bắt đầu với Microsoft SQL Server 2005 Service Pack 2 (SP2) và Microsoft SQL Server 2008, tuỳ truy vấn lựa cấp "QUERYTRACEON" có sẵn. Tuỳ chọn này cho phép bạn kích hoạt cờ theo dõi ảnh hưởng đến kế hoạch chỉ khi một truy vấn biên soạn. Như các tuỳ truy vấn lựa cấp, bạn có thể sử dụng cùng với kế hoạch hướng dẫn để phù hợp với Truy vấn Nội dung được thực hiện từ bất kỳ phiên, và tự động áp dụng cờ theo dõi ảnh hưởng đến kế hoạch khi truy vấn này được biên soạn.
Thông tin thêm
Gợi ý QUERYTRACEON có sẵn như là một gợi ý truy vấn cho phép thay đổi ảnh hưởng đến kế hoạch tối ưu hoá truy vấn được kiểm soát bởi cờ theo dõi. Gợi ý QUERYTRACEON được chỉ định là một phần của khoản tùy chọn giống khác gợi ý truy vấn.

Cú pháp

<querytraceon_hint> ::=       { QUERYTRACEON trace_flag_number }

Đối số

QUERYTRACEON trace_flag_number

Điều này chỉ ảnh hưởng đến kế hoạch theo dõi cờ số được bật trong quá trình biên soạn các truy vấn. Số cờ theo dõi sau được hỗ trợ:
Cờ theo dõi Bài viết Cơ sở tri thức MicrosoftBằng
4199974006Cập Nhật tích luỹ 6 cho SQL Server 2005 Service Pack 3;
Cập Nhật tích luỹ 7 dành cho SQL Server 2008;
Cập Nhật tích luỹ 7 dành cho SQL Server 2008 gói bản ghi dịch vụ 1;
SQL Server 2008 R2 và phiên bản mới hơn.
Tất cả các cờ theo dõi được 4199974006Cập Nhật tích luỹ 6 cho SQL Server 2005 Service Pack 3;
Cập Nhật tích luỹ 7 dành cho SQL Server 2008;
Cập Nhật tích luỹ 7 dành cho SQL Server 2008 gói bản ghi dịch vụ 1;
SQL Server 2008 R2 và phiên bản mới hơn.
23352413549SQL Server 2005 và phiên bản mới hơn.
23402009160SQL Server 2005 và phiên bản mới hơn.
2389, 2390Không cóSQL Server 2005 và phiên bản mới hơn. Đối với các vấn đề trong SQL Server 2005 môi trường, hãy xem 929278.
4136980653Cập Nhật tích luỹ 9 cho SQL Server 2005 Service Pack 3;
Cập Nhật tích luỹ 7 dành cho SQL Server 2008 gói bản ghi dịch vụ 1;
Bản Cập Nhật tích luỹ 2 cho SQL Server 2008 R2 và phiên bản mới hơn.
41372658214Cập Nhật tích luỹ 8 cho SQL Server 2008 gói bản ghi dịch vụ 2;
Cập Nhật tích luỹ 7 dành cho SQL Server 2008 gói bản ghi dịch vụ 3;
Cập Nhật tích luỹ 5 cho SQL Server 2008 R2 gói bản ghi dịch vụ 1;
Tích lũy Update 1 cho SQL Server 2012 và phiên bản mới hơn.
41382667211Cập Nhật tích luỹ 13 cho SQL Server 2008 R2;
Cập Nhật tích luỹ 7 dành cho SQL Server 2008 R2 gói bản ghi dịch vụ 1;
Cập Nhật tích luỹ 1 dành cho SQL Server 2008 R2 gói bản ghi dịch vụ 2;
Cập Nhật tích luỹ 2 cho SQL Server 2012 và phiên bản mới hơn.


Kế hoạch sau ảnh hưởng đến theo dõi cờ có sẵn trong Microsoft SQL Server 2014:
Cờ theo dõiMô tả
9481Sử dụng khi chạy SQL Server 2014 với mức độ tương hợp về sau bộ máy cơ sở dữ liệu mặc định 120. Cờ theo dõi 9481 buộc trình tối ưu hoá truy vấn sử dụng phiên bản 70 (Phiên bản SQL Server 2012) cardinality ước khi tạo kế hoạch yêu cầu.
2312Sử dụng khi chạy SQL Server 2014 cấp bộ máy cơ sở dữ liệu tương hợp về sau 110, có mức độ tương hợp về sau cho SQL Server 2012. Cờ theo dõi 2312 buộc trình tối ưu hoá truy vấn sử dụng phiên bản 120 (Phiên bản SQL Server 2014) cardinality ước khi tạo kế hoạch yêu cầu.

Ghi chú

Tùy chọn QUERYTRACEON không được hỗ trợ cho cờ theo dõi ngoài cờ theo dõi được liệt kê trong bảng. Tuy nhiên, tùy chọn này sẽ trả về bất kỳ lỗi hoặc cảnh báo nếu một số cờ theo dõi không được hỗ trợ được sử dụng. Nếu cờ theo dõi được chỉ định không ảnh hưởng đến kế hoạch thực hiện yêu cầu, tùy chọn sẽ bị bỏ qua tự động.

Nhiều cờ theo dõi có thể được xác định trong điều khoản lựa chọn nếu QUERYTRACEON trace_flag_number được sao chép với số cờ theo dõi khác.


Thực hiện một truy vấn với QUERYTRACEON yêu cầu các thành viên trong Generalcố định vai trò máy chủ.


Tuỳ chọn QUERYTRACEON có thể sử dụng Lập kế hoạch hướng dẫn.
Ví dụ
  • Bạn có thể bật tất cả ảnh hưởng đến gói hotfix do cờ theo dõi 4199 cho truy vấn cụ thể. Ví dụ: bạn có thể sử dụng truy vấn sau đây:
    SELECT x FROM correlated WHERE f1 = 0 and f2 = 1 OPTION (QUERYTRACEON 4199)
  • Bạn có thể bật tất cả ảnh hưởng đến gói hotfix do cờ theo dõi 4199 và 4137 cho truy vấn cụ thể. Ví dụ: bạn có thể sử dụng truy vấn sau đây:
    SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

Cảnh báo: Bài viết này được dịch tự động

属性

文章 ID:2801413 - 上次审阅时间:01/20/2016 02:50:00 - 修订版本: 5.0

Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard

  • kbinfo kbsurveynew kbexpertiseinter kbhowto kbmt KB2801413 KbMtvi
反馈