我有一个数据库,该数据库从链接服务器中提取数据,现在我想计算数据库中所有表中的行,并将其与链接服务器上的数据库进行比较。
因此,我编写了代码以对数据库中的行进行计数,如果结果相同或行不同,我可以将一张表进行比较。
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