sqlserver 标准系统数据库

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以及关系数据库引擎的备份和还原系统使用的信息。该存储过程存储了有关作业、操作、警策略以及作业历史的全部信息。这些都是重要的系统级数据,所以应该定期对该数据库备份。

  

时间: 2024-12-11 01:16:10

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

Microsoft SQLServer有四种系统数据库

Microsoft SQLServer有四种系统数据库: 1.master数据库 master数据库记录SQLServer系统的所有系统级别信息.它记录所有的登录帐户和系统配置设置.master数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置.master数据库记录SQLServer的初始化信息,它始终有一个可用的最新master数据库备份. 2.tempdb数据库tempdb数据库保存所有的临时表和临时存储过程.它还满足任何其它的临时存储要求,例如存储SQLServer

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

做易买网项目,由于对数据库插入系统时间不了解,常常遇到的问题: 1.java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配.原因:由于获取系统时间类型不对,应为systdate 下面介绍Oracle.Db2.SqlServer.MySQL 数据库插入当前系统时间 例如有表table,table 中有两个字段:name .makedate1.oracle:插入系统时间应为sysdate:insert into table (name,makedate) valu

SqlServer系统数据库的作用

SqlServer系统数据库的作用-sqlserver,tempdb,记录,master,个数,大小,-北方网-培训 系统数据库 Sql Server的系统数据库分为:master.model.msdb和tempdb,这四个数据库在SQL Server中各司其职,作为研发人员,很有必要了解这几个数据库的职责,下面我们来看看这几个数据库的作用. 1. Master数据库 Master数据库记录SQLServer系统的所有系统级别信息(表sysobjects).他记录所有的登录账号(表sysuser

SqlServer中的系统数据库

SqlServer中的系统数据库有五个,平时写代码不太关注,今天一时兴起研究了一下. 1. master 记录SQL Server系统的所有系统级信息,例如:登陆账户信息.链接服务器和系统配置设置.记录其他所有数据库的存在.数据文件的位置.SQL Server的初始化信息等.如果master数据库不可用,则无法启动SQL Server. 2.msdb 用于SQL Server代理计划警报和作业.数据库定时执行某些操作.数据库邮件等. 3.model 用作SQL Server实例上创建的所有数据库

SQLSERVER的四个系统数据库

(1)Master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息.这些系统信息包括所有的登录信息.系统设置信息.SQL Server的初始化信息和其他系统数据库及用户数据库的相关信息.因此,如果 master 数据库不可用,则 SQL Server 无法启动.在 SQL Server 2005 中,系统对象不再存储在 master 数据库中,而是存储在 Resource 数据库中. (2)model 数据库用作在 SQL Server 实例上创建的

解剖SQLSERVER 第一篇 数据库恢复软件商的黑幕

解剖SQLSERVER 第一篇  数据库恢复软件商的黑幕 这一系列,我们一起来解剖SQLSERVER 在系列的第一篇文章里本人可能会得罪某些人,但是作为一位SQLSERVER MVP,在我的MVP任期内希望可以对大家作出一些贡献 在第一篇里面涉及到某些内容可能不会以详细的方式给出截图并且和大家讲解,毕竟第一篇的篇幅比较长,希望大家见谅.. 在第一篇文章开始之前,先说三个题外话 第一个题外话  更新丢失 首先要做的事情是,跟大家道歉 在之前<SQLSERVER走起>的微信公众帐号里推送了一篇文章

重构机房收费系统——数据库设计

曾记得,第一次编写机房收费系统的文档模板,整整有12个文档需要编写,仅仅花了两三天的时间就让师傅验收,完结项目,就这样囫囵吞枣的文档编写完成了. 要知道:欠下的账,终究是要还的.现在到了机房收费系统个人版重构阶段, (1)进行数据抽象,设计局部概念模型: (2)将局部概念模型综合成全局概念模型 (3)就可以按要求绘制机房收费系统数据库概念设计模型--ER关系图. 可以说,之前的数据库的概念设计给我奠定了一丢丢的设计基础,外加<数据库系统原理>中的三范式定理,本着求知好学.虚心请教的理念,于是乎

SQLSERVER常用系统表

1.查看表和视图SELECT * FROM sys.objects WHERE object_id = object_id('表名或视图名')在sqlserver中一般可通过查询sys.objects系统表来得知结果,不过可以有更方便的方法 如下: if object_id('tb_table') is not null print 'exist' else print'not exist' 如上,可用object_id()来快速达到相同的目的,tb_table就是我将要创建的资源的名称,所以要

SQL Server 2008 R2 里迁移系统数据库的方法

针对不同的场景,采用不同的步骤. 对非master以及resource系统数据库而言,分两种情况. 1.非master以及resource系统数据库正常. 这里以迁移msdb为例,将msdb从D:\SQL2K8_DATA\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\迁移到D:\SQL2K8_DATA\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\system\目录下. 首先我们检查当前msdb的路径 ? 1 2 3 SELECT name, phys