想问下sql中那么多自带的系统数据库有什么作用``

想问下sql中那么多自带的系统数据库有什么作用``,第1张

master数据库记录SQL Server系统的所有系统级别信息。是最重要的系统库

记录了SQL Server系统的所有系统信息。包括所有的登录信息、系统设置信息、SQL Server的初始化信息和其它系统数据库及用户数据库的相关信息。

tempdb是一个临时数据库,保存所有的临时表和临时存储过程,以及其他的临时存储空间的要求。Tempdb数据库由整个系统的所有数据库使用。SQL Server每次启动时,tempdb数据库被重新建立。当用户与SQL Server断开连接时,其临时表和存储过程被自动删除。

model数据库是为用户创建数据库提供的模板。

msdb数据库供SQL Server代理程序调度警报和作业以及记录各种 *** 作。

northwind和pubs是实例数据库。

northwind 和 pubs 是可以删除的 其他四个master最为重要不能删

sql server自带数据库的作用 1、Master数据库

Master数据库记录了Sqlserver所有的服务器级系统信息,所有的注册帐户和密码,以及所有的系统设置信息,还记录了所有用户定义数据库的存储位置和初始化信息。

2、Tempdb数据库

Tempdb记录了所有的临时表、临时数据和临时创建的存储过程。Tempdb数据库是一个全局资源,没有专门的权限限制,允许所有可以连上Sqlserver服务器的用户使用。

在Tempdb数据库存放的所有数据信息都是临时的。每当连接断开时,所有的临时表和临时存储过程都将自动丢弃。每次系统启动时Sqlserver都会根据Model数据库重新创建Tempdb数据库。

3、Model数据库

Model数据库是用户建立新数据库的模板,它包含了将复制到每个用户数据库中去的系统表。每当创建数据库的语句create database执行时,服务器总是通过复制model数据库来建立新数据库的前面部分,新数据库的后面部分被初始化成空白的数据页,以供用户存放数据。

4、Msdb数据库

Msdb数据库主要被sqlserver agent用来进行复制、作业调度以及管理报警等活动。该数据库常被用来通过调度任务排除故障

1SQL Server系统数据库介绍

SQL Server有四个重要的系统级数据库:master,model,msdb,tempdb

master:记录SQL Server系统的所有系统级信息,包括实例范围的元数据,端点,链接服务器和系统配置设置,还记录其他数据库是否存在以及这些数据问文件的位置等等如果master不可用,数据库将不能启动

model:用在SQL Server 实例上创建的所有数据库的模板。因为每次启动 SQL Server 时都会创建 tempdb,所以 model 数据库必须始终存在于 SQL Server 系统中。

msdb:由SQL Server 代理用来计划警报和作业。

tempdb:是连接到 SQL Server 实例的所有用户都可用的全局资源,它保存所有临时表,临时工作表,临时存储过程,临时存储大的类型,中间结果集,表变量和游标等。另外,它还用来满足所有其他临时存储要求

2tempdb内在运行原理

与其他SQL Server数据库不同的是,tempdb在SQL Server停掉,重启时会自动的drop,re-create 根据model数据库会默认建立一个新的8MB(mdf file:8MB;ldf file:1MB, autogtouth设置为10%)大小recovery model为simple的tempdb数据库

tempdb数据库建立之后,DBA可以在其他的数据库中建立数据对象,临时表,临时存储过程,表变量等会加到tempdb中在tempdb活动很频繁时,能够自动的增长,因为是simple的recovery model,会最小化日志记录,日志也会不断的截断

3如何合理的优化tempdb以提高SQL Server的性能

如果SQL Server对tempdb访问不频繁,tempdb对数据库不会产生影响;相反如果访问很频繁,loading就会加重,tempdb的性能就会对整个DB产生重要的影响优化tempdb的性能变的很重要的,尤其对于大型数据库

注:在优化tempdb之前,请先考虑tempdb对SQL Server性能产生多大的影响,评估遇到的问题以及可行性

31最小化的使用tempdb

SQL Server中很多的活动都活发生在tempdb中,所以在某种情况可以减少多对tempdb的过度使用,以提高SQL Server的整体性能

如下有几处用到tempdb的地方:

(1)用户建立的临时表如果能够避免不用,就尽量避免 如果使用临时表储存大量的数据且频繁访问,考虑添加index以增加查询效率

(2)Schedule jobs如DBCC CHECKDB会占用系统较多的资源,较多的使用tempdb最好在SQL Server loading比较轻的时候做

