Windows Server2012R2+SQL Server 2017 Express版本下,每日自动备份数据库的操作实践笔记

近日由于服务器问题,进行了一次数据库迁移。迁移时发现SQL Server 2017 Express版本是免费的,可以满足我的需要,就抛弃了原来的那啥版本的SQL Server 2008 r2直接使用了。

数据库建好了,数据也迁移了,业务服务器也都更新数据库连接了,该做数据库自动备份了,问题也来了:SQL Server Agent 服务启动不了!经过一个多小时的研究,才发现是因为Express版本不可以使用Agent服务。

微软还是挺讲究的,还专门写了一篇免费Express版本SQL Server如何进行免费的自动备份。

原文网址:https://support.microsoft.com/en-us/help/2019698/how-to-schedule-and-automate-backups-of-sql-server-databases-in-sql-se

中文译文网址:https://support.microsoft.com/zh-cn/help/2019698/how-to-schedule-and-automate-backups-of-sql-server-databases-in-sql-se

我的服务器是Windows Server2012R2。

经过实践,文章基本正确,其中Step B无法正确执行。经过研究,我最终成功使用的语句是

sqlcmd -Q "EXEC sp_BackupDatabases  @backupLocation ='D:\SQLBackups\',@databaseName='你要备份的数据库名', @BackupType='F'"

 

2020年7月17日补充:

系统可能无法直接选择到你的数据库服务器,需要明确服务器名。

sqlcmd -S 你的数据库服务器名\SQLEXPRESS -Q "EXEC sp_BackupDatabases  @backupLocation ='E:\SQLBackups\',@databaseName='你要备份的数据库名', @BackupType='F'"

另外,我的语句是直接使用windows系统用户登录的,如果需要特定用户,按照前面文档中的Step B添加。

 

posted @ 2018-05-16 09:47  球球和球球  阅读(448)  评论(0编辑  收藏  举报