Tools and Documents for fault analysis in SQL Server-based environments
Tools and Documents for fault analysis in SQL Server-based environments.
SQL Database でプライマリからの同期による複製環境の作成の精度の高い進捗の把握
Azure SQL Database では次のような操作を行うとプライマリからデータ同期を行い複製環境が作成されます。
上記の機能の中ではリソースのスケーリングが一般的に使用される機会が多いものかもしれませんね。
Azure SQL Database の性能を変更する場合には次の動作が行われます。
データベース用に新しいコンピューティング インスタンスを作成する
要求されたサービス レベルとコンピューティング サイズを持つ新しいコンピューティング インスタンスが作成されます。 サービス レベルとコンピューティング サイズの変更の組み合わせの中には、新しいコンピューティング インスタンスにデータベースのレプリカを作成する必要があるものがあります。これにはデータのコピーも含まれ、全体の待機時間に大きく影響する場合があります。 いずれにしても、この手順の間、データベースはオンラインのままで、接続は元のコンピューティング インスタンスのデータベースに引き続き向けられます。
変更後のサイズによっては、データベースのコピー機能が使用され新しいインスタンスにデータの同期が行われ、コピー完了後に切り替えを行うというような動作により、新しい環境の提供が行われます。
データの同期が行われる場合、データベースのサイズによって変更が完了するまでに必要となる時間が変動するのですが、この時間の予測を標準で提供されている機能より精度を高くして把握する方法について考えてみました。
SQL Server 2016 で特定のクエリの実際の実行プランを容易な操作で取得する
現在の SQL Server では、軽量クエリプロファイリングが提供されており、様々なアプローチで「実行中のクエリの実際の実行プラン」を取得する方法が提供されています。
本機能は SQL Server 2014 SP2 / SQL Server 2016 から実装が行われ、Azure SQL Database / SQL Server 2019 以降では既定で有効になっています。
この機能を活用することで、冒頭に記載した「実行中のクエリの実際の実行プラン」を取得することができます。
Azure Stack HCI 22H2 向けの更新プログラムを WSUS で配信する際に選択する製品
Azure Stack HCI に対しての更新プログラムの提供については、更新とアップグレード に記載されています。
デフォルトの設定では Microsoft Update 経由で更新プログラムの適用が行われますが、Windows Server Update Services (WSUS) を使用して更新プログラムの適用を行うことができます。
WSUS で Azure Stack HCI 22H2 に更新プログラムを適用する際には、選択する製品で気を付ける点があったのでメモを。
Azure Migrate を使用した Windows Server 2012 R2 移行の作業メモ
Azure Migrate を使用して、Windows Server 2012 R2 を Azure VM に移行してみた際の作業メモを投稿しておきたいと思います。
Window Server 2012 R2 は UEFI の物理環境上に構築したものとなります。
SQL Server で DB の管理者権限を付与した状態でデータへのアクセスを無効にする
SQL Server ではデータベースの操作を行うためには sysadmin 固定サーバーロールまたは db_owner 固定データベースロールの権限が必要となることがあります。
これらの権限はインスタンスまたはデータベースの管理者の権限が付与されるため様々な操作が可能となります。
特定の操作を可能にするため、sysadmin / db_owner の権限を付与する必要があるが、データの秘匿性を担保するためデータへのアクセスについては拒否したいというケースもあるのではないでしょうか。
本投稿では管理者の権限を付与した状態でデータへのアクセスを拒否する方法についてまとめておきたいと思います。
この方法は SQL Server だけでなく SQL Database でも使用することができます。
Azure VM での NVMe の利用と SQL Server の対応について
投稿時点では、Ebdsv5 / Ebdsv5 シリーズのインスタンスを使用した Azure VM では、ディスクとの接続インタフェースとして NVMe を使用することができます。
Ebdsv5 シリーズは VM サイズ: Azure VM 上の SQL Server のパフォーマンスに関するベスト プラクティス で記載されているように、幅広い SQL Server のワークロードを動作させるために推奨される VM となっています。
今後、Azure VM で SQL Server を動作させる際に最適なパフォーマンスを発揮するためには NVMe の利用を検討するシーンも出てくるかと思い検証をして得られた知見をまとめておきたいと思います。
SQL Server のクエリのデバッグ実行について (2023/08 版)
SQL Server ではクエリのデバッグ実行をするための T-SQL デバッガーの機能が含まれており、サポートするツールからのクエリ実行について、ステップ実行しながらデバッグをすることができます。
普段は管理用のクエリを書くことが多く、ユーザーから実行されるクエリを書くことに直接携わることは少ないのですが、ユーザーワークロードのクエリ実行で確認したいことがあり、デバッグ実行したほうが早いかなと思い、投稿時点の T-SQL デバッグの情報についてまとめてみました。
sys.dm_db_index_operational_stats と sys.dm_db_index_usage_stats の違いについて
SQL Server / SQL Database のインデックスの使用状況を確認するための代表的な情報として次の DMV があります。
どちらもインデックスの使用状況を取得することができますが、情報には特色がありますので本投稿でまとめておきたいと思います。
Azure Data Studio で GitHub Copilot を使用する
Azure Data Studio (ADS) 1.44 以降は、GitHub Copilot の拡張機能 (Extension) が含まれるようになり、SQL を記述する際に GitHub Copilot を活用することができるようになりました。
個人向けの GitHub Copilot (GitHub Copilot for Individuals) は使用できるようにしているので、Azure Data Studio ではどのように活用できるようになっているのかを確認してみました。
Microsoft Defender for Cloud / Microsoft Defender for Endpoint 統合についての覚書
いくつか確認中の内容があるため、本投稿は適宜修正を行っていきますが、Microsoft Defender for Cloud (MDfC) と Microsoft Defender for Endpoint (MDE) の統合についての覚書。
Microsoft Defender for Cloud を使用したオンプレミス Server のマルウェア対策の統合管理を検証する際のとりかかりに見ておく情報 に追記してもよかったのですが、急ぎで情報の整理をしておきたかったので新しい投稿にしています。