SQL远程备份

原文: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=‘‘‘[email protected]+‘:\‘ + @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

时间: 2024-10-13 06:19:22

SQL远程备份的相关文章

sql server远程备份和恢复

sql server远程备份和恢复 SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123备份机域名:domain备份机提供备份需求的文件夹:D:\sqlbak 备份数据库 第一步: 在备份机建立共享文件夹               在程序代码中调用(或者CMD窗口)   net share sqlbakup=D:\sqlbak     或者用NetShareAdd这个API     

SQL 如何 远程备份数据库到本地

SQL 如何 远程备份数据库到本地 --1.启用xp_cmdshell USE master EXEC sp_configure 'show advanced options', 1 RECONFIGURE WITH OVERRIDE EXEC sp_configure 'xp_cmdshell', 1 RECONFIGURE WITH OVERRIDE EXEC sp_configure   'show advanced options', 0 RECONFIGURE WITH OVERRID

SQL远程恢复

原文:SQL远程恢复 -- ============================================= -- Author: dcrenl -- Create date: 2013-9-5 14:08:35 -- Description: WEB服务器远程恢复数据库,远程恢复和远程备份的思路是一样的. --不过恢复的时候有个释放连接的问题,所以多加了一个释放连接的存储过程. --本来可以整合到一个里面但是考虑到其它地方也会用到释放连接所以把它单独拿出来了. -- ========

利用腾讯云COS云对象存储定时远程备份网站

版权声明:本文由张戈 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/942851001487125915 来源:腾云阁 https://www.qcloud.com/community 一.优点分析 内网传输:和阿里云OSS一样,腾讯云COS同样支持内网和外网文件传输,对于腾讯云服务器,使用内网传输绝对是最快.最稳定的备份方案! 免费方案:看了下腾讯云COS的定价说明,发现对于备份网站来说简直是绝佳搭档,甚至可以说是钻

linux下远程备份mysql数据库

本次环境主要是远程备份mysql数据库的一种常见方法,对于其他知识不做太多讲解. 环境需求: 两台linux:一台mysql数据库服务器,另一台当作客户端用来做备份. 环境目标: 实现mysql数据库的远程备份 例子: (A为服务端ip为192.168.1.1    B为客户端ip为192.168.1.2) 1.首先你得在A上建立一个数据库(建立数据库名称我以 xianyu 为例) create database xianyu;   (建立数据库xianyu) 2.在A上建立一个数据库用户用来做

SQL Server 备份迁移策略

标签:SQL SERVER/MSSQL SERVER/数据库/DBA/xp_cmdshell/备份压缩 概述 当备份空间不是很充裕的情况下需要找方法将备份文件拷贝到专用的备份机器上去,特别是存储空间不够优越的企业更是如此,接下来就分享两种迁移备份文件的方法. 目录 概述 服务器配置选项 查询服务器配置 开启xp_cmdshell 开启allow updates xp_cmdshell方法 执行备份 dos方法 总结 服务器配置选项 查询服务器配置 使用xp_cmdshell方法之前必须先开启对应

SqlServer2008数据备份以及远程备份

对开发人员来说数据库备份是非常重要的,无论是正常开发的版本保留还是运维数据的备份,昨天备份数据库时发现点问题整理下供大家参考: 本文是拿sql server 2008 r2为例的 1.数据库本身就有自带的数据库备份,在数据库-管理-维护计划右键新建维护计划(维护计划向导效果一样),在弹出窗口中输入计划名称(MMDBBackUp), 确认后,在整个窗口左下角将”备份数据“任务拖到设计界面,然后右键进行编辑,编辑内容包括数据库选择.备份到磁盘.存放路径.验证数据库完整性. 设置备份压缩(使用服务器默

Linux Shell脚本之Atlassian confluence远程备份方法

注:Atlassian confluence是一个较专业的wiki程序,由java语言写成,其详细介绍可以Google it(一点美中不足,java占用内存还是比较大的). 该脚本的设计思路是根据Atlassian confluence官方提供的文档说明写的,主要是备份一些配置文件,上传的一些附件之类的其他文件以及数据库,其数据库支持多种数据库,这次我采用的是PostgreSQL数据库,你可以使用自己熟悉的数据库,如MySQL. 问题释疑: 1.为什么不使用rsync而是使用scp作为远程文件传

SQL Server 备份和还原

SQL Server 备份和还原 SQL Server 备份 恢复模式 SQL Server 数据恢复模式分为三种:完整恢复模式.大容量日志恢复模式.简单恢复模式. 完整恢复模式 默认的恢复模式,它会完整记录下操作数据库的每一个步骤,使用完整恢复模式可以将一个数据库恢复到一个特定的时间点,这个时间点可以是最近一次可用的备份.一个特定的日期和时间的事务. 大容量日志恢复模式 它是对完整恢复模式的补充,就是要对大容量操作进行最小日志记录,节省日志文件的空间. 比如说一次在数据库中插入几十万条记录时,