如题:
大概这样的格式
数据库名称   表数量
dome1          100
dome2          200

解决方案 »

  1.   


    --查看所有数据库:
    select  name from sys.databases
    --查看当前数据库的所有表的名字
    select name from sysobjects where xtype='U' and category=0  
      

  2.   

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

  3.   


    --查看当前数据库的所有表
    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)a
    print @str
    exec(@str)
    --本机测试结果
    databasename count
    master 124
    databasename count
    tempdb 6
    databasename count
    model 0
    databasename count
    msdb 17
      

  4.   

    select count(name) tablenum from ysbi.dbo.sysobjects where type ='U' 这个是查库里所有的表的。
    select d.name from master.dbo.sysdatabases d,master.dbo.ESP_INIT_LOG l where d.name = l.DATABASE_NAME  这个是查服务器所有的表的,怎么把这两个sql合成一个呢。
      

  5.   

    select 
    d.name ,a.tablenum
    from master.dbo.sysdatabases d,
    master.dbo.ESP_INIT_LOG l , 
    (select count(name) tablenum from ysbi.dbo.sysobjects  AS a where type ='U' )  AS a
    where d.name = l.DATABASE_NAME 
      

  6.   


    查出来的效果 是这样的。
    bkysbase 58
    carbase 58
    jlyszzx 58
    master 58
    xjysbase 58
    ysbase1 58
    ysbase2 58
    ysbi 58
    Wang 58
    carbase 58
    master 58
    cwbase80 58
    cwbase3 58
    mydb 58
    ysbi 58
      

  7.   

    sp_msforeachdb 'print ''?'' exec(''select ''''?'''',count(*) as [表数] from ?.sys.objects where type=''''U'''''')'