все таблицы, где строки не равны нулю из базы данных - PullRequest
2 голосов
/ 14 февраля 2011

В SQL Server 2008 мне нужны все таблицы, число строк которых не равно NULL Может ли кто-нибудь помочь?

Ответы [ 3 ]

2 голосов
/ 14 февраля 2011

Очень быстрый и грязный способ:

В SSMS щелкните правой кнопкой мыши базу данных, выберите Отчеты-> Стандартные отчеты -> Использование диска по основным таблицам

2 голосов
/ 14 февраля 2011

Другой способ - использовать недокументированную процедуру sp_MSForEachTable

Create Table ##TempRowCount
(
TableName nvarchar(max),
NumberOfRows int
)
Exec sp_msforeachTable 'Insert Into ##TempRowCount select ''?'', count(*) From ?'

Select * From ##TempRowcount
Where NumberOfRows > 0

Drop Table ##TempRowCount

Это может занять некоторое время, в зависимости от размера базы данных и таблиц.

2 голосов
/ 14 февраля 2011

Быстрый и грязный способ (включает эффекты незафиксированных транзакций)

SELECT OBJECT_NAME(p.object_id), SUM(rows)
FROM sys.partitions p 
WHERE index_id < 2 and OBJECTPROPERTYEX (object_id ,'IsUserTable' ) = 1
GROUP BY p.object_id
HAVING SUM(rows) > 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...