SQL Server 2012笔记分享-51:理解系统数据库恢复

下图是一个很重要的表格,详细描述了系统数据库的备份需求,支持的恢复模式和还原的选项。

master数据库:需要备份,需要在单用户模式下恢复

model数据库:需要备份,恢复数据库的方式为T3608 trace flag

msdb数据库:需要备份,恢复模式默认为简单,恢复数据库的方式和恢复普通数据库一样,没有特殊要求

tempdb数据库:不需要备份,因为在实例启动的时候tempdb会重建;

   

详细的步骤可以参考

http://msdn.microsoft.com/zh-cn/library/dd207003.aspx

===============================================================

下面是关于各个系统数据库的作用特点介绍

Recovering System Databases

master

The master database holds all system level configurations. SQL Server cannot start up normally without the Master database. Restoring/Rebuilding the master database take a set of special procedures which will be discussed in upcoming slides.

model

The model database is used as the template for all databases that are created on the instance of SQL Server. If the model database is corrupt or missing, the instance of SQL Server cannot start. Therefore a restore cannot be issued unless special steps are first taken. In case of a corrupt model database the instance must be started with the -T3608 trace flag. T3608 is used to only startup the master database. Then the model database can be restored using a normal restore statement.

MSDB

The MSDB database is used by SQL Server Agent for scheduling alerts and jobs, and for recording operators. MSDB also contains history tables such as the backup and restore history tables. In case of a corrupt msdb, SQL Agent will not be working. From a restore perspective, MSDB is just like any other user database and can be restored as such.

Resource db

The Resource Database is a read-only database that contains copies of all system objects that ship with Microsoft SQL Server 2012. No backup can be done for this database, as it is hidden. In case of an corruption of the database it can be restored using a file restore or through running the setup of SQL Server.

Tempdb

Tempdb is a workspace for holding temporary or intermediate result sets. This database is re-created every time an instance of SQL Server is started. When the server instance is shut down, any data in tempdb is deleted permanently. A backup cannot be done and is unnecessary on tempdb as it is recreated with every restart of the instance. A restart of the instance is can recover tempdb in most corruption cases.

Reference:

Considerations for Backing Up and Restoring System Databases:

http://go.microsoft.com/fwlink/?LinkID=233398

==============================================================

SQL Server 2012笔记分享-51:理解系统数据库恢复,布布扣,bubuko.com

时间: 2024-12-15 01:40:37

SQL Server 2012笔记分享-51:理解系统数据库恢复的相关文章

SQL Server 2012笔记分享-22:理解备份模式与恢复模式

SQL Server 备份和还原组件为保护存储在 SQL Server 数据库中的关键数据提供了基本安全保障. 为了最大限度地降低灾难性数据丢失的风险,您需要定期备份数据库以保留对数据所做的修改. 规划良好的备份和还原策略有助于防止SQL Server 2012笔记分享-22:理解备份模式与恢复模式数据库因各种故障而造成数据丢失. 通过还原一组备份,然后恢复数据库来测试您的策略,以便为有效地应对灾难做好准备. ===========================================

SQL Server 2012笔记分享-9:理解列存储索引

优点和使用场景 SQL Server 内存中列存储索引通过使用基于列的数据存储和基于列的查询处理来存储和管理数据. 列存储索引适合于主要执行大容量加载和只读查询的数据仓库工作负荷. 与传统面向行的存储方式相比,使用列存储索引存档可最多提高 10 倍查询性能,与使用非压缩数据大小相比,可提供多达 7 倍数据压缩率. SQL 2012和SQL 2014列存储索引的比较 在SQL server 2012中,一旦启用了列存储索引,将不能够对已启用列存储索引的数据存储执行变更写入操作,也就是说列存储索引适

SQL Server 2012笔记分享-38:了解系统数据库

