在 SQL Server 中,系統(tǒng)表是存儲在系統(tǒng)數(shù)據(jù)庫(通常是 master
數(shù)據(jù)庫)中的表,它們包含了關(guān)于數(shù)據(jù)庫實例和系統(tǒng)信息的數(shù)據(jù)。查詢系統(tǒng)表可以幫助你了解數(shù)據(jù)庫的狀態(tài)、配置和運行時信息。
以下是一些常用的系統(tǒng)表及其用途:
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;
請注意,查詢系統(tǒng)表通常需要具有相應(yīng)的權(quán)限。如果你沒有足夠的權(quán)限,可能會遇到訪問被拒絕的錯誤。此外,某些系統(tǒng)表可能在特定的數(shù)據(jù)庫實例中存在,而不是在所有實例中都存在。