SQL server系统数据库很重要,大部分时候都不应该修改他们。唯一例外的是model数据库和tempdb数据库。model数据库允许部署更改到任何新创建的数据库(如存储过程),而更改tempdb数据库则是为了帮助扩展数据库以承担更多的负载。

1、Resource数据库

Resource数据库从SQL server 2005引进。它包含了SQL server运行所需的所有的只读的关键系统表、元数据以及存储过程。它不包含任何用户实例或数据库的任何信息,它只在安装新服务补丁时被写入。Resource数据库包含其他数据库逻辑引用的所有物理表和存储过程。默认安装位置为C:\Procgram Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn,每个实例只有一个Resource。

注:其中C:是标准设置,MSSQL14是版本,.MSSQLSERVER是实例名。

自2012版本以来,升级到新服务补丁或者和快速修正时候,将使用Resource数据库的副本覆盖旧数据库,这样可使用户快速升级SQL server 目录,并且可以回滚到前一个版本。

通常,DBA在连接到任意一个数据库的同时都可以对Resource数据库进行简单的查询,而不必直接连接Resource数据库。

例如:

  注:不要将Resource数据库放在加密或者压缩的驱动器上,因为这样可能会导致升级问题或者性能问题。

二、master数据库

  master数据库包含有关数据的元数据(数据库配置文件和文件位置)、登陆以及有关实例的配置信息。

  运行如下代码,可以查看部分元数据:

  

  resource数据库和master数据库主要的区别在于:master数据库保存用户实例特定的数据,而resource数据库只保存用户实例所需的架构和存储过程,不包含任何实例特定的数据。

尽量不要在master数据库中创建对象,如果创建了,那么可能需要更频繁的进行备份。

三、tempdb数据库

  tempdb用于存储用户创建的临时对象、数据库引擎需要的临时对象和行版本信息,类似于操作系统的分页文件。tempdb数据库在每次重启sqlserver时创建,大小恢复为默认大小,我们无需考虑去备份他。

  对tempdb中的对象数据更改可以减少登陆;

  为tempdb数据库分配足够的空间非常重要;

  通常,应将tempdb数据库设置为在需要空间时自动扩展;

  考虑到15%~20%的扩展开销下留出足够的空间,如果没有足够的空间。

四、model数据库

  model数据库是sqlserver创建新数据库时充当模板的系统数据库。也就是说,创建每个数据库时,SQL server 将model数据库复制为新数据库;唯一的例外发生在还原和重新连接其他服务器上的数据库时。所以,如果在model数据库中添加你自己的对象,那么应该把model数据库包括在你的备份中,或者维护包含更改的脚本。

五、msdb数据库

  msdb包含SQL server代理、日志传送、SSIS以及关系数据库引擎的备份和还原系统使用的信息。该存储过程存储了有关作业、操作、警策略以及作业历史的全部信息。这些都是重要的系统级数据,所以应该定期对该数据库备份。

  

