
因为你在用啊。那数据库有个特性。就是在用的时候无法复制。
方法一:
分离后在复制
方法二:
在运行里面输入net stop mssql$db2005,运行后就可以复制了。那db2005是装数据库的时候设置的服务名。你要是设成的别的。可以修改后在运行
一般是由日志引起的。因为你在第一次附加的时候可能关联了日志,
这需要你清理一下,在SQL Server Management Studio 清理掉数据库,
然后重新附加。你可以不用日志。然后系统默认创建一个!
一般这问题在开发中很常见,所以基本使用指令创建的方式。而不是附加。
CREATE DATABASE XXXX
ON (FILENAME = 'C:\XXXXmdf'),
(FILENAME = 'C:\XXXXldf')
FOR ATTACH;
我清库使用如下指令:
declare @DbName varchar(30) set @DbName='XXX';
declare @ClmH varchar(Max);
select @ClmH = coalesce(@ClmH+CH,CH)
from
(
select 'kill '+cast(spid as varchar(6))+';' as CH from sysprocesses a
join sysdatabases b on adbid=bdbid
where bdbid=db_id(@DbName)
) A
exec(@ClmH);
drop database @DbName
go
以上就是关于为什么sqlserver服务器在运行时就无法复制它里面的数据库文件怎么解决呢全部的内容,包括:为什么sqlserver服务器在运行时就无法复制它里面的数据库文件怎么解决呢、在sql2008中,附加数据库时,当附加优盘中的文件可以,但是将文件复制到电脑上时,就出错,什么情况、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)