本ブログでは、次の投稿で SQL Server へのクエリ実行時の「コマンド タイムアウト」(クエリ タイムアウト) について触れてみました。
そもそも「コマンド タイムアウト」とは何なのでしょうか?
上記の投稿では触れていなかった部分についてもまとめておきたいと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
本ブログでは、次の投稿で SQL Server へのクエリ実行時の「コマンド タイムアウト」(クエリ タイムアウト) について触れてみました。
そもそも「コマンド タイムアウト」とは何なのでしょうか?
上記の投稿では触れていなかった部分についてもまとめておきたいと思います。
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:
- Support for Active Directory Integrated and Interactive authentication modes when targeting .NET Cor…
- Support for Active Directory Service Principal authentication
- EventSource tracing support
- SNI dependency changes
- SqlBulkCopy RowsCopied property
- Connection Open Overrides
- Order Hints for SqlBulkCopy
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 名前空間の概要 でドキュメントが公開されていますので、こちらも確認すると良いかと思います。
以前、次の投稿を書きました。
これらの投稿では、「アプリケーションからのクエリタイムアウト (コマンドタイムアウト)」を SQL Server 側 (DB サーバーサイド) で取得する方法について記載を行いました。
(本ブログでも何回か書いていますが、クエリのタイムアウトは「アプリケーションから発行された Attention のメッセージにより、SQL Server がクエリをキャンセルする処理」ですので、クエリをタイムアウトさせているのは、SQL Server ではなく、クエリを発行したアプリケーション側の処理となります)
SQL Server に対してクエリを実行する際に発生するのは、クエリタイムアウトだけでなく、様々なエラーがあります。
本投稿では、クエリタイムアウト以外のエラーを SQL Server 側で取得する方法の一例について紹介したいと思います。
クエリのタイムアウトや、クエリの実行の失敗については、クエリ実行側 (アプリケーション側) で取得した方が正確かと思いますので、SQL Server で全てをキャッチするのではなくアプリケーション (または、APM のような仕組み) でエラーを把握した方が良いと思います。
(DB に対してのクエリ実行でエラーが発生すると、SQL Server 側の調査のみで原因を特定してくれという依頼が多いのですよね…。)
Azure Functions で関数を作成する際、作業用の環境で作成しやすいので、PowerShell で書いています。
Azure Data Factory から Azure Functions を呼び出す際には Functions 側はどのように書けばよいのかをメモとして。
Synapse Analytics (ワークスペース) のサンプルについては、Samples for Azure Synapse Analytics (workspace preview) で公開されており、ドキュメントにもこのサンプルにリンクが行われていますが、それ以外にもいくつかのコンテンツが GitHub 上で公開されています。
Microsoft から公開されているコンテンツとしては次のようなものがあるようです。
PREDICT
T-SQL function, your environment will need to be whitelisted. If your environment is not whitelisted, then you should read through the steps of this task as a reference as you will not be able to run the prediction queries.
MS 以外から公開されているコンテンツとしては次のようなものもあるようですね。
Build 2020 のセッションでは、発表はなかったようなのですが、先月開催されていた、DataPlatformGeeks Virtual Symposium ので Start modernizing your workloads at scale with Managed Instance でSQL Database Managed Instance (マネージドインスタンス) のロードマップが公開されました。
このセッションで、どのような機能強化が予定されているのかが発表されたのかをまとめておきたいと思います。
現時点で実装されている機能については、次のようになっています。