欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

数据库备份操作

程序员文章站 2022-06-07 09:15:34
...

--备份 BACKUP DATABASE [JD_Business] TO DISK = N'E:\数据库备份\testbackupNEW.bak' WITH NOFORMAT, NOINIT, NAME = N'testbackup-完整数据库备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO --终止进程语句方法 use master declare @dbname varchar(20)

--备份
BACKUP DATABASE [JD_Business] TO DISK = N'E:\数据库备份\testbackupNEW.bak' WITH NOFORMAT, NOINIT, NAME = N'testbackup-完整数据库备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO


--终止进程语句方法
use master
declare @dbname varchar(20)
set @dbname='JD_Business' ---这是数据库名称
declare @sql nvarchar(500)
declare @spid int--SPID 值是当用户进行连接时指派给该连接的一个唯一的整数
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--如果FETCH 语句没有执行失败或此行不在结果集中。
begin
exec('kill '+@spid)--终止正常连接
fetch next from getspid into @spid
end
close getspid
deallocate getspid


--终止进程语句方法
declare @d varchar(8000)
set @d=''
select @d=@d+' kill '+cast(spid as varchar)+char(13)
from master..sysprocesses where dbid=db_id('JD_Business')
exec(@d)


--还原
RESTORE DATABASE [JD_Business] FROM DISK = N'E:\数据库备份\testbackupNEW.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10
GO