SQL Server tablosu oluşturma tarihi sorgusu


92

Bir SQL sorgusu kullanarak bir MS SQL tablosunun tablo oluşturma tarihini nasıl alabilirim?
Fiziksel olarak herhangi bir tablo göremedim ama o tabloyu sorgulayabiliyorum.

Yanıtlar:


141

2005 ve üstü için kullanabilirsiniz

SELECT
        [name]
       ,create_date
       ,modify_date
FROM
        sys.tables

2000 yılı için denetimi etkinleştirmeniz gerektiğini düşünüyorum.


31

SQL Server 2005'ten itibaren:

SELECT [name] AS [TableName], [create_date] AS [CreatedDate] FROM sys.tables

SQL Server 2000'den itibaren:

SELECT so.[name] AS [TableName], so.[crdate] AS [CreatedDate]
FROM INFORMATION_SCHEMA.TABLES AS it, sysobjects AS so 
WHERE it.[TABLE_NAME] = so.[name]

15
SELECT create_date
FROM sys.tables
WHERE name='YourTableName'

7

Şema da istiyorsanız:

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

5

SQL Server 2000 için:

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

0

Tablo adlarını ve bunların şema adını kolayca seçmek için, üzerinde bir birleştirme yapabiliriz sys.tablesve sys.schemas:

SELECT
    t.name AS table_name,
    s.name AS schema_name,
    t.create_date,
    t.modify_date
FROM
    sys.tables t
JOIN
    sys.schemas s
    on t.schema_id = s.schema_id;

Belirli bir şemaya göre filtrelemek istiyorsanız, şunu kullanın:

SELECT
    t.name AS table_name,
    s.name AS schema_name,
    t.create_date,
    t.modify_date
FROM
    sys.tables t
JOIN
    sys.schemas s
    on t.schema_id = s.schema_id
WHERE
    s.name = 'schemaname';
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.