sqlserver 标准系统数据库的更多相关文章

  1. 07-SQLServer数据库中的系统数据库

    一.总结 首先要明确SQLServer的系统数据库一共有5个:Master.Model.Msdb.Tempdb.Resource. 1.Master数据库 (1)master数据库记录了所有系统级别的 ...

  2. 替换系统数据库解决SQLSERVER服务启动不了的问题

    替换系统数据库解决SQLSERVER服务启动不了的问题 当遇到SQLSERVER服务启动不起来的时候,我们试过把系统的四个数据库master ,model ,tempdb,msdb 替换掉,Windo ...

  3. Microsoft SQLServer有四种系统数据库

    Microsoft SQLServer有四种系统数据库: 1.master数据库 master数据库记录SQLServer系统的所有系统级别信息.它记录所有的登录帐户和系统配置设置.master数据库 ...

  4. SqlServer中的系统数据库

    SqlServer中的系统数据库有五个,平时写代码不太关注,今天一时兴起研究了一下. 1. master 记录SQL Server系统的所有系统级信息,例如:登陆账户信息.链接服务器和系统配置设置.记 ...

  5. Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间

    做易买网项目,由于对数据库插入系统时间不了解,常常遇到的问题: 1.java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配.原因:由于获取系统时间类型不对,应为sy ...

  6. SQLSERVER的四个系统数据库

    (1)Master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息.这些系统信息包括所有的登录信息.系统设置信息.SQL Server的初始化信息和其他系 ...

  7. 解剖SQLSERVER 第一篇 数据库恢复软件商的黑幕(有删减版)

    解剖SQLSERVER 第一篇  数据库恢复软件商的黑幕(有删减版) 这一系列,我们一起来解剖SQLSERVER 在系列的第一篇文章里本人可能会得罪某些人,但是作为一位SQLSERVER MVP,在我 ...

  8. SQL Server 系统数据库恢复

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/故障恢复/master 概述 SQL Server 维护一组系统级数据库(称为“系统数据库”),这些数据库对于服务器实例的运行至关 ...

  9. Sqlserver列出所有数据库名,表名,字段名

    Sqlserver列出所有数据库名,表名,字段名   1.获取所有数据库名:   ? 1 SELECT Name FROM Master..SysDatabases ORDER BY Name   注 ...

随机推荐

  1. Centos7使用Yum安装高版本的LNMP

    [摘要] 本文旨在介绍使用yum的方式安装一些高版本的NGINX.MySQL.PHP服务.当然如果觉得红帽给的就够用,就用红帽给的就行. 在红帽系列的Linux操作系统中,nginx/mysql/ph ...

  2. shell du sh 文件大小输出

    按照文件大小升序输出结果: du -sh * | sort -h 如果要逆序输出,则: du -sh * | sort -hr

  3. C#语言和SQL Server数据库技术_前四章错题

      1.在C#中,如果让某个方法只能被它所在的程序集内的其他方法访问,可使用(C)修饰这个方法. (选择一项) A:private B:protected C:internal D:以上都不对 2.下 ...

  4. zabbix系列-Grafana4.6.3+Zabbix 的安装部署

    zabbix系列(五) Grafana4.6.3+Zabbix 的安装部署 伟创享 2019-07-31 11:27:18 使用了一段时间Grafana,感觉还挺好用的.部分效果图如下: ​ zabb ...

  5. 笔记||Python3之算法

    循环嵌套:先从外层循环里面取出一个元素,再执行内层的循环:当内层的循环都执行后,再执行外层循环. for循环嵌套语法: for  x  in  range(): for  y  in  range() ...

  6. Selenium 4.0 Alpha更新实践

    上期讲到了Selenium 4.0 Alpha更新日志,这次来实践一下更新内容. DevTools操作更加方便. Chrome录制更加方便.(未实践) 窗口管理不在依赖一个driver. 相对定位器功 ...

  7. [Java并发] AQS抽象队列同步器源码解析--独占锁释放过程

    [Java并发] AQS抽象队列同步器源码解析--独占锁获取过程 上一篇已经讲解了AQS独占锁的获取过程,接下来就是对AQS独占锁的释放过程进行详细的分析说明,废话不多说,直接进入正文... 锁释放入 ...

  8. 9月最新184道阿里、百度、腾讯、头条Java面试题合集

    阿里面试题 1. 如何实现一个高效的单向链表逆序输出? 2. 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位 3. 给定一个二叉搜索树(BST),找到树中第 ...

  9. uploadify没反应

    由于业务问题,需要用到uploadify这个插件,结果官方的case怎么弄都没问题,弄到自己的页面上就有问题了. 后来发现,这个插件是要用到swf的,但是页面加载的过程中并没有加载swf文件,所以将问 ...

  10. pcntl_signal(): Error assigning signal

    错误原因:SIGSTOP(19)和SIGKILL(6)两个信号不能使用,进程间通信换成其他信号量就好了.