2015-01-22 2 views
0

Привет У меня есть две таблицы в каждой базе данных.Сравнение таблицы базы данных SQL Значения без столбцов внешнего ключа

Имя базы данных: Database1
Имя таблицы: Сотрудник

И

Имя базы данных: database2
Имя таблицы: Сотрудник

В Database1 У меня есть таблица сотрудников, как

EmpSno EmployeeID EmployeeName DeptID DeptName 

1   1   A    1  Technical 
2   2   B    2  NonTechnical 
3   3   C    3  Administration 

и

В database2 У меня есть таблица сотрудников, как

EmpSno EmployeeID EmployeeName DeptID DeptName 

1   4   A    4  Technical 
2   5   B    5  NonTechnical 
3   6   C    6  Administration 

В приведенных выше двух таблицах мы имеем одни и те же данные, но столбец EmployeeID, DeptId отличается, потому что он имеет различный Id как для столбца в их мастер-таблица (EmployeeMaseter, DeptMaster).

Фактически нет никакой разницы между таблицами. Есть ли инструмент сравнения базы данных, который может достичь этого. Он не должен показывать, существует ли разница между двумя таблицами.

Примечание: Использование SQL Server 2012

Спасибо заранее.

ответ

0

Можете ли вы сделать это вручную и просто игнорировать столбцы идентификации?

Создайте запрос на основе только полей Name и используйте Except (дважды), чтобы найти различия.

Например:

ВЫБОР EmployeeName, DEPTNAME ОТ Database1.dbo.TableSomething КРОМЕ SELECT, EmployeeName, DEPTNAME ИЗ Database2.dbo.TableSomething

, а также (с союзом между ними):

ВЫБОР EmployeeName, DEPTNAME ОТ Database2.dbo.TableSomething КРОМЕ SELECT, EmployeeName, DEPTNAME ОТ Database1.dbo.TableSomething

Это даст вам все различия.

+0

Мне нужно это для всех таблиц под обеими базами данных. Базы данных содержат более 10000 таблиц. Поэтому мне нужен инструмент для его реализации. –

Смежные вопросы