• If you're trying to generate a dynamic SQL command to return rowcounts for every table, this would work.
    DECLARE @sql NVARCHAR(MAX) = STUFF((
            SELECT CONCAT(' UNION ALL SELECT TableName = ''', TableName, ''', [RowCount] = COUNT(*) FROM ', TableName)
            FROM (
                SELECT TableName = CONCAT(QUOTENAME(s.name), '.', QUOTENAME(t.name))
                FROM sys.tables t
                INNER JOIN sys.schemas s on t.schema_id=s.schema_id
            ) TableList
            ORDER BY TableName
            FOR XML PATH(''), TYPE
        ).value('.','nvarchar(max)'), 1, 11, '');

    EXEC (@sql);
    Another way to do this without dynamic SQL is to get the table rowcounts from sys.partitions.
    SELECT TableName = CONCAT(OBJECT_SCHEMA_NAME(object_id), '.', OBJECT_NAME(object_id)), [RowCount] = SUM(rows)
    FROM sys.partitions
    WHERE index_id < 2 AND object_id IN (SELECT object_id FROM sys.tables)
    GROUP BY OBJECT_ID
    ORDER BY TableName