IT 성장일기
[SQL Server] SQL Server 서로 다른 데이터베이스의 테이블 구조 비교하기 본문
반응형
SQL Server 서로 다른 데이터베이스의 테이블 구조 비교
DB를 마이그레이션 할 때 데이터를 옮겨 담기에 앞서 서로 다른 DB의 테이블 구조나 데이터 타입을 비교하여 일치시켜야 할 필요가 있습니다.
조건은 아래와 같습니다.
- DB_A와 DB_B가 존재함
- 각각 동일한 테이블이 존재함 (DB_A.dbo.TBL, DB_B.dbo.TBL)
- 각 테이블 id를 알고 있음
DB_A와 DB_B의 같은 테이블의 컬럼 구조를 비교하기
SELECT
*
FROM
DB_A.dbo.syscolumns
WHERE
id='10101010'
EXCEPT
SELECT
*
FROM
DB_B.dbo.syscolumns
WHERE
id='01010101'
테이블, 컬럼, 데이터 타입과 데이터 길이제한 조회하기
SELECT
A.table_name AS TABLENAME,
A.column_name AS A_COLUMNNAME,
A.column_default,
A.data_type AS A_DATATYPE,
A.character_maximum_length AS A_MAXLENGTH,
B.column_name AS B_COLUMNNAME,
B.column_default,
B.data_type AS B_DATATYPE,
B.character_maximum_length AS B_MAXLENGTH
FROM
DB_A.information_schema.columns A
LEFT OUTER JOIN DB_B.information_schema.columns B
ON A.table_name = B.table_name
AND A.column_name = B.column_name
WHERE
1=1
AND B.column_name IS NULL
OR B.column_name = ''
OR A.column_default <> B.column_default
OR A.data_type <> B.data_type
ORDER BY
A.table_name,
A.column_name
도움이 되어드렸다면 구독 / 좋아요 부탁드립니다.👏🏻
감사합니다.🙂
반응형
'Database > SQL Server' 카테고리의 다른 글
[SQL Server] SQL Server 테이블 복사하기 (0) | 2023.09.12 |
---|---|
[SQL Server] SQL Server 컬럼으로 테이블 정보 조회하기 (0) | 2023.09.12 |
[SQL Server] SQL Server 서로 다른 데이터베이스의 함수, 프로시저 비교하기 (0) | 2023.09.12 |
[SQL Server] SQL Server 설치 에러 0x84BB0001 (0) | 2023.09.07 |
[SQL Server] SQL Server(setup.exe)를 설치할 수 없습니다. (0) | 2023.09.07 |