[MS-SQL] 두 데이터베이스의 테이블 및 컬럼 비교하는 쿼리

DataBase/MS-SQL|2017. 9. 7. 15:04
반응형

 

MS-SQL 두 데이터베이스 

테이블 및 컬럼 비교 하는 쿼리

 

A 와 B 두 데이터베이스의 테이블 및 컬럼속성(데이터 타입 , 길이)를 비교하는 쿼리 입니다.

두 데이터 베이스간의 데이터 동기화를 위해 비교하기 위해 사용.

 

그때 그때 코딩하거나 찾아보기 귀찮기 때문에

블로그에 포스팅 해둠!

 

select A.table_name,
       A.column_name,
       A.column_default,
       A.data_type,
       A.character_maximum_length,
       B.column_name,
       B.column_default,
       B.data_type,
       B.character_maximum_length
  from information_schema.columns A
       left outer join 디비명.information_schema.columns B
                    on A.table_name = B.table_name
                       and A.column_name = B.column_name
 where ( B.column_name is null
          or B.column_name = ''
          or A.column_default <> B.column_default
          or A.data_type <> B.data_type ) -- and (A.table_name like '%테이블 이름%' or A.table_name = '테이블 이름') 
          order by A.table_name, A.column_name

댓글()