本ブログでは、次の投稿で 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 (マネージドインスタンス) のロードマップが公開されました。
このセッションで、どのような機能強化が予定されているのかが発表されたのかをまとめておきたいと思います。
現時点で実装されている機能については、次のようになっています。
初めて IoT Hub / IoT Edge を触って、手探りで Raspberry Pi 4 + DHT22 で室温のセンサーデータをストリーミングした際に参考とした情報の箇条書きとなります。
SQL Edge のドキュメントは、Azure SQL Edge (プレビュー) のドキュメント となりますが、検証をするに際しては IoT Hub / IoT Edge についても軽くは知っておく必要がありますので、最低限、次のような情報を確認しておくと良いのではないでしょうか。
(私はこれらの情報が必要でした)
2020/5/29 時点では、IoT Edge モジュールを開発する際に環境を整備すると Threat detected: Trojan:Win32/Zpevdo.A in iotedgehubdev.exe #274 という脅威検知が行われてしまうようで、VS 2019 だけでなく、Visual Studio Code でも同様の現象が発生しました。。。。
私の環境では、まだ、Windows Update に来ていないようなのですが、Windows 10 のダウンロードページに Windows 10 May 2020 Update が公開されたようです。
「今すぐアップデート」から、EXE をダウンロードして実行することで手動でアップグレードすることができそうです。 ![]()
どのような機能が追加されているかについては、What’s new in Windows 10, version 2004 for IT Pros から確認することができます。
WSL2 については次の情報を確認するとよさそうです。
Build 2020 の SQL Server 関連セッションのリンクをまとめてみました。
Build Live と Community セッションはまだ見れていません…。
オンラインの特性でしょうか、QA の時間が活発で英語力のなさを痛感しましたとさ…。
(毎回、イベントのたびに痛感するんですが)
今回の Build 2020 は完全にオンラインで、同一のセッションを時間を変えて 3 回実施するというような形式でしたので、同名のセッションが複数公開されています。
Azure SQL Edge が Public Preview となり、広く検証ができるようになりました。
現状の SQL Edge については ARM64/x64 の Linux 版を使用することができ、ARM64 については、Raspberry Pi 4B にもセットアップをすることができます。
(ARM64 の環境がない場合は、x64 の Linux 上にもセットアップすることが可能です。)
以前のバージョンの検証環境はあったのですが、最新化するついでに情報をまとめておこうかと。
私の場合は、Raspberry Pi 4B の 4GB のこのデバイスで動かしていますが、ハードウェア要件については Hardware Support に記載されています。
Hardware Support
Azure SQL Edge requires a 64-bit processor, which can be from Intel, AMD or ARM, with a minimum of one processor and one GB of RAM on the host. While the startup memory footprint of Azure SQL Edge is close to 500 MB, the additional memory is needed for other IoT Edge modules running on the edge device.
最小のメモリ要件は 1GB となっていますので、Raspberry Pi 3 でも動作するのかもしれませんね。(未確認)
Market Place からデプロイする際の概要にもスペックは表示されています。