SE の雑記

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

Archive for the ‘SQL Server’ Category

SQL Server / SQL Database パフォーマンスチューニング & トラブルシューティング シリーズ : SOS_SCHEDULER_YIELD の基本的な考え方について

leave a comment

SQL Server / SQL Database で CPU 使用状況が高い場合に発生する「待ち事象」としては、「SOS_SCHEDULER_YIELD」が有名ではないでしょうか。

待ち事象については、sys.dm_os_wait_stats (Transact-SQL) で解説が行われており、SOS_SCHEDULER_YIELD については、次のように解説が行われています。

タスクが、他のタスクの実行にスケジューラを自主的に解放したときに発生します。 この待機中、タスクはクォンタムの更新を待機しています。

 

これはどのようなことを表しているのでしょうか?

本投稿では、SOS_SCHEDULER_YIELD  の基本的な考え方について見ていきます。

Read the rest of this entry »

Written by Masayuki.Ozawa

7月 9th, 2020 at 9:13 pm

CXPACKET が発生している実行中のクエリのリソース情報の取得について

leave a comment

書こう、書こうと思っていながらかけていなかったのですが、What is MaxDOP controlling? という記事が公開されたので、良い機会と思い、CXPACKET が発生している実行中のクエリのリソース情報の取得についてまとめたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

7月 8th, 2020 at 9:57 pm

SQL Server / SQL Database パフォーマンスチューニング & トラブルシューティング シリーズ : SQL Server へのクエリ実行時の「コマンド タイムアウト」の挙動について

leave a comment

本ブログでは、次の投稿で SQL Server へのクエリ実行時の「コマンド タイムアウト」(クエリ タイムアウト) について触れてみました。

 

そもそも「コマンド タイムアウト」とは何なのでしょうか?
上記の投稿では触れていなかった部分についてもまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 30th, 2020 at 10:38 pm

Posted in SQL Server

Tagged with

PowerShell (7.0.2) で Microsoft.Data.SqlClient 2.0 を使用する

leave a comment

Released: General Availability of Microsoft.Data.SqlClient 2.0 でアナウンスされましたが、.NET で SQL Server にアクセスするための最新のデータプロバイダーである Microsoft.Data.SqlClient 2.0 がリリースされました。

アナウンスや、リリースノート でも触れられていますが、いくつかの機能が追加されています。

Some of the highlights of new features over the 1.1 release of Microsoft.Data.SqlClient include:

 

PowerShell から新機能の検証をしようと思ったところ、Microsoft.Data.SqlClient 2.0 を使用するのにちょっとハマったので、メモを残しておこうかと。

動作方法がよくわかっていなかったので、”Microsoft.Data. SqlClient is not supported on this platform.” when trying to use it in PowerShell 7.0.2 で助けていただきました (感謝)

Microsoft.Data.SqlClient with PowerShell も参考にさせていただきました。
(本ドキュメントを書かれていた方に Issue でヘルプいただけて感謝、感謝)

Microsoft.Data.SqlClient については Microsoft.Data.SqlClient 名前空間の概要 でドキュメントが公開されていますので、こちらも確認すると良いかと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 22nd, 2020 at 9:52 pm

Posted in PowerShell,SQL Server

Tagged with ,

SQL Server 側でエラーを取得するための方法

leave a comment

以前、次の投稿を書きました。

これらの投稿では、「アプリケーションからのクエリタイムアウト (コマンドタイムアウト)」を SQL Server 側 (DB サーバーサイド) で取得する方法について記載を行いました。
(本ブログでも何回か書いていますが、クエリのタイムアウトは「アプリケーションから発行された Attention のメッセージにより、SQL Server がクエリをキャンセルする処理」ですので、クエリをタイムアウトさせているのは、SQL Server ではなく、クエリを発行したアプリケーション側の処理となります)

SQL Server に対してクエリを実行する際に発生するのは、クエリタイムアウトだけでなく、様々なエラーがあります。

本投稿では、クエリタイムアウト以外のエラーを SQL Server 側で取得する方法の一例について紹介したいと思います。

クエリのタイムアウトや、クエリの実行の失敗については、クエリ実行側 (アプリケーション側) で取得した方が正確かと思いますので、SQL Server で全てをキャッチするのではなくアプリケーション (または、APM のような仕組み) でエラーを把握した方が良いと思います。
(DB に対してのクエリ実行でエラーが発生すると、SQL Server 側の調査のみで原因を特定してくれという依頼が多いのですよね…。)

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 18th, 2020 at 11:04 pm

Posted in SQL Server

Tagged with

Build 2020 で発表された SQL Server / SQL Database 関連の情報

one comment

Build 2020 で発表された SQL Server / SQL Database に関連する情報を。

全体のニュースは MICROSOFT BUILD 2020BOOK OF NEWS から。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 20th, 2020 at 12:30 am

SQL Server / SQL Database パフォーマンスチューニング & トラブルシューティング シリーズ : クエリストアの有効化を例とした機能有効化による性能の影響調査 その 1

leave a comment

SQL Server のトラブルシューティングでは「特定の機能を有効化したことによる性能影響への調査」を実施することもあります。

今回は SQL Server 2016 で搭載された「クエリストア」の機能を例として、機能を有効にした場合の性能影響への調査のアプローチを考えてみましょう。

なお、今回の調査は本番環境ではなく、検証環境での調査を前提としています。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 17th, 2020 at 11:00 pm

SQL Server / SQL Database パフォーマンスチューニング & トラブルシューティング シリーズ : sys.dm_exec_query_stats を使用したキャッシュされたクエリの分析 その 1

leave a comment

SQL Server と Azure SQL Database (Single Database (Elastic Pool) / Managed Instance / Hyperscale) でパフォーマンスチューニングやトラブルシューティングに利用できる情報を、本投稿のタイトルのシリーズでまとめていきたいと思います。

今回は「sys.dm_exec_query_stats」について紹介します。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 3rd, 2020 at 7:59 pm

SQL Server Management Studio を使いやすくするためのカスタマイズ

leave a comment

SQL Server Management Studio (SSMS) を使用するために、実施している設定のカスタマイズについてまとめておきたいと思います。

気づいたときにいろいろと追記していこうかと。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 2nd, 2020 at 3:02 pm

Azure Data Studio を使用した統計情報のヒストグラムの可視化

leave a comment

可視化の方法は様々なものが使用できますが、Azure Data Studio (ADS) にはグラフを作成するための機能がありますので、この機能を利用して SQL Server の統計情報のヒストグラムを可視化する方法を紹介したいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 30th, 2020 at 11:20 pm