| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- my sql
- SQL Server
- spring
- Java
- js
- mybatis
- dbeaver
- SQL
- STS
- TIP
- Mac
- maria db
- mysql
- devlog
- shorturl
- Eclipse
- 정보처리기사
- IntelliJ
- jquery
- Linux
- javascript
- Oracle
- Tomcat
- html
- windows
- programmers
- node.js
- reCAPTCHA
- svn
- urlshortner
Archives
- Today
- Total
고양의 성장일기
[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 |