解决在window下执行SQLSERVER定时备份的问题

引言

在使用SqlServer Express 版本的时候发现,这个版本不支持通过数据库的代理方式进行数据库的维护。

解决方案

使用SQL语句加windows任务计划的方式解决
具体步骤如下

  • 创建备份用的SQL文件
  • 创建调用SQL文件的BAT文件
  • 加入到windows的任务计划中

具体步骤及文件

SQL语句

GO
DECLARE @backupTime VARCHAR(20)
DECLARE @fileName VARCHAR(1000)
SELECT
    @backupTime =(
        CONVERT(VARCHAR(8), GETDATE(), 112) + REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', '')
    )
SELECT
    @fileName = 'F:\Database_Backup\DB_' + @backupTime + '.bak' backup database 数据库名称 to disk = @fileName

BAT文件

sqlcmd -S . -i F:\Database_Backup\backup.sql

加入到windows任务计划找到并打开任务计划程序选择右侧的创建基本任务

输入任务基本信息

选择何时执行,下一步配置具体执行规则

选择执行的动作,启动程序

选择刚才创建的bat文件

完成

补充:windows任务计划定时备份sqlserver数据库

使用windows的任务计划新建一个sqlserver数据库的定时备份任务

一、(我是以sqlserver2008r2数据库版本测试的)在G盘下新建文集夹Database_backup,首先需要写一个sql的备份脚本,文件命名为backup.sql(将下面语句放在backup文件):backup放在Database_backup下,以后备份也放在此目录下。DBname就是你所需要备份的数据库名:

GO
DECLARE
@backuptime varchar(20)
DECLARE
@filename varchar(100)
select @backuptime=(convert(varchar(8),getdate(),112)+replace(convert(varchar(5),getdate(),114),':',' '))
select @filename='G:\Database_backup\db_'+@backuptime+'.bak'
backup database DBname to disk=@filename

二、写一个批处理文件执行sql语句:

例如:backup_database.bat

.bat文件内容为:sqlcmd -S . -i F:\Database_Backup\backup.sql

.bat文件内的语句可以在cmd控制台执行测试是否正确;

三、在windows-控制面板-管理工具下,打开任务计划,创建基本任务,输入任务名称描述、设置备份时间、选择启动程序。需要注意的是在起始于选项里输入程序执行路径,完成。

到此这篇关于在window下执行SQLSERVER的定时备份的文章就介绍到这了,更多相关SQLSERVER定时备份内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 自动定时备份sqlserver数据库的方法

    下面是我已经证实可用的自动备份的方法. 1.打开企业管理器->管理->sql server代理 2.新建一个作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他用户,前提是该用户有执行作业的权限: 3.点击步骤标签,进入步骤面板.新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改.命令中写入以下语句: BACKUP DATABASE [数据库名] TO DISK = N'F:\\databack\\firenews备份' WITH NOINIT ,

  • 在Windows环境下使用MySQL:实现自动定时备份

    一.编写备份脚本 rem auther:www.yumi-info.com rem date:20171222 rem ******MySQL backup start******** @echo off forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path" set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0

  • mysql自动定时备份数据库的最佳方法(windows服务器)

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自动有备份呢? 教大家一个最简单的方法. 这个方法是用bat批处理来完成的. 假想环境:MySQL 安装位置:D:\Program Files\MySQL\MySQL Server 5.0\data 如图: 数据库名称为:952game数据库备份目的地:d:\db_bak\ (你想把数据库备份到哪个盘

  • Windows下MySQL定时备份脚本的实现

    在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序+数据库备份脚本组合.其中,MySQL数据库备份,起到关键作用是mysqldump.有关于mysqldump命令的用法,可以找MySQL的官方文档了解. 1 备份脚本 @echo off echo 设置MySql数据库的连接信息 set host=127.0.0.1 set port=3306 set user=root set pass=admin echo 设置要备份MySql数据库名称 set dbname

  • 解决在window下执行SQLSERVER定时备份的问题

    引言 在使用SqlServer Express 版本的时候发现,这个版本不支持通过数据库的代理方式进行数据库的维护. 解决方案 使用SQL语句加windows任务计划的方式解决具体步骤如下 创建备份用的SQL文件 创建调用SQL文件的BAT文件 加入到windows的任务计划中 具体步骤及文件 SQL语句 GO DECLARE @backupTime VARCHAR(20) DECLARE @fileName VARCHAR(1000) SELECT @backupTime =( CONVERT

  • MySQL定时备份之使用Linux下的crontab定时备份实例

    1. Mysql备份某个数据库的命令 复制代码 代码如下: ##################################################################  # 备份某个数据库  ################################################################## # root 用户,创建备份目录  mkdir -p /usr/local/cncounter/mysql_dump  cd /usr/local/

  • Linux centos下设置定时备份任务的方法步骤

    实现准备 # 需要备份文件路径:/opt/apollo/logs/access_log [root@localhost opt]# cd apollo/ [root@localhost apollo]# tree . ├── logs │ └── access_log └── test.sh # 文件备份存放路径:/tmp/logs # 备份文件加上时间戳date + %Y%m%d%H%M%S 1.编写shell脚本 [root@localhost tmp]# vi /opt/apollo/te

  • 详谈symfony window下的安装 安装时候出现的问题以及解决方法

    1. cmd进入DOS  , cd 到 php.exe 的目录下 2. php -r "readfile('http://symfony.com/installer');" > symfony 3. 把symfony移动到projects(你自己的工作目录)  move symfony  c:\projects 4. c:\> cd projects/ c:\projects\> php symfony new my_project_name 如果正常就开始创建, 一

  • CI框架在CLI下执行占用内存过大问题的解决方法

    很多程序员在使用codeigniter CLI下执行一个大批量数据导入的问题时,会一直出现内存过高的情况,下面对此分析器原因及解决办法. CI db会将所有的查询sql和和sql执行时间保存下来,对于类似百万级大数据量的导入问题来说,其执行的sql记录都会被保存在内容中,这就占用了大量的内容直至脚本结束. 解决办法:当你执行大数量的db操作时,记得设置: 复制代码 代码如下: $this->db->save_queries = FALSE;

  • CentOS下mysql定时备份Shell脚本分享

    1.备份语句 复制代码 代码如下: # /usr/local/mysql/bin/mysqldump -utest -ptest test --socket=/tmp/mysql.3306.sock > /usr/local/mysql_backup/3306/test-`date +%Y%m%d`.sql.gz 语句说明:   /usr/local/mysql/bin/mysqldump:MySql安装目录下 -utest:分为两块,一块为-u一块为test:其中-u表示其为用户名,test表

  • Linux下的crontab定时执行任务命令详解

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业.   service crond start    //启动服务   service crond stop     //

  • 解决PyCharm IDE环境下,执行unittest不生成测试报告的问题

    问题:在利用unittest框架生成测试报告时,代码执行完成,没有在指定目录下生成报告 原因:PyCharm会默认使用自带的unittest框架来执行单元测试,不会执行main函数中的代码,所以不生成测试报告 解决方法: 1.点击PyCharm右上角的 Uittest in xxx.py下拉框 2.点击Edit Configuration...,在弹出的对话框中,删除 unittests in xxxx.py 3.点击绿色"+"号,新增Python文件 4.Script Path 路径

随机推荐