SQL Server 2017数据库自动备份图文详细说明
公司数据库由S城市搬到B城市,但部署数据库OK后,没有进行日常备份,故LD让其数据库备份,为方便其他人参考,特做图档说明!备份除了“索引超出范围。必须为非负值并小于集合大小”用了一些时间来寻求解决方案之外,这份SQL数据库备份说明文档倒是用了好多时间,备份最多3分钟搞定,但说明文档却用了一两个小时。。。。。。
1-维护计划向导(上图)
2-维护计划向导(默认下一步)上图3-给维护计划取个名(上图)
4-选择维护任务(上图)
5-选择维护任务的顺序(默认下一步)上图
6-定义“备份数据库(完整)”任务(上图)
7-数据库备份-设计计划时间(上图)
8-数据库备份-选择备份目标与备份路径(上图)
这里特别说明:
数据库备份千万不要使用中文路径与中文文件夹名称!!!
数据库备份千万不要使用中文路径与中文文件夹名称!!!
数据库备份千万不要使用中文路径与中文文件夹名称!!!
否则请往下面看第14张截图!重要的事情说3遍!!!
9-数据库备份-选择备份压缩(上图)
10-设置清除维护任务的路径(上图)
11-清除维护-设计作业计划时间(上图)
12-维护计划LOG报告(下一步)
13-维护计划-完成(上图)
14-维护计划-完成后报错索引超出范围(上图)
===========================分割线BEING=====================
提到第14张报错截图,我特别说明下!这个报错我百度找个遍,没有找到任何相关说明,为此,为了避免其他朋友后续
也像我一样遇到问题而苦恼,我把解决方法发给大家!希望大家能顺利完成SQL数据库备份!报错详细信息如下:
SQL数据库备份、数据库维护计划出现:索引超出范围。必须为非负值并小于集合大小解决方法!
索引超出范围。必须为非负值并小于集合大小。
参数名: index (mscorlib)
------------------------------
程序位置:
在 System.Collections.CollectionBase.System.Collections.IList.get_Item(Int32 index)
在 Microsoft.SqlServer.Management.DatabaseMaintenance.MaintenancePlan.SubPlansCollection.get_Item(Int32 index)
在 Microsoft.SqlServer.Management.MaintenancePlanWizard.MaintenancePlanWizardForm.PerformActions()
解决方法(想了很久,才找到这个问题所在):
SQL数据库备份.bak文件不能有中文路径!所在文件夹不能有中文字符!请看我第4张截图!切记!切记!!切记!!!
=============================分割线END============================
15-维护计划新建成功(上图)
出现“索引超出范围。必须为非负值并小于集合大小”后,将备份文件夹名称改成英文记创建数据库备份维护计划成功!
16-更改作业属性中的所有者(上图)
17-维护计划新建成功后维护计划中的子计划更名(上图)
18-维护计划新建成功后的样子(上图)
19-第二天看是否自动备份成功?结果是:成功!(上图)