SQL 2005
求一查询语句

解决方案 »

  1.   


    USE [你的数据库]
    GOselect 表名=name
    from sysobjects
    where xtype= 'U' and status> =0
    一个库一个库看吧!结果集有了就说明这个库有这个表。
      

  2.   

    select db_name(dbid) from master.dbo.sysprocesses 
    where spid =  @@spid
      

  3.   

    sp_help "tablename"一个一个的找吧
      

  4.   


    --得到某个数据库的所有表
    declare @tablename varchar(2000)
    set @tablename='tablea' --你要找的表名
    select 'select '''+name+''' from '+name+'..sysobjects where xtype= ''U'' and name='''
    +@tablename+'''' from sysdatabases--results to text
    --然后把结果粘出来,运行一下
      

  5.   

    --显示某数据库的所有表和字段
    SELECT CONVERT(varchar(20), a.id) + '_' + CONVERT(varchar(20), a.colid) AS FID, 
          a.id AS FTableID, b.name AS FTableName, a.colid AS FColID, a.name AS FColName, 
          c.[value] AS FColDesc, a.xtype AS FTypeID, d.name AS FTypeDesc, 
          a.length AS FLength
    FROM dbo.syscolumns a INNER JOIN
          dbo.sysobjects b ON b.id = a.id AND b.xtype = 'U' AND 
          b.status > 0 LEFT OUTER JOIN
          dbo.sysproperties c ON c.id = a.id AND c.smallid = a.colid AND 
          c.type = 4 LEFT OUTER JOIN
          dbo.systypes d ON d.xtype = a.xtype
      

  6.   

    5楼的方法好像还是不行
    按你所操作的执行过,得不到想要的结果
    问题的提示是这样的:
    由于SQL SERVER通过执行的存储过程得到某些查询占用过多时间(就是说可能占用CPU资源过高)的语句,
    语句里得到了表名,想通过这个表名反查到数据库名,以便定位到可能是哪个数据库?可能这个方法有点笨,但是想不出其它的办法如果如查具体是哪个数据库占用过多的资源,导致SQL SERVER 占用CPU资源过高
      

  7.   

    如果是这样,建议分别了解不同db的CPU占用情况。仅举例:
    http://blog.csdn.net/claro/article/details/6627976