如何从链接服务器和本地服务器获取多个表的数量

Muh*_*mis 2 sql-server

如何从链接服务器获取多个表的记录计数。

我有两台名为生产和本地的服务器。我需要编写查询来获得这张图片中提到的结果。

在此处输入图片说明

我试过

SELECT 'TableA' AS Tables, COUNT(*) AS 'QA' FROM [Database].[schema].[tablename]
UNION
SELECT 'TableB' AS Tables, COUNT(*) AS 'QA' FROM [Database].[schema].[tablename]
Run Code Online (Sandbox Code Playgroud)

如何显示链接服务器的记录数?

Han*_*non 6

使用四部分命名,如下所示:

SELECT 'TableA' AS Tables
    , COUNT(*) AS 'LinkedServer' FROM [Linked-Server-Name].[Database].[schema].[tablename]
UNION
SELECT 'TableB' AS Tables
    , COUNT(*) AS 'LocalServer' FROM [Database].[schema].[tablename]
Run Code Online (Sandbox Code Playgroud)

假设您的链接服务器名为Production,您可以使用:

SELECT Tables = 'TableA'
    , Production = (SELECT COUNT(*) FROM [Production].[Database].[schema].[tableA])
    , Local = (SELECT COUNT(*) AS FROM [Database].[schema].[tableA])

UNION
    , Tables = 'TableB'
    , Production = (SELECT COUNT(*) FROM [Production].[Database].[schema].[tableB])
    , Local = (SELECT COUNT(*) FROM [Database].[schema].[tableB])
Run Code Online (Sandbox Code Playgroud)