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 アクセス許可が必要です。