SQL Server ベースの環境で、ロック競合に伴うブロッキングの情報を取得する際には、blocked process threshold と Blocked Process Report を使用するのが一般的な取得方法となります。
Azure SQL は変更可能な設定が制限されていますが、Azure SQL Databsae (SQLDB) と Azure SQL Managed Instance (MI) では、どのような設定ができるのかをまとめておきたいと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
SQL Server ベースの環境で、ロック競合に伴うブロッキングの情報を取得する際には、blocked process threshold と Blocked Process Report を使用するのが一般的な取得方法となります。
Azure SQL は変更可能な設定が制限されていますが、Azure SQL Databsae (SQLDB) と Azure SQL Managed Instance (MI) では、どのような設定ができるのかをまとめておきたいと思います。
時間が取れず、直近の SQL Server ベースの環境のアップデートをまとめられていませんでしたので、SQL Server / SQL Database Update (2023/08 上旬) 以降に発表されたものをまとめておきたいと思います。
Azure SQL Database では次のような操作を行うとプライマリからデータ同期を行い複製環境が作成されます。
上記の機能の中ではリソースのスケーリングが一般的に使用される機会が多いものかもしれませんね。
Azure SQL Database の性能を変更する場合には次の動作が行われます。
データベース用に新しいコンピューティング インスタンスを作成する
要求されたサービス レベルとコンピューティング サイズを持つ新しいコンピューティング インスタンスが作成されます。 サービス レベルとコンピューティング サイズの変更の組み合わせの中には、新しいコンピューティング インスタンスにデータベースのレプリカを作成する必要があるものがあります。これにはデータのコピーも含まれ、全体の待機時間に大きく影響する場合があります。 いずれにしても、この手順の間、データベースはオンラインのままで、接続は元のコンピューティング インスタンスのデータベースに引き続き向けられます。
変更後のサイズによっては、データベースのコピー機能が使用され新しいインスタンスにデータの同期が行われ、コピー完了後に切り替えを行うというような動作により、新しい環境の提供が行われます。
データの同期が行われる場合、データベースのサイズによって変更が完了するまでに必要となる時間が変動するのですが、この時間の予測を標準で提供されている機能より精度を高くして把握する方法について考えてみました。
SQL Server ではデータベースの操作を行うためには sysadmin 固定サーバーロールまたは db_owner 固定データベースロールの権限が必要となることがあります。
これらの権限はインスタンスまたはデータベースの管理者の権限が付与されるため様々な操作が可能となります。
特定の操作を可能にするため、sysadmin / db_owner の権限を付与する必要があるが、データの秘匿性を担保するためデータへのアクセスについては拒否したいというケースもあるのではないでしょうか。
本投稿では管理者の権限を付与した状態でデータへのアクセスを拒否する方法についてまとめておきたいと思います。
この方法は SQL Server だけでなく SQL Database でも使用することができます。
直近の SQL Server ベースの環境のアップデートを確認できていなかったので、2023/4 以降の更新をまとめておきたいと思います。
Azure SQL Database の価格 / リソースの制限の比較 で確認し 料金計算ツール で計算すれば問題はないのですが、Single Database モデルの利用料金の考え方について。
基本的な利用料金については、DTU / vCore / Hyperscale によって考え方が変わる部分と共通的な部分があります。
本投稿の内容が不正確なものだったとしても一切の責任を負うことはできませんので、あらかじめご了承ください。
利用料金の正確な内容については Microsoft の公式の情報が正しいものとなり、本投稿の情報は自分が後から見直すためのメモです。
今月 Vector Similarity Search with Azure SQL database and OpenAI という記事が公開されました。
Azure のデータストアでは次のような機能のベクター検索が提供されています。
Azure SQL Database では、ベクターデータの生成 / 格納するためのデータ型 / ベクターインデックスや、ベクトルの類似性検索を行うためのライブラリはないのですが、この記事では JSON 形式のデータや、Azure OpenAI を組み合わせることでベクトルの類似性検索を行っており、勉強になったのでポイントとなると思った箇所をまとめておこうと思います。
2023年3月の発表をあまり確認できていなかったのでまとめておきたい思います。
私もきちんと理解できておらず、最近まで把握できていなかったのですが、Always Encrypted Secure Enclaves を使用するためには、HGS (Host Guardian Service) による構成証明は必須ではないようです。(実運用環境では構成したほうが良いと思いますが、機能検証をしたい場合には HGS を構成しなくても検証が可能です)
最近、SQL Database で VBS (Virtualization based security) Enclaves を使用した Always Encrypted のサポートがプレビューで開始され、次のアナウンスがありました。
これに伴い、Always Encrypted Secure Enclaves のドキュメントを見直していて必須でないことに気づきました。
November 2022 Feature Wave for Azure SQL Managed Instance でアナウンスがありましたが、Azure SQl Managed Instance では、November 2022 Feature Wave (2022 年 11 月の機能ウェーブ) で、デプロイが高速化されます。
アナウンスは見ていたのですが、実際にデプロイが高速化されることを確認できていなかったので確認してみました。November 2022 Feature Wave の環境では、インスタンスの停止 / 開始も行うことができ、コストを抑えることができるようになるので、開発環境の効率的な運用も可能になるのではないでしょうか。
上述のアナウンス以外にも learn でドキュメントが公開されており、2022 年 11 月の機能ウェーブに登録する – Azure SQL Managed Instance から情報を確認することができます。