`

SQL Server自动备份脚本并远程拷贝文件的批处理

 
阅读更多
http://zhanjianhua.iteye.com/blog/1002860

这几天了解SQL server,针对sql server 定时自动备份数据库做了一些了解,
现将收集的资料做份整理

写SQL脚本
保存到c:\bak\bak.sql
sql脚本内容(dev_cpm为数据库名),星期五全备份,其他差异备份
declare @dbName varchar(50);
declare @pathName varchar(50);
declare @filename varchar(50);
declare @datetime varchar(50);
declare @weekname varchar(50);
declare @weeknametmp varchar(4);
declare @weekday int;

set @dbName='dev_cpm';
set @pathName='c:\bak\';

set @weekname=datename(weekday,getdate());
set @datetime =  convert(varchar(20),getdate(),112);
set @weeknametmp=substring(@weekname,3,1);

set @filename=@pathName+@dbName+'_'+@datetime+'_'+@weekname+'.bak';

if (@weeknametmp='一')
	set @weekday=1;
else if (@weeknametmp='二')
	set @weekday=2;
else if (@weeknametmp='三')
	set @weekday=3;
else if (@weeknametmp='四')
	set @weekday=4;
else if (@weeknametmp='五')
	set @weekday=5;
else if (@weeknametmp='六')
	set @weekday=6;
else if (@weeknametmp='日')
	set @weekday=0;

if (@weekday=5)
begin
	backup database dev_cpm to disk=@filename;
end
else if(@weekday<>6 and @weekday<>0)
begin
	backup database dev_cpm to disk=@filename with differential;
end


写bat脚本,start.bat
内容:
@net start "mssqlserver"
@sqlcmd -Usa -Psa -i c:\bak\bak.sql -o c:\bak\sqlserverbackup.out
@echo ……正在备份中……
@pause

注:
@sqlcmd 是sqlserver 2005
@isql是sqlserver2000
这个http://space.itpub.net/13670701/viewspace-631725文章,里面设定了path的信息,这里是否要设定?待实验。
以上在sqlserver 2008下测试通过

设置windows操作系统的 定时任务
打开(附件)里的(任务计划),选择(添加任务计划),点击(下一步),点击(浏览),找到想要执行的程序或文件,点击(打开),输入任务名字,可以任意填写,选择执行任务的时间,点击(下一步),选择任务的起始时间,点击(下一步),输入用户名和密码,没有就不填,点击(下一步),点击(完成)。

写个远程拷贝文件的批处理
http://blog.sina.com.cn/s/blog_52e596e50100py4i.html
@echo copy file from 192.16.3.74 to 192.16.3.73
rem 需要共享74上的文件夹sharefiler
net use \\192.16.3.74\ipc$ /user:admin pswd
copy \\192.16.3.74\sharefiler\* d:\
net use * /del
@echo copy success!
@pause


不知道是否还有其他方式备份sql server ,如果有的话请给我留言

select * from sys.backup_devices  查询永久磁盘备份信息
exec sp_addumpdevice 'disk','bak1','c:\bak1.bak' --创建永久磁盘备份设备
exec sp_dropdevice 'ecology20110327'              --删除备份设备

backup database ecology to bak2 with init,name='d2_full' --差异备份,第一次备份时应做完全备份
create table b1(c1 int not null,c2 char(10) not null)
backup database ecology to bak2 with differential,name='d2_diff1'
insert b1 values(1,'a')
backup database ecology to bak2 with differential,name='d2_diff2'
insert b1 values(2,'b')
backup database ecology to bak2 with differential,name='d2_diff3'
insert b1 values(3,'c')
backup database ecology to bak2 with differential,name='d2_diff4'
restore headeronly from bak2
分享到:
评论

相关推荐

    SQL Server自动备份脚本 bat

    标题中的“SQL Server自动备份脚本 bat”指的是在Microsoft SQL Server数据库管理系统中,利用批处理文件(.bat)实现数据库的自动化备份。这样的脚本通常包含T-SQL语句,用于执行备份操作,并且可以设置为Windows...

    Sql Server数据库自动全备份的脚本(带7z压缩)

    在SQL Server备份脚本中,VBScript 可以调用操作系统级别的命令,如执行SQL命令或者调用外部程序,例如7-Zip。 3. **CMD 调用**: 在VBScript中,可以通过`WScript.Shell`对象来执行CMD命令行操作。这使得我们可以...

    SQL Server自动备份脚本

    这篇文档将详细阐述如何使用SQL Server的T-SQL语句编写自动备份脚本,并将其集成到系统计划任务中,以实现无人值守的定期备份。 首先,我们需要了解SQL Server中的备份命令。主要的T-SQL备份语句是`BACKUP DATABASE...

    Sql Server数据库跨计算机自动备份批处理脚本

    "Sql Server数据库跨计算机自动备份批处理脚本"是一个解决方案,它允许管理员实现自动化、远程的数据库备份过程,从而提高效率并确保数据的安全性。下面将详细阐述这个主题中的几个关键知识点。 1. **SQL Server ...

    SQL server自动备份脚本

    自己写的SQL server备份脚本,可以遍历所有数据库,维护计划不可用时使用,备份文件名带有备份时间,精确到秒

    sqlserver 自动备份恢复脚本

    Sqlserver自动增量或差异备份脚本,按时间自动删除旧的备份文件。只需要传入参数即可

    sqlserver自动备份与恢复系统(到FTP)

    1. SQL Server备份与恢复API的使用 2. Delphi的数据库操作组件(如TSQLConnection、TSQLCommand) 3. Windows定时任务或计划任务的集成 4. T-SQL备份和恢复脚本的编写 5. FTP文件传输(TIdFTP组件) 这个系统对于...

    批处理(bat)实现SQLServer数据库备份与还原

    通过以上介绍,我们可以看到利用批处理脚本(BAT)可以非常方便地实现SQL Server数据库的自动备份与还原。这种方式不仅提高了数据库维护的工作效率,还减少了人为干预可能导致的错误。同时,通过灵活设置备份策略(如...

    sql server 导入超大SQL脚本文件

    SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL ...

    sql server自动备份数据库

    SQL Server 自动备份数据库是指通过设置代理来自动备份数据库文件的过程。下面是相关的知识点: SQL Server 代理 SQL Server 代理是 SQL Server 的一部分,负责执行预定义的作业,例如备份数据库、维护索引、统计...

    SQL Server 数据库实现定时自动备份

    本篇将详细探讨如何在SQL Server中实现定时自动备份,确保数据在面临意外情况时能够得到恢复。 首先,理解SQL Server的备份类型至关重要。主要有完整备份、差异备份和日志备份。完整备份会备份数据库的所有内容,...

    Delphi SQL Server数据库备份程序_delphi_SQL_ServerDelphi_sqlserver_

    在描述中提到的“sqlserver 程序化备份”,意味着我们需要在Delphi应用程序中编写代码来执行SQL Server的备份任务。这可以通过以下步骤实现: 1. 连接数据库:使用ADOConnection组件,配置适当的连接字符串(如...

    SQL Server计划自动备份(TSQL_备份共享文件版)

    "SQL Server计划自动备份(TSQL_备份共享文件版)"这个主题涉及如何利用TSQL脚本和SQL Server代理服务设置一个自动备份数据库的流程,尤其将备份存储在局域网共享文件夹中。以下是详细的步骤和知识点: 首先,自动...

    SQL Server 异地备份到远程共享文件夹异常处理

    说明通过SQL SERVER访问远程地址出现异常,虽然本地系统已经可访问该共享文件夹 解决方案: 1、解锁 SQL SERVER “xp_cmdshell”命令 打开SQL SERVER 新建查询窗口 -- 允许配置高级选项 EXEC sp_configure 'show ...

    易特SQL SERVER自动备份工具

    《易特SQL SERVER自动备份工具:数据库安全的守护者》 在信息技术日益发达的今天,数据库作为企业核心资产的重要组成部分,其安全性与稳定性至关重要。易特SQL SERVER自动备份工具,作为一个专门为SQL SERVER 2000...

    服务器SQL Server 自动定时备份和还原的工具

    本工具是自己开发的,用于SQL Server 数据库的备份与还原用,有了本工具,设定好每一个数据库的备份时间,可以按年、月、日、时、分设置好后,到时间自动备份,工具还有备份数据为多少天前的可以自动删除,同时也有...

    sql server自动备份

    ### SQL Server 自动备份知识点详解 #### 一、SQL Server自动备份概述 SQL Server数据库作为企业级应用的重要组成部分,其数据安全性和可靠性至关重要。而自动备份则是保障数据完整性和灾难恢复的关键措施之一。...

    sqlserver多数据库自启动定时备份工具批量执行脚本

    "sqlserver多数据库自启动定时备份工具批量执行脚本"是一种高效的方法,它允许管理员自动化备份多个数据库,特别是在系统启动时自动运行,以确保数据始终得到保护。这个解决方案尤其适用于那些包含大量关键数据和对...

    SQL Server 备份永久脚本

    实现sqlserver自动备份, select @数据库文件大小=cast((convert (dec (15,2),sum(convert(bigint,case when status & 64 = 0 then size else 0 end))) + convert (dec (15,2),sum(convert(bigint,case when status ...

Global site tag (gtag.js) - Google Analytics