亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

sql:SQL Server metadata queries

2024-08-31 00:54:28
字體:
來源:轉載
供稿:網友
sql:SQL Server metadata queries

http://www.mssqltips.com/sqlservertip/3449/making-sql-server-metadata-queries-easier-with-these-new-views

http://www.sql-server-helper.com/functions/metadata-functions/index.aspx

http://sqlmag.com/t-sql/partitioned-indexes-and-querying-metadata

--查詢表結構,函數,觸發器,存儲過程,視圖的結構,主鍵,外鍵等關系--https://msdn.microsoft.com/en-us/library/ms187812.aspxselect * from LibrarySystem.information_schema.tablesselect TABLE_CATALOG, TABLE_SCHEMA,TABLE_NAME, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH from LibrarySystem.information_schema.columns where table_name = 'StaffList' select * from LibrarySystem.information_schema.columns where table_name = 'StaffList'select * from information_schema.columnsselect * from information_schema.CHECK_CONSTRAINTSselect * from information_schema.COLUMN_DOMAIN_USAGEselect * from information_schema.COLUMN_PRIVILEGESselect * from information_schema.CONSTRAINT_COLUMN_USAGEselect * from information_schema.CONSTRAINT_TABLE_USAGEselect * from information_schema.DOMAIN_CONSTRAINTSselect * from information_schema.DOMAINSselect * from information_schema.KEY_COLUMN_USAGEselect * from information_schema.PARAMETErsselect * from information_schema.REFERENTIAL_CONSTRAINTSselect * from information_schema.ROUTINESselect * from information_schema.ROUTINE_COLUMNSselect * from information_schema.SCHEMATAselect * from information_schema.TABLE_CONSTRAINTSselect * from information_schema.TABLE_PRIVILEGESselect * from information_schema.VIEW_COLUMN_USAGEselect * from information_schema.TABLESselect * from information_schema.VIEW_COLUMN_USAGEselect * from information_schema.VIEW_TABLE_USAGEselect * from information_schema.VIEWS--Metadata queriesSELECT SCHEMA_NAME();GO--SQL SERVER 2005 metadata queries--For User Tablesselect * from sys.objectswhere Type = 'U'--For Viewsselect * from sys.objectswhere Type = 'V'--For Stored Proceduresselect * from sys.objectswhere Type = 'P'--For Triggersselect * from sys.objectswhere Type = 'TR'--For Functionsselect * from sys.objectswhere Type = 'FN'--select * from sys.databasesselect * from sys.tablesselect * from sys.viewsselect * from sys.triggersselect * from sys.schemasselect * from sys.procedures--for SQL 2000:SELECT * -- User tablesFROM sysobjectsWHERE objectproperty( id, N'IsMSShipped' ) = 0  AND objectproperty( id, N'IsTable' ) = 1SELECT * -- Stored ProcsFROM sysobjectsWHERE objectproperty( id, N'IsMSShipped' ) = 0  AND objectproperty( id, N'IsProcedure' ) = 1SELECT * -- FunctionsFROM sysobjectsWHERE objectproperty( id, N'IsMSShipped' ) = 0  AND ( objectproperty( id, N'IsTableFunction' ) = 1     OR objectproperty( id, N'IsScalarFunction' ) = 1 )SELECT * -- ViewsFROM sysobjectsWHERE objectproperty( id, N'IsMSShipped' ) = 0  AND objectproperty( id, N'IsView' ) = 1--In SQL Server 2005 SELECT * -- User tablesFROM sys.objectsWHERE objectproperty( object_id, N'IsMSShipped' ) = 0  AND objectproperty( object_id, N'IsTable' ) = 1SELECT * -- Stored ProcsFROM sys.objectsWHERE objectproperty( object_id, N'IsMSShipped' ) = 0  AND objectproperty( object_id, N'IsProcedure' ) = 1SELECT * -- FunctionsFROM sys.objectsWHERE objectproperty( object_id, N'IsMSShipped' ) = 0  AND ( objectproperty( object_id, N'IsTableFunction' ) = 1     OR objectproperty( object_id, N'IsScalarFunction' ) = 1 )SELECT * -- ViewsFROM sys.objectsWHERE objectproperty( object_id, N'IsMSShipped' ) = 0  AND objectproperty( object_id, N'IsView' ) = 1--  SELECT     [object_id],    inbound_count = COUNT(CASE t WHEN 'I' THEN 1 END),    outbound_count = COUNT(CASE t WHEN 'O' THEN 1 END)  FROM  (    SELECT [object_id] = referenced_object_id, t = 'I'    FROM sys.foreign_keys    UNION ALL    SELECT [object_id] = parent_object_id, t = 'O'    FROM sys.foreign_keys  ) AS c  GROUP BY [object_id];

  

