現在の SQL Server では、軽量クエリプロファイリングが提供されており、様々なアプローチで「実行中のクエリの実際の実行プラン」を取得する方法が提供されています。
本機能は SQL Server 2014 SP2 / SQL Server 2016 から実装が行われ、Azure SQL Database / SQL Server 2019 以降では既定で有効になっています。
この機能を活用することで、冒頭に記載した「実行中のクエリの実際の実行プラン」を取得することができます。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
現在の SQL Server では、軽量クエリプロファイリングが提供されており、様々なアプローチで「実行中のクエリの実際の実行プラン」を取得する方法が提供されています。
本機能は SQL Server 2014 SP2 / SQL Server 2016 から実装が行われ、Azure SQL Database / SQL Server 2019 以降では既定で有効になっています。
この機能を活用することで、冒頭に記載した「実行中のクエリの実際の実行プラン」を取得することができます。
SQL Server ではデータベースの操作を行うためには sysadmin 固定サーバーロールまたは db_owner 固定データベースロールの権限が必要となることがあります。
これらの権限はインスタンスまたはデータベースの管理者の権限が付与されるため様々な操作が可能となります。
特定の操作を可能にするため、sysadmin / db_owner の権限を付与する必要があるが、データの秘匿性を担保するためデータへのアクセスについては拒否したいというケースもあるのではないでしょうか。
本投稿では管理者の権限を付与した状態でデータへのアクセスを拒否する方法についてまとめておきたいと思います。
この方法は SQL Server だけでなく SQL Database でも使用することができます。
投稿時点では、Ebdsv5 / Ebdsv5 シリーズのインスタンスを使用した Azure VM では、ディスクとの接続インタフェースとして NVMe を使用することができます。
Ebdsv5 シリーズは VM サイズ: Azure VM 上の SQL Server のパフォーマンスに関するベスト プラクティス で記載されているように、幅広い SQL Server のワークロードを動作させるために推奨される VM となっています。
今後、Azure VM で SQL Server を動作させる際に最適なパフォーマンスを発揮するためには NVMe の利用を検討するシーンも出てくるかと思い検証をして得られた知見をまとめておきたいと思います。
SQL Server ではクエリのデバッグ実行をするための T-SQL デバッガーの機能が含まれており、サポートするツールからのクエリ実行について、ステップ実行しながらデバッグをすることができます。
普段は管理用のクエリを書くことが多く、ユーザーから実行されるクエリを書くことに直接携わることは少ないのですが、ユーザーワークロードのクエリ実行で確認したいことがあり、デバッグ実行したほうが早いかなと思い、投稿時点の T-SQL デバッグの情報についてまとめてみました。
SQL Server / SQL Database のインデックスの使用状況を確認するための代表的な情報として次の DMV があります。
どちらもインデックスの使用状況を取得することができますが、情報には特色がありますので本投稿でまとめておきたいと思います。
直近の SQL Server ベースの環境のアップデートを確認できていなかったので、2023/4 以降の更新をまとめておきたいと思います。
先日 SQL Server のカーソルの動作を把握する という投稿しましたが、sys.databases をカーソルで参照する際には、Snapshot ベース音カーソルを使用したほうが動作が安定するかと思います。
Windows Server 2016 以降は、ドメインのメンバーでなくてもクラスターを構築することができるワークグループクラスターの機能が追加されました。
ワークグループ クラスター (ドメインに依存しないクラスター) の Windows Server での構築方法については、Workgroup and Multi-domain clusters in Windows Server 2016 に記載されており、この方法を使用することでワークグルプ環境でも Windows Failover Cluster (WSFC) を構築することができます。
ワークグループクラスターは SQL Server の可用性環境の構築でも活用することができるのですが、Always On Failover Cluster Instance (FCI) では使用することはできません。
現時点では、ワークグループクラスターで構築ができる可用性環境は Always On Availability Group (AG) のみとなります。
最近 TechNet フォーラムで 本件についての質問 があったのですが、ワークグループクラスターで FCI がサポートされてないことを明記した情報が探しづらいかなとも感じましたので情報をまとめておきたいと思います。
SQL Server ではダンプが出力されるエラーの種類としては、[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma で解説されている次のような種類があります。
この中で Assertion (アサーション) のダンプについてまとめておきたいと思います。
SQL Server のカーソルの動作について、理解が薄い個所がありましたので、調べた内容をまとめておこうと思います。
カーソルについては次の情報を参考にするのが最初のステップとなるかと思います。