如何在 SQL 脚本的 JSON 输出中从数据库中获取所有 table 计数

How to get all table counts from database in JSON output in TSQL script

我想要一个 TSQL 脚本来将所有 table 计数从 SQL 服务器数据库输出到 JSON 文件。获得 table 计数不是问题,但将其输出到 JSON 才是问题所在。我无法让它工作。

这就是我必须得到的 table 计数:

USE databasename
GO

SELECT
      QUOTENAME(SCHEMA_NAME(sOBJ.schema_id)) + '.' + QUOTENAME(sOBJ.name) AS [TableName]
      , SUM(sPTN.Rows) AS [RowCount]
FROM 
      sys.objects AS sOBJ
      INNER JOIN sys.partitions AS sPTN
            ON sOBJ.object_id = sPTN.object_id
WHERE
      sOBJ.type = 'U'
      AND sOBJ.is_ms_shipped = 0x0
      AND index_id < 2 -- 0:Heap, 1:Clustered
GROUP BY 
      sOBJ.schema_id
      , sOBJ.name
ORDER BY [TableName]

GO

如何将结果输出到JSON?

要将简单的结果集转换为 Json,请将 for json auto 添加到语句的末尾,例如,

...GROUP BY 
      sOBJ.schema_id
      , sOBJ.name
ORDER BY [TableName]
FOR JSON AUTO

看到这个example DB<>Fiddle