MS-SQL / SQL Server
두 테이블의 데이터 차이 비교 - TableDiff Utility
SQL Server 에서 두 테이블의 데이터 차이점을 비교해 볼 수 있을까요?
네, TableDiff 유틸리티를 사용하여 차이점을 비교해 볼 수 있습니다. TableDiff 도구를 사용하는 방법에 대해서 아래와 같이 예제를 만들어 봤습니다.
-- A, B 2개의 테이블을 생성하여 데이터를 입력합니다.
USE LAIGO
GO
CREATE TABLE A
(
MEMBER_ID int IDENTITY(1,1) NOT NULL,
MEMBER_NAME nvarchar(10) NOT NULL,
MEMBER_POINT int NOT NULL -- 포인트
)
INSERT INTO A VALUES ('라이고',30000)
INSERT INTO A VALUES ('정지훈',10000)
INSERT INTO A VALUES ('박지성',5000)
INSERT INTO A VALUES ('장동건',2000)
INSERT INTO A VALUES ('이병헌',9000)
INSERT INTO A VALUES ('김태희',4000)
INSERT INTO A VALUES ('고현정',8000)
CREATE TABLE B
(
MEMBER_ID int IDENTITY(1,1) NOT NULL,
MEMBER_NAME nvarchar(10) NOT NULL,
MEMBER_POINT int NOT NULL
)
-- 2건의 데이터를 A 테이블과 다르게 입력하였습니다.
INSERT INTO B VALUES ('라이고',3000) -- 30000
INSERT INTO B VALUES ('정지훈',10000)
INSERT INTO B VALUES ('박지성',5000)
INSERT INTO B VALUES ('장동건',20000)-- 2000
INSERT INTO B VALUES ('이병헌',9000)
INSERT INTO B VALUES ('김태희',4000)
INSERT INTO B VALUES ('고현정',8000)
[TableDiff 사용방법]
A, B 테이블의 차이점을 d:\temp\diff.sql 파일로 Export 하는 명령 구문
C:\Program Files\Microsoft SQL Server\90\COM>TableDiff -sourceserver laigo-pc -sourcedatabase laigo -sourcetable A -sourceuser sa -sourcepassword Pa$$w0rd -destinationserver . -destinationdatabase laigo -destinationtable B -destinationuser sa -destinationpassword Pa$$w0rd -f d:\temp\diff.sql
[TableDiff 결과]
diff.sql 파일을 열어보면 아래와 같이 쿼리가 생성되어 있습니다.
SET IDENTITY_INSERT [dbo].[b] ON
UPDATE [dbo].[b] SET [MEMBER_POINT]=30000 WHERE [MEMBER_ID] = 1
UPDATE [dbo].[b] SET [MEMBER_POINT]=2000 WHERE [MEMBER_ID] = 4
SET IDENTITY_INSERT [dbo].[b] OFF
[참고자료]
tablediff Utility
http://msdn.microsoft.com/en-us/library/ms162843.aspx
'DB by INNO > TIP' 카테고리의 다른 글
[SQL Server] 프로시저 생성일/수정일 확인하기 (0) | 2010.02.03 |
---|---|
트랜잭션 백업시 BACKUP LOG is terminating abnormally 에러는? (0) | 2010.01.29 |
[SQL Server] DBCC 명령어 - 데이터베이스, 테이블, 인덱스, 카탈로그, 파일그룹 관리 요약 (0) | 2010.01.26 |
[SQL Server] 테이블목록,필드정보 가져오는 프로시저생성 (0) | 2010.01.24 |
[SQL Server] Windows 데이터 정렬 스타일 (0) | 2010.01.17 |
[SQL Server] 데이터베이스 파일크기 확인하기 (0) | 2010.01.15 |
[SQL Server] Temp DB 저장위치 변경 (0) | 2010.01.14 |
Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics. Enable these options and then reissue your query. (0) | 2010.01.13 |
[SQL Server] 해외 IP 접속에 대한 개발 건 - GeoIP (0) | 2010.01.03 |