sql server 2000备份还原数据库

本文介绍如何使用 SQL Server 的存储过程进行数据库的备份和还原操作,包括创建备份设备、执行完整数据库备份及日志备份,并提供了分离数据库、还原数据库的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明出处:http://blog.youkuaiyun.com/neochan1108/article/details/79248017

备份:

-- Create the backup device for the full MyNwind backup.

EXEC sp_addumpdevice 'disk', 'MyNwind_2',
   'f:\neochan\MyNwind_2.dat'

--Create the log backup device.

EXEC sp_addumpdevice 'disk', 'MyNwindLog1',
   'f:\neochan\MyNwindLog1.dat'

-- Back up the full MyNwind database.
BACKUP DATABASE testDB TO MyNwind_2

-- Update activity has occurred since the full database backup.

-- Back up the log of the MyNwind database.
BACKUP LOG testDB TO MyNwindLog1

-- 清除设备
exec sp_dropdevice 'MyNwind_2'
exec sp_dropdevice 'MyNwindLog1'

还原:

-- 分离数据库
use master
exec killspid 'testDB'
EXEC sp_detach_db 'testDB', 'true'


-- 还原数据库
EXEC sp_addumpdevice 'disk', 'MyNwind_2',
   'f:\neochan\MyNwind_2.dat'

RESTORE DATABASE testDB FROM MyNwind_2 WITH REPLACE,NORECOVERY

EXEC sp_addumpdevice 'disk', 'MyNwindLog1',
   'f:\neochan\MyNwindLog1.dat'
RESTORE LOG testDB FROM MyNwindLog1 WITH REPLACE

exec sp_dropdevice 'MyNwind_2'
exec sp_dropdevice 'MyNwindLog1'

killspid的存储过程为(在master上):
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GO



ALTER    PROCEDURE 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
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值