master 数据库 记录 SQL Server 实例的所有系统级信息. master 数据库记录 SQL Server 系统的所有系统级信息.这包括实例范围的元数据(例如登录帐户).端点.链接服务器和系统配置设置.此外,master 数据库还记录了所有其他数据库的存在.数据库文件的位置以及 SQL Server 的初始化信息.因此,如果 master 数据库不可用,则 SQL Server 无法启动.在 SQL Server 中,系统对象不再存储在 master 数据库中,而是存储在 Reso

SQL Server 2012笔记分享-4:理解SQL server实例

每个单独的SQL server实例都有一个windows进程:sqlservr.exe,一个windows下能安装多个实例,多个实例会有多个sqlservr.exe进程. 一个SQL实例在后台对应一个服务,如果多个应用程序放在一个实例里,如果某个应用开发的程序有问题,比如死循环,会导致服务停止,从而导致所有数据库无法工作.可以采用多实例分开方式. 一个服务器上可以装多个实例,标准版(16个)和企业版(50个)支持的实例数量不同. SQL server实例的类型 (一)默认实例和命名实例 1.服务

SQL Server 2012笔记分享-5:理解SQLOS

描述 SQLOS是一个单独的应用层,它位于SQLServer数据库引擎的最低层,SQLServer和SQL Reporting Services都是在顶层运行.SQLOS介于windows操作系统和SQL server之间. 为什么开发SQLOS SQLServer的早期版本在存储引擎和实际操作系统之间使用瘦接口层,通过该接口层,SQLServer可以调用操作系统来执行内存分配,计划资源,线程和工作管理,以及同步对象.不过,SQLServer中需要访问这些接口的服务可以位于引擎的任何部分.SQL

SQL Server 2012笔记分享-6:理解内存管理

内存管理 – SQL Server 2005/2008/2008r2 SQL Server 2012以前的版本(SQL 2005/2008/2008R2),有single page allocator 和multi page allocator.也就是说,如果申请的内存是8k以内的,就会有单页分配器分配,而大于8kb的内存请求,使用multi page 分配器来管理.如图所示. 使用select * from sys.dm_os_memory_clerks查询memory clerk,会发现si

SQL Server 2012笔记分享-8:理解包含数据库

包含数据库的四大核心特点 独立于其他数据库以及独立于承载数据库的 SQL Server 实例的一种数据库. 很多用于描述数据库的元数据都在该数据库中维护. 使用相同的排序规则定义所有元数据. 数据库可执行用户身份验证,因此减少了对 SQL Server 实例的登录名的数据库依赖关系. 包含数据库解决的问题 在你将SQL Server 2012包含数据库隔离之后,你就可以轻易将其从一个SQL Server实例迁移至另一个SQL Server实例,而不必迁移一组SQL Server登录.此包含数据库

SQL Server 2012笔记分享-10:理解数据压缩

关键概念 配置数据压缩可以通过SSMS和T-SQL语句两种方式来实现. 表和索引压缩 对于行存储表和索引,使用数据压缩功能可帮助减小数据库的大小. 除了节省空间之外,数据压缩还可以帮助提高 I/O 密集型工作负荷的性能,因为数据存储在更少的页中,查询需要从磁盘读取的页更少. 但是,在与应用程序交换数据时,在数据库服务器上需要额外的 CPU 资源来压缩和解压缩数据. 对于列存储表和索引,所有列存储表和索引始终使用列存储压缩,并且用户无法对此进行配置. 在您能够付出额外的时间和 CPU 资源来存储和

SQL Server 2012笔记分享-46:如何快速学习T-SQL语句

对于初学者来说,T-SQL语句的编写一直是个难题,初学者还是习惯使用图形界面来做相关的SQL方面的维护工作.但是在一个稍微复杂大型的SQL场景中,如果我们能够快速的掌握和理解SQL语句的编写和使用,那么会使我们的运维工作达到事半功倍的效果. 其实对于SQL server 2012来说,本身就提供了很多途径来帮助初学者获取日常管理任务的对应T-SQL脚本.下面我们来举几个快速获取T-SQL脚本的例子. ================================================