如题

解决方案 »

  1.   

    select * from sysdatabases
      

  2.   

    sp_databases
    是个存储过程,直接放在查询分析器执行,就得到你要的结果
    也可以当做一个Sql语句执行
    exec sp_databases1楼的意思是直接从系统表中查出来,这些库在系统表中都有一条对应记录,都可以查询的。
      

  3.   

    使用系统存储过程很方便:sp_helpdb
    报告有关指定数据库或所有数据库的信息。语法
    sp_helpdb [ [ @dbname= ] 'name' ]参数
    [@dbname=] 'name'是要为其提供信息的数据库名称。name 的数据类型为 sysname,无默认值。如果没有指定 name,则 sp_helpdb 报告 master.dbo.sysdatabases 中的所有数据库。返回代码值
    0(成功)或 1(失败)结果集
    列名 数据类型 描述 
    name nvarchar(24) 数据库名称。 
    db_size nvarchar(13) 数据库总计大小。 
    owner nvarchar(24) 数据库所有者(例如 sa)。 
    dbid smallint 数字数据库 ID。 
    created char(11) 数据库创建的日期。 
    status varchar(340) 以逗号分隔的值的列表,这些值是当前在数据库上设置的数据库选项的值。 
    只有启用布尔值选项时,才将这些选项列出。非布尔值选项及其对应值以 option_name=value 的形式列出。有关更多信息,请参见 ALTER DATABASE。
     
    compatibility_level tinyint 数据库兼容级别(60、65、70 和 80) 
    如果指定 name,那么将有其它结果集,这些结果集显示指定数据库的文件分配。列名 数据类型 描述 
    name nchar(128) 逻辑文件名。 
    fileid smallint 数字文件标识符。 
    file name nchar(260) 操作系统文件名(物理文件名称)。 
    filegroup nvarchar(128) 文件所属的组。为便于分配和管理,可以将数据库文件分成文件组。日志文件不能作为文件组的一部分。 
    size nvarchar(18) 文件大小。 
    maxsize nvarchar(18) 文件可达到的最大值。此字段中的 UNLIMITED 值表示文件可以一直增大直到磁盘满为止。 
    growth nvarchar(18) 文件的增量。表示每次需要新的空间时给文件增加的空间大小。 
    usage varchar(9) 文件用法。数据文件的用法是 data only(仅数据),而日志文件的用法是 log only(仅日志)。 
    注释
    结果集中的 status 列报告在 sysdatabases 的 status 列中打开了哪些位。不报告 sysdatabases 中 status2 列的信息。权限
    执行权限默认授予 public 角色。sp_helpdb 必须访问服务器上的数据库以确定要显示的有关数据库的信息。因此,服务器上的每个数据库都必须满足下列条件之一: 执行 sp_helpdb 的用户必须拥有访问数据库的权限。
    guest 用户帐户必须存在于数据库中。 
    如果无法访问数据库,那么 sp_helpdb 将显示错误信息 15622 和有关数据库的尽可能多的信息。示例
    A. 返回有关单个数据库的信息
    下面的示例显示有关 pubs 数据库的信息。exec sp_helpdb pubsB. 返回有关所有数据库的信息
    下面的示例显示有关运行 Microsoft® SQL Server™ 的服务器上的所有数据库的信息。exec sp_helpdb
      

  4.   

    多谢各位兄弟,你们说的方法我试了,都对.我还是想问可不可通过sql server 的API实现的呀?
      

  5.   

    使用 SQLDMO_TLB 
    功能更強大。 可以列舉出局域網裡面的所有SQL服務器名稱,獲得某服務器的狀態(啟動/停止),
    獲得某服務器的所有數據庫/試圖/存儲過程。等等