现在的位置: 首页 > 综合 > 正文

SQL Server 2005中附加、分离数据库T-SQL

2014年07月29日 ⁄ 综合 ⁄ 共 758字 ⁄ 字号 评论关闭

use master

go


--------在master数据库中的databases视图中,查看要附加的数据库是否存在,如果存在,那么删除数据库

if exists (select name from sys.databases where name = N'数据库名')

drop database 数据库名

go


--------用已存在的数据库的数据文件和日志文件,通过附加的方式(attach),创建数据库

create   database   数据库名  on
( filename = N'c:\数据库名.mdf'),
( filename = N'c:\数据库名_log.ldf')

for attach

go


-------如果数据库的拥有者Sid号与当前登录用户的Sid号一致,那么修改数据库的拥有者为:登录名为‘sa’的用户

if exists(select name from sys.databases where name =N'数据库名' and 
                                                                            suser_name(owner_sid) = suser_name() )
   exec     数据库名.dbo.
sp_changedbowner    @loginame = N'sa' ,  @map = false

go

另外还可以通过系统存储过程来实现附加数据库和分离数据库:

----附加数据库、附加单一物理文件、分离数据库

sp_attach_db                        'pubs',   @filename1='c:\pubs.mdf'  , @filename2 = 'c:\pubs.ldf'

sp_attach_single_file_db       'pubs',  @physname='c:\pubs.mdf'

sp_detach_db                        'pubs'

抱歉!评论已关闭.