(3)Cursors游标会严重影响性能应当尽量避免使用

(4)CTE(Common Table Expression)也会在tempdb中执行

(5)SORT_INT_TEMPDB建立index时会有此选项

(6)Index online rebuild

(7)临时工作表及中间结果集如JOIN时产生的

(8)排序的结果

(9)AFTER and INSTEAD OF triggers

不可能避免使用tempdb,如果有tempdb的瓶颈或issue,就该返回来考虑这些问题了

32重新分配tempdb的空间大小

在SQL Server重启时会自动建立8MB大小的tempdb,自动增长默认为10% 对于小型的数据库来说,8MB大小已经足够了但是对于较大型的数据库来说,8MB远远不能满足SQL Server频繁活动的需要,因此会按照10%的比例增加,比如说需要1GB,则会需要较长的时间,此段时间会严重影响SQL Server的性能 建议在SQL Server启动时设置tempdb的初始化的大小(如下设置为MDF:300MB,LDF:50MB),也可以通过ALTER DATABASE来实现 这样在SQL Server在重启时tempdb就会有足够多的空间可利用,从而提高效率

难点在于找到合理的初始化大小,在SQL Server活动频繁且tempdb不在增长时会是一个合适的值,可以设置此时的值为Initial Size;当然还会有更多的考量,此为一例

33不要收缩tempdb(如没有必要)

有时候我们会注意到tempdb占用很大的空间,但是可用的空间会比较低时,会想到shrink数据库来释放磁盘空间, 此时要小心了,可能会影响到性能

如上图所示:tempdb分配的空间为87944MB,有45%的空间是空闲的,如果shrink掉,可以释放掉一部分磁盘空闲,但是之后SQL Server如有大量的 *** 作时,tempdb空间不够用,又会按照10%的比例自动增长 这样子的话,所做的shrink *** 作是无效的,还会增加系统的loading

34 分派tempdb的文件和其他数据文件到不用的IO上

tempdb对IO的要求比较高,最好分配到高IO的磁盘上且与其他的数据文件分到不用的磁盘上,以提高读写效率

tempdb也分成多个文件,一般会根据CPU来分,几个CPU就分几个tempdb的数据文件 多个tempdb文件可以提高读写效率并且减少IO活动的冲突

tempdb是SQL Server重要的一部分,以上只是对tempdb的一些了解总结,还需要进一步学习

master 数据库

master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Server 的初始化信息,它始终有一个可用的最新 master 数据库备份。

tempdb 数据库

tempdb 数据库保存所有的临时表和临时存储过程。它还满足任何其它的临时存储要求,例如存储 SQL Server 生成的工作表。tempdb 数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。tempdb 数据库在 SQL Server 每次启动时都重新创建,因此该数据库在系统启动时总是干净的。临时表和存储过程在连接断开时自动除去,而且当系统关闭后将没有任何连接处于活动状态,因此 tempdb 数据库中没有任何内容会从 SQL Server 的一个会话保存到另一个会话。

默认情况下,在 SQL Server 在运行时 tempdb 数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。如果为 tempdb 数据库定义的大小较小,则每次重新启动 SQL Server时,将tempdb 数据库的大小自动增加到支持工作负荷所需的大小这一工作可能会成为系统处理负荷的一部分。为避免这种开销,可以使用 ALTER DATABASE 增加 tempdb 数据库的大小。

model 数据库

model 数据库用作在系统上创建的所有数据库的模板。当发出 CREATE DATABASE 语句时,新数据库的第一部分通过复制 model 数据库中的内容创建,剩余部分由空页填充。由于 SQL Server 每次启动时都要创建 tempdb 数据库,model 数据库必须一直存在于 SQL Server 系统中。

msdb 数据库

msdb 数据库供 SQL Server 代理程序调度警报和作业以及记录 *** 作员时使用。

Northwind 示例数据库

Northwind Traders 示例数据库包含一个名为 Northwind Traders 的虚构公司的销售数据,该公司从事世界各地的特产食品进出口贸易

pubs 示例数据库

pubs 示例数据库以一个图书出版公司为模型,用于演示 Microsoft® SQL Server™ 数据库中可用的许多选项。该数据库及其中的表经常在文档内容所介绍的示例中使用。

以上就是关于想问下sql中那么多自带的系统数据库有什么作用``全部的内容,包括:想问下sql中那么多自带的系统数据库有什么作用``、SQL数据库中的db.opt具体作用、tempdb对SQL Server数据库性能有何影响等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9864119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存