备份sqlserver 数据库到远程主机脚本

mssqlBackup.py:

# Name: mssqlBackup.py
# Purpose: 
#
# Author: yanglixue
#
# Created: 2015/04/01
#-------------------------------------------------------------------------------

import pymssql
import datetime
import logging
import traceback
import os 

log_format = ‘%(filename)s [%(asctime)s] [%(levelname)s] %(message)s‘
log_file="c:\\" + "backup_" +datetime.datetime.now().strftime("%Y-%m-%d") + ".log"
logging.basicConfig(filename=log_file,format=log_format,level=logging.INFO)

backupdir="E:\\backup\\"

delcmd="D:\EclipseWork\mssqlBackup\del.bat >> c:\\" + "del_" +datetime.datetime.now().strftime("%Y-%m-%d") + ".log"

dbs=[‘db2‘,‘test‘]

try:
    
    logging.info("connect database ......")
    
    conn=pymssql.connect(host=‘10.1.1.2‘,database=‘master‘,user=‘sa‘,password=‘[email protected]‘,autocommit=True)
    cur=conn.cursor()
     
    for dbname in dbs:
        
        now = datetime.datetime.now()   
        sdate = now.strftime("%Y-%m-%d_%H-%M-%S")
        
        bakname=backupdir + dbname + "_" + sdate + ".bak"
        sql = "".join(["backup database [",
                       dbname,
                       "] to disk=N‘"+ bakname,
                       "‘ with noinit,noformat,checksum,stop_on_error"
                      ]
                      )
        cur.execute(sql)
        
        logging.info(sql)
        logging.info("db:" + dbname + "  OK. ")
      
    conn.close()

    logging.info(delcmd)
    out = os.system(delcmd)  
    logging.info(delcmd + " " + str(out))

    
        
except Exception as ex:
    logging.error("Exception:" + traceback.format_exc())

del.bat:

echo "start ..." 

@echo on

xcopy E:\backup\* \\192.168.1.11\E$\dbbackup

del E:\backup\* /Q
时间: 2024-11-17 10:15:57

备份sqlserver 数据库到远程主机脚本的相关文章

Linux下定时备份MySQL数据库的Shell脚本

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

动态备份SQL-SERVER数据库——SQLDMO

转载:http://www.cnblogs.com/liulanglang/archive/2007/12/04/981812.html 上周要写一个SQL-SERVER数据库备份还原的程序,很没有思路,只是记得上学的时候用过SQL语句来完成数据库的备份还原,其余的方式还没有尝试过.经过资料查找终于找到了解决方案,效果还不错,于是写下来一起分享. 大家最常见的是使用sql命令来进行数据库备份, 最常用的sql语句如下: backup [dbname]   to   disk=[路径+文件名] r

定时备份mysql数据库的shell脚本

最近项目需要定时备份mysql数据库的数据,根据需求写了一份定时备份mysql数据库的脚本. -h mysql的地址  默认为localhost -P 端口号  默认为3306 -u 用户  默认为root -p 密码 默认为123456 -f  备份存放地址  默认为 /bak 下面 -n 指定数据库  默认为所有数据库(除开mysql系统自带数据库) #!/bin/bash now=`date "+%Y-%m-%d_%H:%M:%S" ` echo "==========

使用存储过程备份SqlServer数据库

存储过程代码如下所示: CREATE PROCEDURE [dbo].[SP_BackupDB] ( @BackPath NVARCHAR(200), --备份路径,如:D:\Backup\ @BackDbName NVARCHAR(50), --需要备份的数据库名称 @BackName NVARCHAR(50)=@BackDbName OUTPUT, --备份后的数据库名称,不需要.bak后缀.若不传,则等同于@BackDbName @BackPathIsDate BIT=1, --备份路径是

C#_备份sqlserver数据库

C# 代码备份数据库 ,不需要 其他 DLL protected void Button1_Click(object sender, EventArgs e)    {        ///        ///备份方法        ///        SqlConnection conn = new SqlConnection("Server=.; Database=aaaa; User ID=sa; Password=sa;"); SqlCommand cmdBK = new

Sql语句备份Sqlserver数据库

BACKUP DATABASE [POS_YiZhuang]TODISK = N'C:\数据库\POS_YiZhuang2016-09-20-3.bak'WITHNAME = N'POS_YiZhuang - 备份',NOFORMAT, NOINIT, SKIP,STATS = 5 --POS_YiZhuang 为数据库名称--C:\数据库\POS_YiZhuang2016-09-20-3.bak 为数据库所在服务器的路径

使用bat批处理文件定时自动备份sqlserver数据库

一.创建一个sql文件,在里面写入以下代码: USE MasterGOdeclare @str varchar(100)set @str='D:\sqlserver14backup\CDB\'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.bak'BACKUP DATABASE [CDB] TO [email protected]WITH RETAINDAYS=15,NOFORMAT

使用ODBC备份Sqlserver数据库失败

软件原来是使用ADO访问LocalDB,现在切换为开源ODBC的C++封装nanodbc, 调试后其他一切正常,可BACKUP DATABASE命令虽然返回成功,但实际备份却没有成功, 查了下资料,在微软网站上发现一个回答 This is by design. Your application must call SQLMoreResults to ensure all the results of the statement are consumed and hence completed.

sqlserver 数据库通用更新脚本操作

由于项目功能增加.修改必然要对数据库表.字段.存储过程.函数等修改,现在把项目中通常用到的操作总结下: 1.给表添加字段 if not exists(select 1 from sysobjects a, syscolumns bwhere a.ID=b.ID and a.Name='表名' and a.xtype='U' and b.Name='增加字段名称') Alter TABLE 表名 Add 增加字段名称 类型 null; 2.表中某一个字段修改长度 -- 修改某一个字段nvarcha