時間が取れず、直近の SQL Server ベースの環境のアップデートをまとめられていませんでしたので、SQL Server / SQL Database Update (2023/08 上旬) 以降に発表されたものをまとめておきたいと思います。
- Azure updates
- SQL Server
- Azure Arc Enabled SQL Server
- Azure Arc Enabled SQL Managed Instance
- Azure SQL Edge
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
時間が取れず、直近の 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 から情報を確認することができます。
Azure SQL Database External REST Endpoints Integration Public Preview でアナウンスがありましたが、SQL Database で、SQL から REST API をコールすることができる sp_invoke_external_rest_endpoint というストアドプロシージャがプレビューで提供されました。
SQL 単体で、REST をコールして情報を取得することができる機能となります。
呼び出しができるエンドポイントについては、許可されているエンドポイント に記載されている次のエンドポイントに限定され、これ以外のエンドポイントについては、サポートされるエンドポイントでラップして呼び出す必要があります。
本機能の使用方法のサンプルについては Azure SQL DB sp_invoke_external_rest_endpoint samples が提供されているのですが、この中で触れられていない Microsoft Graph を使用して、本機能を確認してみました。