日期:2014-05-18  浏览次数:20523 次

请问如何用代码分离数据库?
一共有两个问题请大家帮助小弟。

1、我有个 数据库名叫 foxdata ,想通过代码分离这个数据库,要怎么写呢?


2、我想做的是一个帐套功能,如何得到数据库中所有的库名(系统数据库除外)?

谢谢大家指点。

------解决方案--------------------
1.我有个 数据库名叫 foxdata ,想通过代码分离这个数据库,要怎么写呢?
SQL code
sp_detach_db
从服务器分离数据库,并可以选择在分离前在所有的表上运行 UPDATE STATISTICS。

语法
sp_detach_db [ @dbname = ] 'dbname'
    [ , [ @skipchecks = ] 'skipchecks' ]

参数
[@dbname =] 'dbname'

要分离的数据库名称。dbname 的数据类型为 sysname,默认值为 NULL。 

[@skipchecks =] 'skipchecks'

skipchecks 的数据类型为 nvarchar(10),默认值为 NULL。如果为 true,则跳过 UPDATE STATISTICS。如果为 false,则运行 UPDATE STATISTICS。对于要移动到只读媒体上的数据库,此选项很有用。

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

结果集
无

注释
使用 sp_attach_db 或 sp_attach_single_file_db 保留并重新附加分离文件。文件也可以移动并附加到其它服务器上。

权限
只有 sysadmin 固定服务器角色的成员才能执行 sp_detach_db。 

示例
下面的示例分离 pubs 数据库,并将 skipchecks 设为 true。

EXEC sp_detach_db 'pubs', 'true'

------解决方案--------------------
2、我想做的是一个帐套功能,如何得到数据库中所有的库名(系统数据库除外)?



SQL code

--sql 2000
select * from sysdatabases


---2005查看数据库信息
select * from sys.databases

exec sp_helpdb

------解决方案--------------------
sp_detach_db