none
MS SQL에서 DATA_PURITY 확인 RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “MS  SQL에서 DATA_PURITY 확인에 대한 답변을 드리겠습니다.

     

    Step 1 : 임시 테이블 생성

     

    두 개의 임시테이블을 생성합니다.

    CREATE TABLE #TempTable1 (

          ParentObject VARCHAR(255),

          [Object] VARCHAR(255),

          Field VARCHAR(255),

          [Value] VARCHAR(255)

    )

     

    CREATE TABLE #TempTable2 (

         DatabaseName VARCHAR(255),

         ParentObject VARCHAR(255),

         [Object] VARCHAR(255),

         Field VARCHAR(255),

         [Value] VARCHAR(255)

    )

     

    Step 2 : DB정보 임시 테이블에 저장

     

    Sp_MSforeachdb 프로시저를 이용해서 각 DB 정보를 임시 테이블에 저장 합니다.

    exec sp_MSforeachdb 'INSERT INTO #TempTable1 EXECUTE (''DBCC DBINFO WITH TABLERESULTS'');INSERT INTO #TempTable2 SELECT ''?'', * FROM #TempTable1;DELETE FROM #TempTable1'

     

    Step 3 : DB DATA_PURITY확인

     

    #DBCC2

     

    SELECT *

    FROM #TempTable2

    WHERE Field = 'dbi_DBCCFlags' AND

          Value = 0 AND

          DatabaseName NOT IN ('master','model')

     

    Step 4 : Result

     

     

     

     

    Step 5 : Full Script

     

    CREATE TABLE #TempTable1 (

          ParentObject VARCHAR(255),

          [Object] VARCHAR(255),

          Field VARCHAR(255),

          [Value] VARCHAR(255)

    )

     

    CREATE TABLE #TempTable2 (

         DatabaseName VARCHAR(255),

         ParentObject VARCHAR(255),

         [Object] VARCHAR(255),

         Field VARCHAR(255),

         [Value] VARCHAR(255)

    )

     

    exec sp_MSforeachdb 'INSERT INTO #TempTable1 EXECUTE (''DBCC DBINFO WITH TABLERESULTS'');INSERT INTO #TempTable2 SELECT ''?'', * FROM #TempTable1;DELETE FROM #TempTable1'

     

    SELECT * FROM #TempTable2 WHERE Field = 'dbi_DBCCFlags' AND Value = 0 AND DatabaseName NOT IN ('master','model')

    DROP TABLE #TempTable1

    DROP TABLE #TempTable2

    GO

     

    참고 자료

     

    DBCC CHECKDB (Transact-SQL)

    http://msdn.microsoft.com/en-us/library/ms176064.aspx

     

    DBCC TRACEON (Transact-SQL)

    http://msdn.microsoft.com/en-us/library/ms187329.aspx

     

    CREATE TABLE (Transact-SQL)

    http://msdn.microsoft.com/en-us/library/ms174979.aspx

     

    INSERT (Transact-SQL)

    http://msdn.microsoft.com/en-us/library/ms174335.aspx

     

    DELETE (Transact-SQL)

    http://msdn.microsoft.com/en-us/library/ms189835.aspx

     

    DROP TABLE (Transact-SQL)

    http://msdn.microsoft.com/en-us/library/ms173790.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

     

    • 답변으로 표시됨 김도남 2011년 9월 30일 금요일 오전 4:13
    2011년 9월 27일 화요일 오전 7:56
    중재자