• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> MSSQL >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 压缩SQL数据库
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • Server 2005性能排错
  • 在SQL Server中的关系型数据仓库分区策略
  • 如何使用SQL Server 2000中的XML功能
  • 压缩SQL数据库
  • SQL Server 2000中的SQL语言简介
  • SQLServer删除日志方法
  • SQL精妙语句
  • SQL Server 2000中的SQL语言简介(一)
 
 

相关文章

  • 将MySQL数据导入到Sql Server中
  • MYSQL和MS SQL SERVER对比分析表
  • 从SQL Server导出到MYSQL的简单方法
  • SQL Server数据库导入MySQL数据库体验
  • SQL Server如何定时作业
  • 服务器可靠性报告:Windows Server变差 Linux好转
  • 最安全Windows Server 2008曝设计安全缺陷
  • PHP运行在Windows Server 2008下:性能提高130%
  • Windows Server 2008 IIS 7.0下配置php,MySQL,Zend,ph..
  • MSDN订阅提供Windows Server 2008简体中文版下载
  • 用SQL Server 2005构建数据仓库
  • 一个Mysql自动备份脚本
 
 

百度搜索

 
 

SQL Server 自动备份脚本

  • 阅览次数:
  • 文章来源: wzy0623
  • 原文作者: wzy0623
  • 整理日期: 2008-03-01
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

下脚本执行 SQL Server 中某一数据库全备份,并将备份文件传至另一机器。备份文件命名规则:数据库名_时间戳.BAK。

执行环境 windows 2003 server SQL Server 2000

源代码:

 

@ECHO off

REM 
Backup Database Script Log Files
SET dbbak_dir=e:testdbbak
if not exist %dbbak_dir% mkdir %dbbak_dir%

REM 
Backup Database Name 
SET B_Database_Name=db1
SET B_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
ECHO 
use master ;>%dbbak_dir%FULL_backup.sql
ECHO 
go >>%dbbak_dir%FULL_backup.sql
rem ECHO SP_ADDUMPDEVICE 
'DISK',>>%dbbak_dir%FULL_backup.sql
rem ECHO 
'%B_Database_Name%_%B_DATE%_FULL', >>%dbbak_dir%FULL_backup.sql
rem ECHO 
'%dbbak_dir%%B_Database_Name%_%B_DATE%_FULL.bak'; >>%dbbak_dir%FULL_backup.sql
rem ECHO 
go >>%dbbak_dir%FULL_backup.sql
ECHO 
BACKUP DATABASE %B_Database_Name% >>%dbbak_dir%FULL_backup.sql
ECHO 
TO DISK = '%dbbak_dir%%B_Database_Name%_%B_DATE%_FULL.bak' >>%dbbak_dir%FULL_backup.sql
ECHO 
WITH INIT , NOUNLOAD ;>>%dbbak_dir%FULL_backup.sql
ECHO 
go >>%dbbak_dir%FULL_backup.sql
ECHO .

REM osql.exe path 
SET OSQL_PATH=C:Program FilesMicrosoft SQL Server80ToolsBinn

REM 
Database user name and password
SET DBUser=sa
SET DBpassword=passwd
ECHO 
BACKUP DATABASE 
"
%OSQL_PATH%osql.exe" -U %DBUser% -P %DBpassword% -i %dbbak_dir%FULL_backup.sql -o %dbbak_dir%%B_Database_Name%_%B_DATE%_FULL.log


REM FTP info 
set FTP_User=user1
set FTP_PW=passwd
set FTP_IP=10.1.9.1
set FTP_PORT=21
set FTP_DIR=/home/dbbak

SET NCFTP_PATH=D:Program FilesNcFTP
"
%NCFTP_PATH%ncftpput.exe" -u %FTP_User% -p %FTP_PW% -P %FTP_PORT% %FTP_IP% %FTP_DIR% %dbbak_dir%%B_Database_Name%_%B_DATE%_FULL.*

REM 
Delete old backup files
FORFILES 
/P %dbbak_dir% /D -7 -M %B_Database_Name%*.bak /C "cmd /c del @file"
FORFILES 
/P %dbbak_dir% /D -7 -M %B_Database_Name%*.log /C "cmd /c del @file"

REM 
Delete Temp files
DEL 
/Q %dbbak_dir%FULL_backup.sql

说明:
1. 为避免 Windows 自带 FTP Client 的 PORT、PASV问题,使用 ncftp client
2. 保留最新 7 天的备份,使用 Resource kit 里的命令 FORFILES 删除老备份文件
3. ftp 目的机器是一个 linux 系统,用下面的 shell 脚本删除老备份文件

#!/bin/sh

cd /home/dbbak/
if [[ -s mm_db_`date +%Y%m%d`*.BAK ]]
then
#echo "not 0"
    
find . -mtime +7 | xargs rm
fi

上一篇:比AcdSee功能还强大的图片处理、编辑软件,推荐下载!
下一篇:ASP上传漏洞防范
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号