У меня есть база данных, которая получает свои данные со связанного сервера, и теперь я хочу подсчитать строки во всех моих таблицах в моей базе данных и сравнить их с базой данных на связанном сервере.
Итак, я написал код для подсчета строк из моей базы данных и могу сравнить одну таблицу с se, если у меня одинаковый результат или строки отличаются.
select count (*)
From 'MyTable'
union
select count (*)
From 'LinkedServer+Table'
SELECT SCHEMA_NAME(schema_id) AS [SchemaName],
[Tables].name AS [TableName],
SUM([Partitions].[rows]) AS [TotalRowCount]
FROM sys.tables AS [Tables]
JOIN sys.partitions AS [Partitions]
ON [Tables].[object_id] = [Partitions].[object_id]
AND [Partitions].index_id IN ( 0, 1 )
-- WHERE [Tables].name = N'name of the table'
Where SCHEMA_NAME(schema_id) = 'dbo'
GROUP BY SCHEMA_NAME(schema_id), [Tables].name
С кодом вышея получаю 3 столбца с schemaName, TableName и TotalRowCount для всех моих таблиц в моей базе данных, но я хотел бы 4 столбца с TotalRowCount для той же базы данных и тех же таблиц на моем связанном сервере.Таким образом, это выглядит как 'SchemaName' 'TableName' 'MyDBRowcount' 'LinkedServerRowCount.Exempel о том, как это выглядит сегодня:
dbo,pigs,15
dbo,cows,20
И мне бы хотелось, чтобы это выглядело так:
dbo,pigs,15,15
dbo,cows,20,14