SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

検証目的で UPDATE STATISTICS で統計情報を手動で書き換える (update_stats_stream_option)

without comments

本投稿の内容を使用すると、クエリの実行プランに大きく影響を与えますので、検証目的でクエリの実行プランを変更する場合以外、本投稿の内容は使用しないでください。

ドキュメントにも「サポートされていない」ことが明記されており、本番環境で実行して、クエリの実行に大きく影響を与えても一切の責任は取りません。
クエリの実行に影響があると、本業務に影響を与える環境に対して実施する場合は自己責任で実施してください。

ということで、検証以外では、本投稿の内容は使用しないでください。
この投稿の内容は、クエリの実行プランが大きく変わり、性能にダイレクトに影響を与えます。

本来の目的はクローンデータベースを作成する際に、検証目的で統計情報の復元を行うためのものですので、統計情報の固定に使おうとすると、予期せぬ動作を引き起こす可能性が十分にあります。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 9th, 2020 at 9:06 pm

非クラスター化インデックス作成時の処理状況 (進行状況) を確認する

without comments

以前書いた、SQL Server のクエリプロファイリングの活用 の応用ではありますが、この方法は、非クラスター化インデックスを新規に作成するときにも活用することができます。

Enterprise Edition であれば、オンラインのインデックス操作でインデックスを作成することもできますが、データ量が大きい場合、実際のインデックス作成の状況がどこまで進んでいるのかを確認したいということはあると思います。(クエリの処理状況がわかると、メンテナンス作業を実行している最中の心理的安定性にもつながりますので)

クエリ プロファイリング インフラストラクチャ の機能を使用しており、SQL Server 2016 SP1 / Azure SQL Database であれば、オーバーヘッドを抑えて使用することができるかと。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 6th, 2020 at 10:23 pm

2020/8/8~8/23 の SQL Server / SQL Database 関連の更新情報

without comments

定期的な更新とか、僕には無理だったんだ…。
ということで 2 週間分をまとめておこうかと。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 24th, 2020 at 9:19 am

WAIT_AT_LOW_PRIORITY と RESUMABLE を組み合わせたインデックスのメンテナンス

without comments

SQL Server の Enterprise Edition を使用している場合は、「オンラインでのインデックスメンテナンス」を実行することができます。

オンラインインデックスのメンテナンスの動作については オンライン インデックス操作の動作原理 で解説が行われていますが、オンラインのインデックスの最後のフェーズでは、瞬間的ではありますが、「SCH-M」のロックが取得されます。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 19th, 2020 at 10:00 pm

Posted in SQL Server

Tagged with

クエリストアで「Regular (通常実行)」として認識されるクエリ

without comments

SQL Server 2016 以降 / SQL Database で利用することができるクエリストアでは、実行されたクエリの種類を、

query_store_runtime_stats から、次のような内容で判断することができます。

image

アプリケーションから実行されたクエリの状態が、クエリストア上で通常実行として認識される状態の理解が少し足りていなくて、調べたので本ブログでもまとめておこうと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 11th, 2020 at 8:49 am

2020/7/27~8/7 の SQL Server / SQL Database 関連の更新情報

without comments

2 回目にして毎週更新ができていません (orz) が、前回更新から本日までの更新情報を。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 7th, 2020 at 8:14 am

SQL Server 2019 CU6 でクエリストアの強制 OFF が可能になりました

without comments

本日、SQL Server 2019 で Cumulative Update 6 (CU6) がリリースされました。

その中で興味深い改善として次の内容があります。

SQL Server 2019 CU6 から、クエリストアを無効 (OFF) にする際に、同期的なフラッシュを行うことなく、即時にクエリストアを無効化するようにできるようになりました。

構文としては、次のクエリの実行が可能となるようです。

ALTER DATABASE <db 名> SET QUERY_STORE = OFF (FORCED)

 

追記 :

SQL Server 2016 SP2 CU12 でもこの機能がサポートされたようです。

 

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 5th, 2020 at 11:43 am

Posted in SQL Server

Tagged with ,