Microsoft suggests 互換性レベル120で実行されているSQL Server 2014データベースに対してパフォーマンスが「低下」したクエリにOPTION (QUERYTRACEON 9481)
を使用。
私の状況では、「劣化」とは、数秒から数分以上になることを意味します。パフォーマンスに関しては、9411は非常にうまく機能します。ただし、通常のユーザーは、クエリ結果(SSRSレポートの実行)ではなく、Niceエラーを受け取ります。
User 'xxxxx' does not have permission to run DBCC TRACEON.
ドキュメントには、DBCC TRACEON
を実行するには ユーザーはsysadminロールのメンバーである必要があります と記載されています。
非システム管理者がこのヒントを使用するクエリを実行できるようにするための回避策はありますか?
ほとんどのクエリは許容範囲内であるか、または適切に機能しているため、互換性レベルを110に戻さないほうがよいでしょう。
クエリのsysadminとして プランガイド を作成できます。これにより、ユーザーは既存のプランを実行できます。それ以外の場合は、クエリを書き直すだけでほぼすべてのことができます。
Sa権限は必要ないため、ヒントオプションを使用してください。
オプション(ヒントを使用( 'FORCE_LEGACY_CARDINALITY_ESTIMATION'))