SE の雑記

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

Archive for the ‘SQL Database’ Category

データベースプロジェクトを使用した SQL Server ベースの環境の CI/CD

leave a comment

SQL Server ベースの環境向けの Visual Studio のプロジェクトとして、データベースプロジェクト があります。

このプロジェクトは当初はオフラインデータベース開発向けの機能として実装が行われていましたが、昨今は SQL Server ベースの環境の CI/CDでも活用が行われています。

データベースプロジェクトについては Visual Studio (or SSDT) だけでなく、Azure Data Studio (ADS) の SQL Database プロジェクトの拡張機能でも作成することができます。

最近、データベースプロジェクトを活用した CI/CD について調査を行っていましたので、分かった内容をまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 13th, 2024 at 8:52 pm

SQL Server / SQL Database Update (2024/01~2024/03/03)

leave a comment

2024 年に入ってからの SQL Server / SQL Database のアップデートをキャッチアップできていなかったので、一度まとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 4th, 2024 at 1:09 am

SQL Database の PITR の進捗状況について (2023/11 時点)

leave a comment

SQL Database で PITR の進捗状況を確認する方法として、次の DMV を確認するという方法があります。

この DMV では「percent_complete」という項目が提供されており、この値から操作の進行状況を取得することができます。

当初は「0 / 50 / 100」の 3 段階で進行状況を示していたのですが、昨年、Monitor Database Restore progress at more granular level のような機能改善が行われ、「0 / 1-99 / 100」というように操作の進行状況に合わせた値の表示が行われるようになったというアナウンスがありました。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 7th, 2023 at 9:57 am

Posted in SQL Database

Tagged with

Azure SQL Database と Azure SQL Managed Instance のブロッキング検出について

leave a comment

SQL Server ベースの環境で、ロック競合に伴うブロッキングの情報を取得する際には、blocked process thresholdBlocked Process Report を使用するのが一般的な取得方法となります。

Azure SQL は変更可能な設定が制限されていますが、Azure SQL Databsae (SQLDB) と Azure SQL Managed Instance (MI) では、どのような設定ができるのかをまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 15th, 2023 at 10:35 pm

SQL Server / SQL Database Update (2023/08 中旬~9 末)

leave a comment

時間が取れず、直近の SQL Server ベースの環境のアップデートをまとめられていませんでしたので、SQL Server / SQL Database Update (2023/08 上旬) 以降に発表されたものをまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 4th, 2023 at 4:44 pm

SQL Database でプライマリからの同期による複製環境の作成の精度の高い進捗の把握

leave a comment

Azure SQL Database では次のような操作を行うとプライマリからデータ同期を行い複製環境が作成されます。

上記の機能の中ではリソースのスケーリングが一般的に使用される機会が多いものかもしれませんね。

Azure SQL Database の性能を変更する場合には次の動作が行われます。

  1. データベース用に新しいコンピューティング インスタンスを作成する

    要求されたサービス レベルとコンピューティング サイズを持つ新しいコンピューティング インスタンスが作成されます。 サービス レベルとコンピューティング サイズの変更の組み合わせの中には、新しいコンピューティング インスタンスにデータベースのレプリカを作成する必要があるものがあります。これにはデータのコピーも含まれ、全体の待機時間に大きく影響する場合があります。 いずれにしても、この手順の間、データベースはオンラインのままで、接続は元のコンピューティング インスタンスのデータベースに引き続き向けられます。

変更後のサイズによっては、データベースのコピー機能が使用され新しいインスタンスにデータの同期が行われ、コピー完了後に切り替えを行うというような動作により、新しい環境の提供が行われます。

データの同期が行われる場合、データベースのサイズによって変更が完了するまでに必要となる時間が変動するのですが、この時間の予測を標準で提供されている機能より精度を高くして把握する方法について考えてみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 17th, 2023 at 7:40 pm

Posted in SQL Database

Tagged with

SQL Server で DB の管理者権限を付与した状態でデータへのアクセスを無効にする

leave a comment

SQL Server ではデータベースの操作を行うためには sysadmin 固定サーバーロールまたは db_owner 固定データベースロールの権限が必要となることがあります。

これらの権限はインスタンスまたはデータベースの管理者の権限が付与されるため様々な操作が可能となります。

特定の操作を可能にするため、sysadmin / db_owner の権限を付与する必要があるが、データの秘匿性を担保するためデータへのアクセスについては拒否したいというケースもあるのではないでしょうか。

本投稿では管理者の権限を付与した状態でデータへのアクセスを拒否する方法についてまとめておきたいと思います。
この方法は SQL Server だけでなく SQL Database でも使用することができます。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 29th, 2023 at 9:31 am

sys.dm_db_index_operational_stats と sys.dm_db_index_usage_stats の違いについて

leave a comment

SQL Server / SQL Database のインデックスの使用状況を確認するための代表的な情報として次の DMV があります。

どちらもインデックスの使用状況を取得することができますが、情報には特色がありますので本投稿でまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 22nd, 2023 at 9:50 am

SQL Server / SQL Database Update (2023/08 上旬)

leave a comment

直近の SQL Server ベースの環境のアップデートを確認できていなかったので、2023/4 以降の更新をまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 8th, 2023 at 9:53 pm

Azure SQL Database の Single Database モデルの基本的な利用料金の考え方

leave a comment

Azure SQL Database の価格 / リソースの制限の比較 で確認し 料金計算ツール で計算すれば問題はないのですが、Single Database モデルの利用料金の考え方について。

基本的な利用料金については、DTU / vCore / Hyperscale によって考え方が変わる部分と共通的な部分があります。

本投稿の内容が不正確なものだったとしても一切の責任を負うことはできませんので、あらかじめご了承ください。
利用料金の正確な内容については Microsoft の公式の情報が正しいものとなり、本投稿の情報は自分が後から見直すためのメモです。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 25th, 2023 at 5:20 pm

Posted in SQL Database

Tagged with