执行sql语句还原数据库时报 “因为数据库正在使用,所以无法获得对数据库的独占访问权”
加上这两句就解决了:
ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE --sql还原语句 ALTER database [ datebase] set online
如下:
Declare @strDataBaseName varchar(50) Declare @FileFlag varchar(50) --定义备份的数据库名称 Set @strDataBaseName='数据库名' Set @FileFlag='d:db_backup'+@strDataBaseName + '_db_' + replace(convert(char(20),getdate(),112),' ','')+'.bak' --加上这句防止数据库正在使用导致执行不成功 ALTER DATABASE [数据库名] SET OFFLINE WITH ROLLBACK IMMEDIATE restore database [数据库名] from disk=@FileFlag with file=1, REPLACE, recovery ALTER database [数据库名] set online