当前位置: 代码迷 >> Sql Server >> SQL查询,想查询服务器上的所有数据库,然后数据库对应表的数量。该怎么处理
  详细解决方案

SQL查询,想查询服务器上的所有数据库,然后数据库对应表的数量。该怎么处理

热度:25   发布时间:2016-04-27 13:14:10.0
SQL查询,想查询服务器上的所有数据库,然后数据库对应表的数量。
如题:
大概这样的格式
数据库名称 表数量
dome1 100
dome2 200

------解决方案--------------------
SQL code
--查看所有数据库:select  name from sys.databases--查看当前数据库的所有表的名字select name from sysobjects where xtype='U' and category=0
------解决方案--------------------
SQL code
DECLARE @T TABLE(DBName sysname,TabCount int)INSERT @T EXEC sp_msforeachdb 'select ''?'',count(*)  FROM ?.sys.tables WHERE type=''U'''SELECT * FROM @T
------解决方案--------------------
SQL code
--查看当前数据库的所有表declare @str varchar(max)set @str=''select @[email protected]+' use '+name+' select '+quotename(name,'''')+' as databasename,COUNT(name) as [count] from sysobjects where xtype=''U'' and category=0'from (select  name from sys.databases)aprint @strexec(@str)--本机测试结果databasename    countmaster    124databasename    counttempdb    6databasename    countmodel    0databasename    countmsdb    17
------解决方案--------------------
顶
探讨
SQL code

DECLARE @T TABLE(DBName sysname,TabCount int)
INSERT @T EXEC sp_msforeachdb 'select ''?'',count(*) FROM ?.sys.tables WHERE type=''U'''

SELECT * FROM @T
  相关解决方案