生产系统, 数据库名称ERP,数据库如下(假设所有的数据库文件都在 C 盘下):
master 数据库
model 数据库
msdb 数据库
tempdb 数据库
pubs 数据库
northwind数据库
现在要停机冷备份A Server上的sql Server数据库, 然后在另外一台B Server ---- 2003 Server上恢复为一样的数据库(已经在上面注册建立了group,目前只有默认的几个系统数据库)。
1. pubs,northwind,tempdb 这几个数据库是不用冷备份的,除了备份用户数据库erpdb数据文件外, master,model,msdb 在哪些情况下需要备份 ?
master数据库中有很多重要的数据,系统参数,元数据,用户信息等等,建议每次都备份(master一般不大.)
model数据库是模板数据库,新建的数据库的默认参数是取这个数据库的参数,一般这个数据库不会去改,备份一次就足够了.
msdb中存放的是job,操作员,警报什么的信息,如果经常用到这些对象的话,建议也每次都备份.
2. 假设 B Server上所有文件都需要放在 D 盘 ?(C盘空间不足),是否有问题,这种情况在挂载数据库的时候是否需要其他操作处理 ?
如果是用户数据库的话,应该不需要特别的处理,磁盘格式最好是ntfs的,如果是fat的话,4G以上的数据库文件不支持,挂载会失败.
如果用GUI去挂载,只要直接选择文件所在的路径就可以了,如果用语句做的话,就修改里边的文件路径的参数.
如果是系统数据库,比如master之类的,如果不是默认的路径,需要修改sql server 的启动参数.具体方法网上搜搜.
3. 由于是冷备份,假设只是备份了mdf 文件,而没有备份ldf 文件,是否可以完成恢复到 B Server 上(手工重新建立ldf) ?
建议最好日志和数据库文件都备份.如果是simple的话,日志文件一般不会很大.
个人以为,如果只用mdf去还原,应该是有风险的.可能会还原不成功.因为备份的时候可能会有些数据的修改没有记录到数据库文件中,而记录在日志中,在这种情况下,还原数据库需要将日志中记录的修改进行回滚或者前滚.如果没有日志文件,还原会失败.
原文链接:https://www.f2er.com/mssql/530208.html