返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >解决在window下执行SQLSERVER定时备份的问题
  • 485
分享到

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

2024-04-02 19:04:59 485人浏览 八月长安
摘要

引言 在使用sqlServer Express 版本的时候发现,这个版本不支持通过数据库的代理方式进行数据库的维护。 解决方案 使用SQL语句加windows任务计划的方式解决具体步

引言

在使用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定时备份内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 解决在window下执行SQLSERVER定时备份的问题

本文链接: https://lsjlt.com/news/162933.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作