有没有一种方法可以计算链接服务器上多个表中的行

时间:2019-06-20 09:18:00

标签: sql sql-server tsql

我有一个数据库,该数据库从链接服务器中提取数据,现在我想计算数据库中所有表中的行,并将其与链接服务器上的数据库进行比较。

因此,我编写了代码以对数据库中的行进行计数,如果结果相同或行不同,我可以将一张表进行比较。

Foo f = foo // <-- Assigning the in-memory variable 'foo' to my new variable 'f'

使用上面的代码,我在数据库中的所有表均获得3列,分别包含schemaName,TableName和TotalRowCount,但我希望在链接服务器上的同一数据库和相同表中获得具有TotalRowCount的4列。因此,它看起来像“ SchemaName”,“ TableName”,“ MyDBRowcount”,“ LinkedServerRowCount”。      看看今天的样子:

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

我希望它看起来像这样:

dbo,pigs,15
dbo,cows,20

0 个答案:

没有答案