原文:SQL远程恢复

-- =============================================
-- Author: dcrenl
-- Create date: 2013-9-5 14:08:35
-- Description: WEB服务器远程恢复数据库,远程恢复和远程备份的思路是一样的。
--不过恢复的时候有个释放连接的问题,所以多加了一个释放连接的存储过程。
--本来可以整合到一个里面但是考虑到其它地方也会用到释放连接所以把它单独拿出来了。
-- =============================================
ALTER PROCEDURE [dbo].[RemoteRestore]
@DataDisk nvarchar(max),--需要在数据库服务器上映射的盘符
@WEBAddr nvarchar(max),--WEB服务器地址
@WEBDisk nvarchar(max),--WEB服务器共享目录(例如:D$ 或 C$\Windows)
@Password nvarchar(max),--WEB服务器密码
@UserName nvarchar(max),--WEB服务器用户名
@DataName nvarchar(max),--需要恢复的数据库名
@BackName nvarchar(max)--需要恢复的数据库名
AS
BEGIN
SET NOCOUNT ON;
 
--打开高级设置
exec sp_configure 'show advanced options',1
reconfigure
--开启xp_cmdshell
exec sp_configure 'xp_cmdshell',1
reconfigure
--将WEB服务器路径映射到数据库服务器
exec ('master..xp_cmdshell ''net use ' + @DataDisk + ': \\' +
@WEBAddr + '\' + @WEBDisk + ' "' + @Password + '" /user:' +
@WEBAddr + '\' + @UserName + '''')
--开始备份并复制到WEB服务器的映射路径
declare  @DataBaseName varchar(50)
set @DataBaseName = 'KF_Reg_' + @BackName
exec p_killspid @DataBaseName
exec ('RESTORE DATABASE [' + @DataName + '] FROM DISK =
N'''+@DataDisk+':\' +@BackName+'.bak'' WITH REPLACE')
--关闭映射路径
exec ('master..xp_cmdshell ''net use ' + @DataDisk + ':
/delete''')
--关闭xp_cmdshell
exec sp_configure 'xp_cmdshell',0
reconfigure
--关闭高级设置
exec sp_configure 'show advanced options',0
reconfigure
END
 
 
-------------------------------------------------------------------------------------------------
 
 
--断开所有用户连接的存储过和
ALTER proc [dbo].[p_killspid] (@dbname varchar(100))
  
as   
begin   
declare @sql nvarchar(500)
  
declare @spid int   
set @sql='declare getspid cursor for  
 
select spid from master.sys.sysprocesses where
dbid=db_id('''+@dbname+''')'
  
exec (@sql)   
open getspid   
fetch next from getspid into @spid
  
while @@fetch_status<>-1
  
begin   
exec('kill '+@spid)   
fetch next from getspid into @spid
  
end   
close getspid   
deallocate getspid   
end   
 

SQL远程恢复的更多相关文章

  1. 【12c】12c RMAN新特性之通过网络远程恢复数据库(RESTORE/Recover from Service)

    [12c]12c RMAN新特性之通过网络远程恢复数据库(RESTORE/Recover from Service) 通过网络远程恢复数据库(Restore/Recover from Service) ...

  2. SQL Server恢复软件 Stellar Phoenix sql recovery

    SQL Server恢复软件 Stellar Phoenix sql recovery http://www.stellarinfo.com/ http://www.stellarinfo.com/ ...

  3. SQL Server恢复软件SysTools SQL Recovery/SysTools SQL Server Recovery Manager

    SQL Server恢复软件SysTools SQL Recovery/SysTools SQL Server Recovery Manager http://www.systoolsgroup.co ...

  4. SQL远程备份

    原文:SQL远程备份 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go   -- ====================================== ...

  5. 用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 工具 方法

    用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 硬盘误格式化.重分区.重装操作系统覆盖 SQL数据解决方法 [客户名称]:贵州铜仁市开天驾驶人培训中心 [软件名称]:用友T3普及 ...

  6. PL/SQL远程备份和恢复Oracle数据库

    (转自:http://blog.csdn.net/huchunfu/article/details/25165901) 在客户端远程备份的文件保存在数据库所在主机上,不会直接拷贝到客户端.—————— ...

  7. [SQL] 命令远程恢复数据库

    sp_configure ; RECONFIGURE; GO sp_configure ; RECONFIGURE; GO EXEC master..xp_cmdshell 'net use \\70 ...

  8. 不安装Oracle客户端情况下使用PL/SQL 远程连接数据库

    附送PL/SQL Developer11中文版下载地址 1.先到Oracle网站下载Instant Client : http://www.oracle.com/technetwork/databas ...

  9. PL/SQL远程连接Oracle的方式,无需安装客户端

    第一次用PL/SQL Developer这个非官方的软件,遇到了种种困难,幸好通过万能的Google已经全部解决,记录下来备察. 前提是保证你的远程oracle服务器一切正常.   微软客户端设置 使 ...

随机推荐

  1. 【BZOJ3627】【JLOI2014】路径规划 分层图

    意甲冠军:要查找.有门户网站:http://www.lydsy.com/JudgeOnline/problem.php? id=3627 注意:点的等待时长示意图为: 非常清晰了吧?没事,不清晰就不清 ...

  2. Linux内核导出符号宏定义EXPORT_SYMBOL源代码分析

    资源: <include/linux/moudule.h> --. #ifndef MODULE_SYMBOL_PREFIX #define MODULE_SYMBOL_PREFIX &q ...

  3. OpenGL模板 Mac Cmake OpenGL(Glut) Template

    自己经常使用的一些功能做一个模板,有灯光效果,你可以用鼠标放大,围绕所述旋转坐标系的原点 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHlhbmcxOT ...

  4. AsyncTask来源分析(一)

    于android开发过程AsyncTask我会经常处理它.在网上,也有很多的其描述,因此,这里是不是说的用法,直接写自己的学习经验,以及它的一些浅显的认识,忘记错批评. AsyncTask它是一个抽象 ...

  5. Oracle中的delete和truncate的关系

    转自:http://chenxy.blog.51cto.com/729966/168459 1.相同点       a.都可以删除数据,其中truncate用于全表清空数据,而delete可以选择的删 ...

  6. PL/SQL程序中调用Java代码(转)

    主要是学习PL/SQL调用JAVA的方法. 平台:WINDOWS 1.首先使用IDE写好需要调用的java代码,再添加"create or replace and compile java ...

  7. EJBCA于Linux安装在

    于windows为了测试安装,装在linuxserver因为CN使用ip需要重新加载.....再折腾.这里有一些地方需要注意 一.所需文件 内容准备不说,请参阅我在以前的文章<EJBCA于win ...

  8. projecteuler----&gt;problem=34----Digit factorials

    Problem 34 145 is a curious number, as 1! + 4! + 5! = 1 + 24 + 120 = 145. Find the sum of all number ...

  9. js 正则学习小记之匹配字符串

    原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高 ...

  10. BST(Binary Search Tree)

    原文链接:http://blog.csdn.net/jarily/article/details/8679280 /****************************************** ...