(sqlserver)如何还原一个数据库,有几种方式?

(sqlserver)如何还原一个数据库,有几种方式?,第1张

您好!数据库的还原 *** 作主要有以下几种:

一、使用SQK的企业管理器来进行图形化的还原(打开管理器在还原的数据库上右击{任务}—还原;然后在d出的对话框中:选择要还原源文件和要还原目标的)

二、使用SQL代码还原:RESTORE DATABASE 数据库名 FROM DISK= 'F:\my.bak ' WITH REPLACE。

三、做一个作业代理:在步骤哪里加入以上代码;可以实现定时自动还原。

四、使用附加的方式;这个需要有二个文件(日志和数据文件)

五、使用其它软件进行还原。

说明:还原可以从低版本到高版本;反之则出错。

在master下建立杀进程的存储过程

create proc killspid (@dbname varchar(20))

as

begin

declare @sql nvarchar(500),@temp varchar(1000)

declare @spid int

set @sql='declare getspid cursor for

select spid from sysprocesses where dbid=db_id('''+@dbname+''')'

exec (@sql)

open getspid

fetch next from getspid into @spid

while @@fetch_status<>-1

begin

set @temp='kill '+rtrim(@spid)

exec(@temp)

fetch next from getspid into @spid

end

close getspid

deallocate getspid

end

在数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行

代码是先:

USE master

exec killspid '数据库名'

再:

restore database 数据库名 from disk='c:=\test.bak' with REPLACE


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6687471.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存