SQL Server表创建日期查询

87 sql t-sql sql-server sql-server-2005

如何使用SQL查询获取MS SQL表的表创建日期?
我在物理上看不到任何表,但我可以查询该特定表.

Gal*_*ian 129

对于2005年,您可以使用

SELECT
        [name]
       ,create_date
       ,modify_date
FROM
        sys.tables
Run Code Online (Sandbox Code Playgroud)

我认为在2000年,你需要启用审计.


adr*_*nks 29

对于SQL Server 2005以上版本:

SELECT [name] AS [TableName], [create_date] AS [CreatedDate] FROM sys.tables
Run Code Online (Sandbox Code Playgroud)

对于SQL Server 2000以上版本:

SELECT so.[name] AS [TableName], so.[crdate] AS [CreatedDate]
FROM INFORMATION_SCHEMA.TABLES AS it, sysobjects AS so 
WHERE it.[TABLE_NAME] = so.[name]
Run Code Online (Sandbox Code Playgroud)


Ada*_*Dev 14

SELECT create_date
FROM sys.tables
WHERE name='YourTableName'
Run Code Online (Sandbox Code Playgroud)


jad*_*dki 7

如果您还需要架构:

SELECT CONCAT(ic.TABLE_SCHEMA, '.', st.name) as TableName
   ,st.create_date
   ,st.modify_date

FROM sys.tables st

JOIN INFORMATION_SCHEMA.COLUMNS ic ON ic.TABLE_NAME = st.name

GROUP BY ic.TABLE_SCHEMA, st.name, st.create_date, st.modify_date

ORDER BY st.create_date
Run Code Online (Sandbox Code Playgroud)

  • 我可以添加建议吗?我认为 JOIN 也应该在 ic.TABLE_SCHEMA = schema_name(st.schema_id) 上,否则,如果您有名称相同但架构不同的表,则会出现重复! (2认同)

小智 5

对于 SQL Server 2000:

SELECT   su.name,so.name,so.crdate,* 
FROM     sysobjects so JOIN sysusers su
ON       so.uid = su.uid
WHERE    xtype='U'
ORDER BY so.name
Run Code Online (Sandbox Code Playgroud)