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'