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. 生成n个随机数,要求n个数的和等于100

    // 生成n个随机数,要求n个数的和等于100 function lessANumber(n, v) { var i, s = 0, r = [], x = v; for (i = 1; i < ...

  2. Spring Cloud(二):Eureka 服务注册中心

    前言 服务治理 随着业务的发展,微服务应用也随之增加,这些服务的管理和治理会越来越难,并且集群规模.服务位置.服务命名都会发生变化,手动维护的方式极易发生错误或是命名冲突等问题.而服务治理正是为了解决 ...

  3. 基于H.ui.Admin UI模板的网站管理后台

    最近接手一个跨境电商平台开发,客户侧重电商网站UI设计,对管理后台要求不高,由我们决定选哪一款后台模板.找来找去,感觉还是H.ui靠谱一些,主要是这个模板清爽,不需要过多选择.其他的流行后台模板也看了 ...

  4. 基于Win服务的标签打印(模板套打)

    最近做了几个项目,都有在产品贴标的需求 基本就是有个证卡类打印机,然后把产品的信息打印在标签上. 然后通过机器人把标签贴到产品上面 标签信息包括文本,二维码,条形码之类的,要根据对应的数据生成二维码, ...

  5. es6 babel 安装以及使用

    1,安装好node(需要使用npm包管理工具) 2,在本地项目路径下npm init,格式化成功后会在项目下生成一个配置文件package.json 3,本地安装bable npm install - ...

  6. 【CuteJavaScript】Angular6入门项目(4.改造组件和添加HTTP服务)

    本文目录 一.项目起步 二.编写路由组件 三.编写页面组件 1.编写单一组件 2.模拟数据 3.编写主从组件 四.编写服务 1.为什么需要服务 2.编写服务 五.引入RxJS 1.关于RxJS 2.引 ...

  7. ES6中export default与export的区别

    1.export default 和export都可以用于导出常量,函数,文件,模块等: 2.可以在模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使 ...

  8. 输出错误long类型

    Microsoft Visual C++ 输出不了long 类型的数字怎么办? 在C/C++中,64为整型一直是一种没有确定规范的数据类型.现今主流的编译器中,对64为整型的支持也是标准不一,形态各异 ...

  9. Jenkins + Docker + dockerfile-maven-plugin + Harbor CI/CD spring-boot项目的最轻量级配置

    说明 本文只为方便日后查阅,记录一些关键性的步骤和踩坑的情况. dockerfile-maven-plugin构建镜像配置 <plugin> <groupId>com.spot ...

  10. webpack学习_使用source map

    追踪错误和警告,JS提供sourcemap功能,将编译后的代码映射回原始代码(简单来说就是即使打包后,也可以检测知道该错误来自哪个JS文件).如果一个错误来自与b.js,那么source map回明确 ...