原文: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. oracle 10g操作和维护手册

    1.    检查数据库基本状况... 1.1.     检查Oracle实例状态... 1.2.     检查Oracle服务进程... 1.3.     检查Oracle监听状态... 2.    ...

  2. 【CTO辩论】移动创业大军:谁斗争or变更代理

    众创时代.英雄辈出. 但千军万马过独木桥,竞争厮杀也异常残酷.有人说,这个时代不宜创业,由于技术门槛高了.推广难度高了.盈利模式没了.创业变重了.玩法变了...... 也有人说,时势造英雄.天时地利人 ...

  3. 编译的依赖不能vs的release工程

    前言: 今天,我们正在做一个ocx插件的时候,放到刚装好win7系统的虚拟机上面注冊,弹出以下的一个错误提示: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  4. JavaEE(8) - 本地和远程调用的有状态以及无状态Session EJB

    1. 使用NetBeans开发Session Bean #1. 创建项目:File-->New Project-->Java EE-->EJB Module #2. 在项目中创建Se ...

  5. 设计模式C++实现_1_Singleton设计模式(简单的实现)

    Singleton设计模式 思路如以下: Single.h #pragma once #include <iostream> #include <string> using n ...

  6. IC设计前端到后端的流程和eda工具。

    IC前端设计(逻辑设计)和后端设计(物理设计)的区分:以设计是否与工艺有关来区分二者:从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路. 前端设计的流程及使用的EDA工具例如以下: 1.架 ...

  7. linux高级技巧:rsync同步(一个)

    1.rsync基本介绍         rsync这是Unix下的一款应用软件,它能同步更新两处计算机的文件与文件夹,并适当利用差分编码以降低数据传输.rsync中一项与其它大部分类似程序或协议中所未 ...

  8. SQL Profile (总结4)--使用演示示例

    前提:sql profile工具的相关视图 dba_sql_profile 10g: sys.sqlprof$attr  &  sqlprof$ 11g: sys.sqlobj$data  & ...

  9. 豆瓣api之OAuth认证

    豆瓣api通过OAuth允许第三方应用访问用户数据,所以OAuth认证就是我们整个project的基础了. OAuth认证听起来挺神秘,其实挺简单的. 现在的大型网站的开放平台的认证几乎都是采用OAu ...

  10. hadoop编程小技巧(5)---自己定义输入文件格式类InputFormat

    Hadoop代码測试环境:Hadoop2.4 应用:在对数据须要进行一定条件的过滤和简单处理的时候能够使用自己定义输入文件格式类. Hadoop内置的输入文件格式类有: 1)FileInputForm ...