--http://www.mssqltips.com/sqlservertip/3449/making-sql-server-metadata-queries-easier-with-these-new-views--http://www.sqlteam.com/article/using-metadataCREATE VIEW metadata.tablesAS  SELECT     t.[object_id],     [schema] = QUOTENAME(s.name),    [table] = QUOTENAME(t.name),    [object] = QUOTENAME(s.name) + N'.' + QUOTENAME(t.name)  FROM sys.tables AS t  INNER JOIN sys.schemas AS s   ON t.[schema_id] = s.[schema_id];--Number of rows and size of the SQL Server tableCREATE FUNCTION metadata.tvf_spaceused(  @object_id INT)RETURNS TABLEAS  RETURN   (    SELECT      [rows],      reserved_kb = r,      data_kb = p,      index_size_kb = CASE WHEN u > p THEN u - p ELSE 0 END,      unused_kb = CASE WHEN r > u THEN r - u ELSE 0 END    FROM     (      SELECT         r = (SUM (p1.reserved_page_count) + COALESCE(MAX(it.r),0)) * 8,        u = (SUM (p1.used_page_count) + COALESCE(MAX(it.u),0)) * 8,        p = (SUM (CASE WHEN p1.index_id >= 2 THEN 0 ELSE          (p1.in_row_data_page_count + p1.lob_used_page_count + p1.row_overflow_used_page_count)        END) * 8),        [rows] = SUM (CASE WHEN p1.index_id IN (0,1)           THEN p1.row_count ELSE 0 END)      FROM sys.dm_db_partition_stats AS p1      LEFT OUTER JOIN      (        SELECT it.parent_id,          r = SUM(p2.reserved_page_count),          u = SUM(p2.used_page_count)        FROM sys.internal_tables AS it        INNER JOIN sys.dm_db_partition_stats AS p2        ON it.[object_id] = p2.[object_id]        WHERE it.parent_id = @object_id        AND it.internal_type IN (202,204,207,211,212,213,214,215,216,221,222,236)        GROUP BY it.parent_id      ) AS it      ON p1.[object_id] = it.parent_id      WHERE p1.[object_id] = @object_id    ) AS x);GO--SELECT  -- basic metadata  t.[object_id],   t.[schema],  t.[table],  t.[object],  -- mimic spaceused  su.[rows],   su.reserved_kb,  su.data_kb,  su.index_size_kb,  su.unused_kbFROM metadata.tables AS tCROSS APPLY metadata.tvf_spaceused(t.[object_id]) AS suORDER BY t.[object];--Last SQL Server table accessedCREATE VIEW metadata.table_accessAS  SELECT     [object_id],    last_read = MAX(last_read),    last_write = MAX(last_write)  FROM  (    SELECT [object_id],       last_read = (SELECT MAX(d) FROM (VALUES        (last_user_seek),(last_user_scan),(last_user_lookup))         AS reads(d)),      last_write = (SELECT MAX(d) FROM (VALUES        (last_user_update))         AS writes(d))    FROM sys.dm_db_index_usage_stats  ) AS x GROUP BY [object_id];--All kinds of data about SQL Server columnsCREATE VIEW metadata.columnsAS  SELECT     c.[object_id],    column_count = COUNT(c.column_id),    column_list = STUFF((SELECT N',' + QUOTENAME(name)      FROM sys.columns AS c2      WHERE c2.[object_id] = c.[object_id]      ORDER BY c2.column_id      FOR xml PATH, TYPE).value(N'.[1]',N'nvarchar(max)'),1,1,N''),    has_identity_column = COUNT(NULLIF(c.is_identity,0)),    computed_column_count = COUNT(NULLIF(c.is_computed,0)),    persisted_computed_column_count = COUNT(NULLIF(cc.is_persisted,0)),    LOB_column_count = COUNT    (      CASE         WHEN c.system_type_id IN (34,35,99,241) THEN 1        WHEN c.system_type_id IN (165,167,231) AND c.max_length = -1 THEN 1      END    ),    XML_column_count = COUNT(CASE WHEN c.system_type_id = 241 THEN 1 END),    spatial_column_count = COUNT(CASE WHEN c.user_type_id IN (129,130) THEN 1 END),    hierarchyid_column_count = COUNT(CASE WHEN c.user_type_id = 128 THEN 1 END),    rowversion_column_count = COUNT(CASE WHEN c.system_type_id = 189 THEN 1 END),    GUID_column_count = COUNT(CASE WHEN c.system_type_id = 36 THEN 1 END),    deprecated_column_count = COUNT(CASE WHEN c.system_type_id IN (34,35,99) THEN 1 END),    alias_type_count = COUNT(NULLIF(t.is_user_defined,0))  FROM sys.columns AS c  INNER JOIN sys.types AS t  ON c.system_type_id = t.system_type_id  LEFT OUTER JOIN sys.computed_columns AS cc  ON c.[object_id] = cc.[object_id]  AND c.column_id = cc.column_id  GROUP BY c.[object_id];--All kinds of data about SQL Server indexesCREATE VIEW metadata.indexesAS  SELECT     i.[object_id],    i.has_clustered_index,    i.has_primary_key,    i.unique_index_count,    i.filtered_index_count,    p.nonclustered_index_count,    p.xml_index_count,    p.spatial_index_count  FROM  (    SELECT [object_id],      has_clustered_index = MIN
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情亚洲激情| 日日骚久久av| 国产香蕉精品视频一区二区三区| 国产精品欧美激情在线播放| 尤物99国产成人精品视频| 欧美大成色www永久网站婷| 欧美日韩亚洲网| 91国内揄拍国内精品对白| 欧美福利在线观看| 国产精品高精视频免费| 欧美日韩一区二区三区在线免费观看| 国产成人在线一区| 4438全国亚洲精品在线观看视频| 中文国产亚洲喷潮| 97国产成人精品视频| 成人福利网站在线观看11| 超碰91人人草人人干| 色悠悠国产精品| 亚洲四色影视在线观看| 久久综合久久美利坚合众国| 91高清视频在线免费观看| 国产亚洲精品高潮| 亚洲电影免费观看| 性日韩欧美在线视频| 神马国产精品影院av| 2019中文字幕在线观看| 亚洲美女免费精品视频在线观看| 国产91精品视频在线观看| 亚洲色无码播放| 高清欧美性猛交xxxx黑人猛交| 亚洲摸下面视频| 日韩亚洲欧美中文高清在线| 亚洲欧洲美洲在线综合| 在线国产精品播放| 亚洲精品videossex少妇| 久久成人av网站| 91欧美日韩一区| 亚洲欧美日韩精品久久| 久久中文字幕一区| 国产精品嫩草视频| 91色p视频在线| 久久精品美女视频网站| 久久91精品国产91久久久| 2019中文字幕在线观看| 91超碰caoporn97人人| 久久久久久久久久久成人| 日本欧美爱爱爱| 精品福利在线视频| 精品二区三区线观看| 久久久久久久久久久免费| 亚洲国产精品99久久| 日韩在线欧美在线国产在线| 国产精品一区二区三区毛片淫片| 美女黄色丝袜一区| 国产亚洲免费的视频看| 日韩电影免费观看中文字幕| 久青草国产97香蕉在线视频| 亚洲精品一区二区在线| 午夜精品久久久久久久男人的天堂| 最近2019中文字幕大全第二页| 日韩电影免费在线观看中文字幕| 91系列在线观看| 成人一区二区电影| 国产精品久久久亚洲| 欧美在线视频一二三| 51视频国产精品一区二区| 欧美成人精品不卡视频在线观看| 午夜精品理论片| 精品成人av一区| 精品日韩视频在线观看| 国产精品免费福利| 在线观看日韩视频| 日韩国产高清污视频在线观看| 亚洲一区二区三区四区在线播放| 亚洲最大的av网站| 日韩激情av在线播放| 国产日韩av在线| 日韩精品亚洲视频| 亚洲精品网站在线播放gif| 日韩欧美国产免费播放| 一区二区三区黄色| 欧美成人午夜视频| 亚洲专区中文字幕| 久久久精品一区二区| 久久精品国产电影| 欧美一级在线播放| 日韩一区二区精品视频| 亚洲一区二区三区香蕉| 一本色道久久综合狠狠躁篇的优点| 国产精品尤物福利片在线观看| 国内精品久久久久久中文字幕| 国产精品美女免费| 成人乱人伦精品视频在线观看| 欧美影院在线播放| 啪一啪鲁一鲁2019在线视频| 亚洲欧洲av一区二区| 国产精品视频在线观看| 国产精品免费视频久久久| 久久久欧美精品| 91久久精品国产91久久| 2019国产精品自在线拍国产不卡| 91久久精品日日躁夜夜躁国产| 亚洲一区第一页| 亚洲视频国产视频| 国产日韩精品在线观看| 亚洲字幕一区二区| 欧美老女人xx| 美女黄色丝袜一区| 欧美日韩视频在线| 91久久国产精品91久久性色| 热久久这里只有精品| 91免费的视频在线播放| 激情久久av一区av二区av三区| 久久久久久久国产精品视频| 国产在线播放不卡| 国语自产精品视频在线看抢先版图片| 裸体女人亚洲精品一区| 欧美成人一区二区三区电影| 久久久精品在线观看| 国产日韩欧美在线视频观看| 日本三级韩国三级久久| 欧美一性一乱一交一视频| 丝袜亚洲欧美日韩综合| 欧美日韩国产在线看| 美女av一区二区| 亚洲色图18p| 欧美成人全部免费| 在线观看中文字幕亚洲| 日韩精品在线免费观看视频| 欧美日韩激情美女| 日韩免费看的电影电视剧大全| 久久久精品久久久久| 亚洲欧美日韩另类| 亚洲男人天堂2024| 欧美激情一区二区三区久久久| 日韩中文字幕在线免费观看| 精品久久久在线观看| 91av免费观看91av精品在线| 成人免费大片黄在线播放| 欧美最顶级的aⅴ艳星| 亚洲最新av网址| 欧美三级xxx| 国产精品亚洲美女av网站| 亚洲香蕉成人av网站在线观看| 欧美成人国产va精品日本一级| 亚洲精品日韩激情在线电影| 欧美性猛交xxxx免费看| 欧美性xxxxxxx| 欧美午夜精品伦理| 92裸体在线视频网站| 久久久久久久国产精品视频| 亚洲欧美日韩区| 超碰97人人做人人爱少妇| 一区二区在线免费视频| 日韩av中文字幕在线免费观看| 亚洲人永久免费| 深夜福利一区二区| 海角国产乱辈乱精品视频| 亚洲最大av在线| 日韩国产激情在线| 国产成人精彩在线视频九色| 久久久www成人免费精品| 91手机视频在线观看| 国产精品一区二区三区免费视频|