日期:2014-05-17  浏览次数:20613 次

sql server 2008如何获取数据库的详细信息
sql server 2008如何获取数据库的详细信息?
根据DB名称,
获取数据库当前用户名,密码(sa这样的默认用户不需要列出)
数据库初始大小(size)
最大尺寸(maxsize)
物理文件路径(filename)
数据库日志文件初始大小(size)
日志文件最大尺寸(maxsize)
日志物理文件路径(filename)
日志模式
是否脱机


------解决方案--------------------
sp_helpdb
------解决方案--------------------
报告有关指定数据库或所有数据库的信息。

 Transact-SQL 语法约定

语法
 
sp_helpdb [ [ @dbname= ] 'name' ]
 

参数
[ @dbname= ] 'name'
要报告其信息的数据库的名称。name 的数据类型为 sysname,没有默认值。如果未指定 name,则 sp_helpdb 将报告 sys.databases 目录视图中所有数据库的信息。

返回代码值
0(成功)或 1(失败)

结果集
列名 数据类型 说明
name 
 sysname 
 数据库名称。
 
db_size 
 nvarchar(13) 
 数据库总计大小。
 
owner 
 sysname 
 数据库所有者,例如 sa。
 
dbid 
 smallint 
 数据库 ID。
 
created 
 nvarchar(11) 
 数据库创建的日期。
 
status 
 nvarchar(600) 
 以逗号分隔的值列表,这些值是当前在数据库上设置的数据库选项的值。

只有启用布尔值选项时,才将这些选项列出。非布尔选项及其对应值以 option_name=value 的形式列出。

有关详细信息,请参阅 ALTER DATABASE (Transact-SQL)。
 
compatibility_level 
 tinyint 
 数据库兼容级别:60、65、70、80 或 90。
 

如果指定 name,便会有显示指定数据库的文件分配的其他结果集。

列名 数据类型 说明
name 
 nchar(128) 
 逻辑文件名。
 
fileid 
 smallint 
 文件 ID。
 
filename 
 nchar(260) 
 操作系统文件名(物理文件名称)。
 
filegroup 
 nvarchar(128) 
 文件所属的文件组。

NULL = 文件为日志文件。它决不是文件组的一部分。
 
size 
 nvarchar(18) 
 文件大小 (MB)。
 
maxsize 
 nvarchar(18) 
 文件大小可达到的最大值。此字段中的 UNLIMITED 值表示文件可以一直增长到磁盘变满为止。
 
growth 
 nvarchar(18) 
 文件的增量。表示每次需要新的空间时给文件增加的空间大小。
 
usage 
 varchar(9) 
 文件用法。对于数据文件,该值为 'data only',对于日志文件,该值为 'log only'。
 

注释
结果集中的 status 列报告数据库中已设置为 ON 的选项。并非所有的数据库选项都由 status 列报告。若要查看当前数据库选项设置的完整列表,请使用 sys.databases 目录视图。

权限
当指定单个数据库时,需要具有数据库中的 public 角色成员身份。当没有指定数据库时,需要具有 master 数据库中的 public 角色成员身份。

如果无法访问数据库,那么 sp_helpdb 将显示错误消息 15622 和有关数据库的尽可能多的信息。

示例
A. 返回有关单个数据库的信息
以下示例显示有关 AdventureWorks2008R2 数据库的信息。

 复制代码 
EXEC sp_helpdb N'AdventureWorks2008R2';

 

B. 返回有关所有数据库的信息
以下示例显示有关运行 SQL Server 的服务器上所有数据库的信息。

 复制代码 
EXEC sp_helpdb;
GO

 

------解决方案--------------------
探讨

引用:

sp_helpdb


你好,我是用下面的语句创建了一个用户到test数据库下,为什么sp_helpdb test;语句返回的owner这一列没有返回cx这个用户,而是返回的:YV-265D CB\Administrator 这个系统自带用户呢?
怎样才能返回cx这个用户,并返回密码:111

sp_addlogin 'cx','111'
……


------解决方案--------------------
楼主说的那些信息,要从多个系统视图中获取.
比如,你想知道数据库文件的详细信息,用
select * from sys.database_files