sys.dm_db_xtp_object_stats (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

最後のデータベースの再起動後に各インメモリ OLTP オブジェクトの操作の影響を受けた行数を報告します。 トランザクションがコミットされたかロールバックされたかに関係なく、操作の実行時に統計が更新されます。

sys.dm_db_xtp_object_stats システム動的管理ビューは、最も変化しているメモリ最適化テーブルを識別するのに役立ちます。 各インデックスはパフォーマンスに影響するため、テーブル内でまったく使用されていないインデックスまたはほとんど使用されていないインデックスの削除を検討することができます。 ハッシュ インデックスがある場合は、バケット数を定期的に再評価する必要があります。 詳細については、「 Determining the Correct Bucket Count for Hash Indexes」を参照してください。

sys.dm_db_xtp_object_statsを使用して、書き込み/書き込み競合が発生するメモリ最適化テーブルを特定します。これは、アプリケーションのパフォーマンスに影響する可能性があります。 たとえば、トランザクションの再試行ロジックがあれば、同じステートメントの実行が複数回必要になることがあります。 また、この情報を使用して、書き込み/書き込みエラー処理を必要とするテーブル (およびビジネス ロジック) を識別することもできます。

このビューには、データベース内のメモリ最適化テーブルごとに 1 行のデータが格納されます。

詳細については、「 インメモリ OLTP (インメモリ最適化)」を参照してください。

列名 データ型 説明
object_id bigint オブジェクトの ID。
row_insert_attempts bigint コミットされたトランザクションと中止されたトランザクションの両方によって最後のデータベースが再起動されてからテーブルに挿入された行の数。
row_update_attempts bigint コミットされたトランザクションと中止されたトランザクションの両方によって、最後のデータベースの再起動後にテーブル内で更新された行の数。
row_delete_attempts bigint コミットされたトランザクションと中止されたトランザクションの両方によって最後のデータベースが再起動されてからテーブルから削除された行の数。
write_conflicts bigint 前回データベースが再起動されてから発生した書き込み競合の数。
unique_constraint_violations bigint 前回のデータベースの再起動後に発生した一意制約違反の数。
object_address varbinary(8) 内部のみで使用します。

アクセス許可

現在のデータベースに対する VIEW DATABASE STATE 権限が必要です。

SQL Server 2022 以降でのアクセス許可

データベースに対する VIEW DATABASE PERFORMANCE STATE アクセス許可が必要です。