Мне нужно запросить все базы данных, таблицы, столбцы и количество строк для каждой таблицы с сервера.
Следующий код почти делает то, что мне нужно, но только для одной базы данных. Мне нужен этот вывод с добавлением столбца для имени базы данных. И для того, чтобы он работал со всеми базами данных, а не с одной именованной Также необходимо количество записей для каждой таблицы
USE [temp_db];
SELECT
OBJECT_SCHEMA_NAME(T.[object_id],DB_ID()) AS [Schema],
T.[name] AS [table_name], AC.[name] AS [column_name],
TY.[name] AS system_data_type, AC.[max_length],
AC.[precision], AC.[scale], AC.[is_nullable], AC.[is_ansi_padded]
FROM
sys.[tables] AS T
INNER JOIN
sys.[all_columns] AC ON T.[object_id] = AC.[object_id]
INNER JOIN
sys.[types] TY ON AC.[system_type_id] = TY.[system_type_id]
AND AC.[user_type_id] = TY.[user_type_id]
WHERE
T.[is_ms_shipped] = 0
ORDER BY
T.[name], AC.[column_id]
Токовый выход:
Schema|table_name|column_name|system_data_type|max_length|precision|scale|is_nullable|is_ansi_padded
Мне нужен вывод:
db_name|table_name|column_name|system_data_type|num_records