現在の 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 でも使用することができます。
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 のカーソルの動作について、理解が薄い個所がありましたので、調べた内容をまとめておこうと思います。
カーソルについては次の情報を参考にするのが最初のステップとなるかと思います。
以前、SQL Server エージェントで Transact-SQL を実行する際に使用されるログインについて という投稿を書きました。
この投稿の中では、sysadmin ロールに含まれていないログインをジョブの所有者に設定した場合の挙動に触れてみました。
ジョブの所有者が sysadmin ロール以外で、Windows 認証のログインを使用している場合、OS 側のログインが無効の状態になっている場合、どのような挙動となるかについて確認する必要がありましたので、その内容をまとめておきたいと思います。
ローカルアカウントではなく、ドメインアカウントを対象としたものについては、次の情報を確認してください。