2011-04-11 3 views
2

동일한 테이블을 공유하고 몇 개의 테이블이 다른 두 개의 다른 데이터베이스가 있습니다. 데이터베이스에있는 테이블 이름 들간의 차이점을 출력 할 수있는 방법이 있습니까?하나의 데이터베이스 테이블을 다른 테이블과 비교하기

MS SQL Server를 사용하고 있으며 두 테이블이 동일한 DB 서버에 있습니다.

답변

2

DBComparer 과 같은 데이터베이스 비교 도구를 사용할 수 있습니다. 무료이며 잘 작동합니다.

2

테이블 이름의 차이점을 알고 싶습니까? 이것을 위해 sys.tables에 외부 조인을 할 수 있습니다.

;WITH A 
    AS (SELECT * 
     FROM msdb.sys.tables 
     WHERE type = 'U'), 
    B 
    AS (SELECT * 
     FROM master.sys.tables 
     WHERE type = 'U') 
SELECT COALESCE(A.name, B.name) AS Name, 
     CASE 
     WHEN A.name IS NULL THEN 'A' 
     ELSE 'B' 
     END      AS DB 
FROM A 
     FULL OUTER JOIN B 
     ON A.name = B.name 
WHERE (B.name IS NULL 
      OR A.name IS NULL) 
ORDER BY DB, 
      Name 
+0

여기서 비교할 2 개의 데이터베이스를 지정합니까? – monksy

+0

이 예제에서는'msdb'와'master' 테이블을 비교하고 있습니다. –

관련 문제