原文:SQL远程备份

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
 
-- =============================================
-- Author: dcrenl
-- Create date: 2013-9-5 9:54:46
-- Description: WEB服务器远程备份数据库,
--此方法需要打开WEB服务器的共享功能.
--验证方法同一局域网其它机器里在运行里输入 \\IP\C$ 要求输入用户名和密码,如果可以访问此方法有效
--
--异地备份还有很多种方法
--1.将数据库备份完之后在数据库服务上创建一个库,添加表,创建一个Image类型字段,
--
然后使用sp_textcopy把备份文件写入数据库,再从WEB服务器将备份文件读取出来,不过此方法读取出来的备份文件有可能会损坏
--2.在WEB服务器安装SQL Server 使用SQLDMO(Interop.SQLDMO.dll)或
--Microsoft.SqlServer.ConnectionInfo.dll 、
Microsoft.SqlServer.Management.Sdk.Sfc.dll
--(以上两个DLL文件位置:Program Files\Microsoft SQL
Server\100\SDK\Assemblies)
--生成数据库表、存储过程和函数等脚本,然后在WEB服务上的SQL Server上创建数据库,
--使用生成的脚本创建表等,然后将数据Insert到WEB服务器上的数据库进行备份
-- =============================================
CREATE PROCEDURE [dbo].[RemoteBack]
@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)--需要备份的数据库名
AS
BEGIN
SET NOCOUNT ON;
--设置日期时间串
DECLARE  @DateTime DateTime
set @DateTime = getdate()
DECLARE @FileTime nvarchar(max)
set @FileTime = convert(nvarchar(50), year(@DateTime)) +
right(cast(month(@DateTime)+100 as varchar),2) +
right(cast(day(@DateTime)+100 as varchar),2) +
right(cast(DateName(hour,GetDate())+100 as varchar),2) +
right(cast(DateName(minute,GetDate())+100 as varchar),2) +
right(cast(DateName(second,GetDate())+100 as varchar),2)
 
--打开高级设置
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服务器映射到SQL服务上的路径
exec('backup database ' + @DataName + ' to
disk='''+@DataDisk+':\' + @DataName +'_'+ @FileTime +'.bak'' with
init')
 
--关闭映射路径
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

SQL远程备份的更多相关文章

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

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

  2. access基本操作(c#操作,远程连接,执行sql,加密,备份)

    前言 最近项目用到了access,是的就是access,工作在桌面型的小数据库应用还是会用到的,如果你确定永远不会遇到access的操作,请忽略此篇文章 1.vs配置access 既然是数据库,就少不 ...

  3. sql server远程备份和恢复

    sql server远程备份和恢复 SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123 ...

  4. SQL Server 远程备份数据库

    在一些涉及到数据库的项目中,经常会有定时备份数据库的需要.定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里. ...

  5. SQL 局域网远程备份

     局域网远程备份,还真有点问题 我用的是2003,发现sql和windows兼容不太好 . 如果我在windows下面映射远程目录,sql发现不了,找不到路径,备份不了,在sql下映射远程目录,win ...

  6. sql server 远程备份 bak 删除

    前言: 管理一个公司的一个服务器,最近有一些维护SQLserver数据库活弄,写下防止忘了. 因为公司采用SQL\Redis\MongoDB共用,SQL用来存储基础的结构\权限\等一些杂七杂八的东西. ...

  7. SQL 怎样 远程备份数据库到本地

    SQL 怎样 远程备份数据库到本地 --1.启用xp_cmdshell USE master EXEC sp_configure 'show advanced options', 1 RECONFIG ...

  8. SQL Server 备份迁移策略

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/xp_cmdshell/备份压缩 概述 当备份空间不是很充裕的情况下需要找方法将备份文件拷贝到专用的备份机器上去,特别是存储空间不 ...

  9. SQL远程恢复

    原文:SQL远程恢复 -- ============================================= -- Author: dcrenl -- Create date: 2013-9 ...

随机推荐

  1. C++几个小函数

    之前看书,遇到几个编程题,要实现一些库自带的函数.于是动手写了写,并且做了一些测试.今晚在测试的时候,还发现了一些其他内存分配的问题,顺路一起记下.这里只写了字符串转整型,字符串赋值函数. #incl ...

  2. Log4NET 数据库

    阅读目录 Log4NET简介 前提 详细步骤 回到顶部 Log4NET简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种 ...

  3. harris 算法python实现

    harris 最常用作特征检测算法. 第一个文件harris.py <pre name="code" class="python">from sci ...

  4. 【二分法】 HDU 2446 Shell Pyramid

    意甲冠军:非常多,形成一个金字塔球 文章x层 x*(x+1)/ 2 球 给你个S 金字塔的一层代表第一数字向下S球 它是其中  这层中的第几行 第几列 公式 1 : x*(x+1)*(x+2)/ 6 ...

  5. Properties类读写.properties配置文件

    package com.hzk.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFo ...

  6. HDU 4081-Parsing URL(水)

    Parsing URL Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) Tota ...

  7. MVC 定义JsonpResult实现跨域请求

    MVC 定义JsonpResult实现跨域请求 1:原理 在js中,XMLHttpRequest是不能请求不同域的数据,但是script标签却可以,所以可以用script标签实现跨域请求.具体是定义一 ...

  8. hibernate 单元測试框架

    hibernate在写数据库配置文件时很的不确定,必须进行必要的測试保证数据库结构的正确性.所以能够应用junit进行測试. 使用junit很easy,eclipse仅仅须要右键项目新建一个junit ...

  9. java缓存技术(转)

    最近在做java缓存,了解了一下.以下仅是对map对方式讨论.没有对点阵图阵讨论.作缓存要做以下2点: 1:清理及更新缓存时机的处理:   . 虚拟机内存不足,清理缓存   .. 缓存时间超时,或访问 ...

  10. TortoiseGit安装与配置(转)

    TortoiseGit 简称 tgit, 中文名海龟Git. 海龟Git只支持神器 Windows 系统, 有一个前辈海龟SVN, TortoiseSVN和TortoiseGit都是非常优秀的开源的版 ...