关于SQL Server分离和附加数据库时遇到的问题

时间:2021-08-12 00:37:16

当需要分离数据库(假设要分离的数据库名称为first_database),有时候会提示:无法分离 数据库 'first_databse',因为它当前正在使用。那么这时候就需要将在first_database里建立的查询全部关掉,然后选择其他的数据库(除了first_database,其他都可以)建立查询,之后输入 exec sp_detach_db first_databse   进行分离。

关于SQL Server分离和附加数据库时遇到的问题  -------------图1
如图1所示,关闭跟first_database有关的查询,然后在上图所示地方选择其他数据库,之后就可以顺利执行了。

因为first_database数据库正在使用,你怎么能把人家给分离,当然得把他斩草除根,然后再让别人干这事。

 

当需要附加数据库时,t-sql语句为:

exec sp_attach_db 'first_database',
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\first_database.mdf'

在第二昂的语句里的文件链接的地方至少要填写主文件,也可以在下面加上这个数据库里的所有文件包括日志文件:

'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\first_database_log.ldf'

但是比较麻烦,所以只要写上数据库主文件就可以了。

 

 数据库附加的时候至少要写上主文件(可以只写主文件,因为看起来可以更简洁)就可以了,何为主文件,可以再数据库属性的文件里查看,后缀为.mdf的为主文件,在创建数据库时的自动生成的数据文件就是主文件,之后再添加的虽然也是数据文件但不是主文件,它们的后缀为.ndf