解决方案 »

  1.   

    相关的系统表,-- 索引
    select * from sys.indexes-- schema
    select * from sys.schemas-- 作业
    select * from msdb.dbo.sysjobs
      

  2.   


    -- 查询所有索引及所在的表名
    select a.name 'TableName',
           b.name 'IndexName'
     from sys.tables a
     inner join sys.indexes b on a.[object_id]=b.[object_id]
     where b.index_id>0
     order by a.name
      

  3.   

    索引及主键信息 
    -- ========================================================================
    -- 索引及主键信息
    -- 邹建 2005.08(引用请保留此信息)
    -- ========================================================================
    SELECT 
        TableId=O.[object_id],
        TableName=O.Name,
        IndexId=ISNULL(KC.[object_id],IDX.index_id),
        IndexName=IDX.Name,
        IndexType=ISNULL(KC.type_desc,'Index'),
        Index_Column_id=IDXC.index_column_id,
        ColumnID=C.Column_id,
        ColumnName=C.Name,
        Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
            WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
        PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
        [UQIQUE]=CASE WHEN IDX.is_unique=1 THEN N'√'ELSE N'' END,
        Ignore_dup_key=CASE WHEN IDX.ignore_dup_key=1 THEN N'√'ELSE N'' END,
        Disabled=CASE WHEN IDX.is_disabled=1 THEN N'√'ELSE N'' END,
        Fill_factor=IDX.fill_factor,
        Padded=CASE WHEN IDX.is_padded=1 THEN N'√'ELSE N'' END
    FROM sys.indexes IDX
        INNER JOIN sys.index_columns IDXC
            ON IDX.[object_id]=IDXC.[object_id]
                AND IDX.index_id=IDXC.index_id
        LEFT JOIN sys.key_constraints KC
            ON IDX.[object_id]=KC.[parent_object_id]
                AND IDX.index_id=KC.unique_index_id
        INNER JOIN sys.objects O
            ON O.[object_id]=IDX.[object_id]
        INNER JOIN sys.columns C
            ON O.[object_id]=C.[object_id]
                AND O.type='U'
                AND O.is_ms_shipped=0
                AND IDXC.Column_id=C.Column_id
    --    INNER JOIN  -- 对于一个列包含多个索引的情况,只显示第1个索引信息
    --    (
    --        SELECT [object_id], Column_id, index_id=MIN(index_id)
    --        FROM sys.index_columns
    --        GROUP BY [object_id], Column_id
    --    ) IDXCUQ
    --        ON IDXC.[object_id]=IDXCUQ.[object_id]
    --            AND IDXC.Column_id=IDXCUQ.Column_id
      

  4.   

    JOB的没有去拼 应该也是差不多的
      

  5.   


    -- 1.表字段是否为自增列
    select a.name 'TableName',
           b.name 'IndexName',
           b.is_identity '是否为自增列'
     from sys.tables a
     inner join sys.columns b on a.object_id=b.object_id-- 2.用户自定义类型
    select * from sys.types where is_user_defined=1
      

  6.   

    1. select CASE WHEN is_identity=1 THEN '是自增列' ELSE '不是' END  from sys.columns WHERE name='xxx'
    2. select * from information_schema.domains 
      

  7.   

    JOB的信息到
    msdb下
    几个系统表查询
    msdb.dbo.sysjobs 
    msdb.dbo.sysjobschedules 
    msdb.dbo.sysjobhistory 
    msdb.dbo.sysjobservers
    msdb.dbo.sysjobsteps
    等等
      

  8.   


    这个得看:select * from sys.columns  视图