最最主要的问题是,现在杀死连接是一定的了因为 exec pro_killpro restore database gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100906160001.bak' with norecovery,replace restore database gprs0719 with recovery 这样能够成功, 现在问题出现在 我将这两条恢愎的语句写到了文件里 在查询分析器里执行下面的语句报错 exec p_killspid 'gprs0719' exec master..xp_cmdshell 'osql -S XUHUI\GPRS -U sa -P 123 -i e:\recover.sql'
通常是 use master go alter database gprs set single_user with rollback immediate go
楼上,我执行了 Use Master Alter Database gprs0719 SET SINGLE_USER With ROLLBACK IMMEDIATE --exec pro_restore --exec p_killspid 'gprs0719' --exec pro_killpro exec master..xp_cmdshell 'osql -S XUHUI\GPRS -U sa -P 123 -i e:\recover.sql'Use master; Go Alter Database gprs0719 SET MULTI_USER Go错误是:无法打开用户默认数据库。登录失败。 NULL
设置数据库为单用户模式,无须kill sql process。
然后,我必需要说的是,我是怎么把这个问题解决的 1、数据库排他问题,用exec p_killspid 'gprs0719' 没有错,也可以用6楼的use master go alter database gprs set single_user with rollback immediate go 但这些个语句,不能分步在外边执行,要都写到 exec master..xp_cmdshell 'osql -S XUHUI\GPRS -U sa -P 123 -i e:\recover.sql' 这个recover.sql文件里,文件里的内容是这样: use master exec pro_killpro restore database gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100907140001.bak' with norecovery,replace restore log gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100907140100.trn' with norecovery restore log gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100907143000.trn' with norecovery restore database gprs0719 with recovery 这样做成做业,就没有问题了,在查询分析器里也没有问题,都不报错。 再有朋友遇到这个问题,就可以不用东找西找了,哈哈哈~~~
exec pro_killpro
restore database gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100906160001.bak' with norecovery,replace
restore database gprs0719 with recovery
这样能够成功,
现在问题出现在
我将这两条恢愎的语句写到了文件里
在查询分析器里执行下面的语句报错
exec p_killspid 'gprs0719'
exec master..xp_cmdshell 'osql -S XUHUI\GPRS -U sa -P 123 -i e:\recover.sql'
use master
go
alter database gprs set single_user with rollback immediate
go
Use Master Alter Database gprs0719 SET SINGLE_USER With ROLLBACK IMMEDIATE --exec pro_restore
--exec p_killspid 'gprs0719'
--exec pro_killpro
exec master..xp_cmdshell 'osql -S XUHUI\GPRS -U sa -P 123 -i e:\recover.sql'Use master;
Go Alter Database gprs0719 SET MULTI_USER Go错误是:无法打开用户默认数据库。登录失败。
NULL
1、数据库排他问题,用exec p_killspid 'gprs0719'
没有错,也可以用6楼的use master
go
alter database gprs set single_user with rollback immediate
go
但这些个语句,不能分步在外边执行,要都写到
exec master..xp_cmdshell 'osql -S XUHUI\GPRS -U sa -P 123 -i e:\recover.sql'
这个recover.sql文件里,文件里的内容是这样:
use master exec pro_killpro
restore database gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100907140001.bak' with norecovery,replace
restore log gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100907140100.trn' with norecovery
restore log gprs0719 from disk='E:\测试采集\gprs0719\gprs071920100907143000.trn' with norecovery
restore database gprs0719 with recovery 这样做成做业,就没有问题了,在查询分析器里也没有问题,都不报错。
再有朋友遇到这个问题,就可以不用东找西找了,哈哈哈~~~