DATABASE의 TABLE 및 COLUMN COMMENT 출력

joe 2015.09.10 15:12 Views : 7799

--임시테이블, 커서, 코멘트 조회 펑션 등을 이용

--전 데이터베이스 의 테이블, 컬럼 조회 구문을 작성했습니다.

--필요하신분 실행해보시고 코멘트주시면 감사하겠습니다.

 

 

/*****************************************************************************
AUTHOR      : <Joe>
CREATE DATE : <2015-09-10 14:00:01>
DESCRIPTION : <전체 DATABASE의 TABLE 및 COLUMN COMMENT 출력, MSSQL>            
 *****************************************************************************/
IF OBJECT_ID('tempdb..#DBS_TABLES_COLUMNS_COMMENTS') IS NOT NULL
DROP TABLE #DBS_TABLES_COLUMNS_COMMENTS

--임시테이블생성:
CREATE TABLE #DBS_TABLES_COLUMNS_COMMENTS
(
    [DATABASE]       VARCHAR(100) 
  , [TABLE]          VARCHAR(100) 
  , [TABLE_COMMENT]  VARCHAR(100)
  , [COLUMN]         VARCHAR(100)
  , [COLUMN_COMMENT] VARCHAR(100)
)

--변수선언: DB명
DECLARE @DB_NAME NVARCHAR(100);

--커서선언
DECLARE CURSORDBS CURSOR
    FOR SELECT NAME
          FROM SYS.DATABASES
         WHERE NAME NOT IN (
                             'UNNECESSARY DATABASE NAME(TO SELECT COMMENT)'
                            ,'MASTER'
                            ,'TEMPDB'
                            ,'MODEL'
                            ,'MSDB'

                            ) order by name;
--커서오픈
OPEN CURSORDBS;

FETCH NEXT FROM CURSORDBS INTO @DB_NAME;

--첫번째 데이터를 불러옴(FETCH)
WHILE(@@FETCH_STATUS <> -1)
BEGIN

--작업 수행      
DECLARE @sql NVARCHAR(MAX);

SET @sql =
' INSERT INTO #DBS_TABLES_COLUMNS_COMMENTS                                                      '+
' SELECT '''+@DB_NAME+'''                                                              '+
'      , AA.TABLE_NAME                                                                 '+
'      , (SELECT CONVERT(VARCHAR,VALUE) FROM '+@DB_NAME+'.SYS.'+'FN_LISTEXTENDEDPROPERTY (NULL, '+'''SCHEMA'''+', '+'''DBO'''+', '+'''TABLE'''+', '+'AA.TABLE_NAME'+', DEFAULT, DEFAULT))'+
'      , BB.COLUMN_NAME                                                 '+
'      , (SELECT CONVERT(VARCHAR,VALUE) FROM '+@DB_NAME+'.SYS.'+'FN_LISTEXTENDEDPROPERTY (NULL, '+'''SCHEMA'''+', '+'''DBO'''+', '+'''TABLE'''+', '+'AA.TABLE_NAME'+', ''COLUMN'', BB.COLUMN_NAME))'+
'   FROM '+@DB_NAME+'.INFORMATION_SCHEMA.TABLES  AA INNER JOIN                   '+
'        '+@DB_NAME+'.INFORMATION_SCHEMA.COLUMNS BB ON AA.TABLE_NAME = BB.TABLE_NAME   '+
'  WHERE TABLE_TYPE= ''BASE TABLE''                                        '+
'  ORDER BY AA.TABLE_NAME                                                '+
'         , BB.ORDINAL_POSITION                                           '
;  

EXEC(@sql);

    --다음 결과 데이터로 이동    
    FETCH NEXT FROM CURSORDBS INTO @DB_NAME;
END
--커서를 닫고 메모리 반환
CLOSE CURSORDBS;
DEALLOCATE CURSORDBS;
SELECT * FROM #DBS_TABLES_COLUMNS_COMMENTS; 

IF OBJECT_ID('tempdb..#DBS_TABLES_COLUMNS_COMMENTS') IS NOT NULL
DROP TABLE #DBS_TABLES_COLUMNS_COMMENTS

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 2196
1666 Event Session을 이용한 Memory Health check jevida(강성욱) 2016.01.11 6967
1665 Event Session을 이용한 CPU Health check jevida(강성욱) 2016.01.11 8471
1664 DMV를 이용한 I/O Health check jevida(강성욱) 2016.01.11 7363
1663 CONCAT 함수 (문자열 연결하기)와 주의 사항 jevida(강성욱) 2016.01.11 28104
1662 SQL Server 2012 Columnstore Index jevida(강성욱) 2016.01.11 7579
1661 SQL Server 2012 File Stream / Table 관련 DMV jevida(강성욱) 2016.01.11 4888
1660 SQL Server2012 DMV – 메모리 덤프, 서비스, 구성 확인 jevida(강성욱) 2016.01.11 4821
1659 SQL Server2012 향상된 디버깅 기능 jevida(강성욱) 2016.01.11 4412
1658 SQL Server2012 매개 변수 구성 jevida(강성욱) 2016.01.11 3516
1657 SQL Server2012 도움말 설치 jevida(강성욱) 2016.01.11 3484
1656 SQL Server2012 Checkpoint 제어 jevida(강성욱) 2016.01.11 5359
1655 SSIS 패지키의 메타데이터 유효성 검사 중지하기 jevida(강성욱) 2016.01.11 2987
1654 SSIS 로그 보관기간 설정 (CleanUp 기간 설정) jevida(강성욱) 2016.01.11 4347
1653 SSIS 패키지 보호 레벨 jevida(강성욱) 2016.01.11 3913
» DATABASE의 TABLE 및 COLUMN COMMENT 출력 joe 2015.09.10 7799
1651 백업 히스토리 모니터링 jevida(강성욱) 2015.03.31 11652
1650 백업 전략과 Differential Database Backup jevida(강성욱) 2015.03.31 11245
1649 SQL ServerPoint in time recovery jevida(강성욱) 2015.03.31 9072
1648 Striping SQL Server Database Backup jevida(강성욱) 2015.03.31 8708
1647 SQL 서버 감사가 있는 데이터베이스 복원 후 설정 jevida(강성욱) 2015.03.31 11930





XE Login