在 SQL Server 中,系統表是存儲在系統數據庫(通常是 master
數據庫)中的表,它們包含了關于數據庫實例和系統信息的數據。查詢系統表可以幫助你了解數據庫的狀態、配置和運行時信息。
以下是一些常用的系統表及其用途:
master.sys.tables
SELECT * FROM master.sys.tables;
master.sys.columns
SELECT * FROM master.sys.columns WHERE TABLE_NAME = 'YourTableName';
master.sys.indexes
SELECT * FROM master.sys.indexes WHERE TABLE_NAME = 'YourTableName';
master.sys.key_constraints
SELECT * FROM master.sys.key_constraints WHERE TABLE_NAME = 'YourTableName';
master.sys.foreign_keys
SELECT * FROM master.sys.foreign_keys WHERE TABLE_NAME = 'YourTableName';
master.sys.indexes
SELECT * FROM master.sys.indexes WHERE TABLE_NAME = 'YourTableName';
master.sys.partitions
SELECT * FROM master.sys.partitions WHERE TABLE_NAME = 'YourTableName';
master.sys.objects
SELECT * FROM master.sys.objects WHERE TYPE = 'U' AND NAME = 'YourTableName';
master.sys.sql_modules
SELECT * FROM master.sys.sql_modules WHERE OBJECT_ID = OBJECT_ID('YourProcedureName');
master.sys.dm_exec_requests
SELECT * FROM master.sys.dm_exec_requests;
請注意,查詢系統表通常需要具有相應的權限。如果你沒有足夠的權限,可能會遇到訪問被拒絕的錯誤。此外,某些系統表可能在特定的數據庫實例中存在,而不是在所有實例中都存在。