sqlserver运维总结(备份还原)

  • 发布于2021-12-17
  • 46 人围观


一、数据库的还原

  右键“数据库”,选择还原,而不是选择具体的数据库名称。


还原数据库时提示正在使用


一、单用户模式设置:

右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问(MULTI_USER 默认) -> 选择Single-> 确定


USE MASTER
GO
ALTER DATABASE 库名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;  --单用户模式
GO
ALTER DATABASE 库名 SET MULTI_USER WITH ROLLBACK IMMEDIATE; --多用户模式
GO


二、命令行断开所有连接进程

--杀死正在使用该数据库的所有进程
declare @dbname varchar(50)
set @dbname='数据库名'
declare @sql varchar(50)
declare cs_result cursor local for select 'kill '+cast(spid as varchar(50)) from sys.sysprocesses where db_name(dbid)=@dbname
open cs_result
fetch next from cs_result into @sql
while @@fetch_status=0
begin
    execute(@sql)
    fetch next from cs_result into @sql
end
close cs_result
deallocate cs_result


三、

将当前需要还原的数据进行OFFLINE,还原后,再将该数据库ONLINE。

脚本如下,先运行第一脚本,还原成功后,运行第二脚本。


1)ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE

2)ALTER DATABASE [datebase] SET ONLINE WITH ROLLBACK IMMEDIATE


标签:
关键词: