读书人

SQL查询想查询服务器上的所有数据库

发布时间: 2012-04-23 13:17:38 作者: rapoo

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 @str=@str+' 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

读书人网 >SQL Server

热点推荐