文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

系统库-关于SQL Server Model Database探究

2024-12-01 13:32

关注

概述

在前几篇文章中我们先后介绍了SQL Server 的系统库master、resource、msdb,今天我们探讨一下另一个系统数据库-Model 数据库一些特征。顾名思义,model 数据库用作在 SQL Server 实例中创建新数据库的模型。这意味着当我们创建一个新数据库时,这个新数据库是通过复制模型数据库形成的。

特征

1、新数据库文件的初始大小继承自模型数据库

新数据库的初始数据库文件大小和自动增长选项与模型数据库相同。让我们用一个例子来探讨一下。

在 SQL Server Management Studio (SSMS) 中,我们右键单击模型数据库并选择 “属性”。

在“文件”页面,我们可以看到模型数据库文件的相关信息。

现在,我们将更改数据和日志文件的大小以及自动增长选项,然后单击“确定”。

之后,如果打开新建数据库创建窗口,我们可以看到文件的默认大小和自动增长选项与为模型数据库设置的相同。

因此,新的数据库文件将默认使用模型数据库中的大小和自动增长选项。

2、新建数据库的恢复模型与model数据库的恢复模型相同

新数据库的恢复模型也继承自模型数据库。在下面的示例中,我们可以看到模型数据库处于完全 恢复模型中:

我们将恢复模式从Full更改为Bulk-logged。此外,我们将更改兼容性级别和自动收缩选项。然后,我们单击“确定” 以保存这些更改

之后,如果我们打开 New Database 创建窗口,我们可以看到所有这些更改都应用于新数据库。

因此,正如我们所见,在创建新数据库时,数据库恢复模型和其他数据库选项都是从模型数据库中复制而来的。

3、在model数据库中创建的数据库对象将存在于新创建的数据库中

如果我们在模型数据库中创建数据库对象,这些对象将出现在该实例中的任何新数据库中。

模型数据库的这一特性可用于为新数据库创建预定义模板。例如,如果需要在所有新数据库中包含一些特殊对象,则可以将这些对象添加到模型数据库中,而不是每次创建新数据库后都创建它们。在这些情况下,建议对模型数据库进行备份,以便在数据库出现问题时恢复模型数据库的修改版本。

4、在模型数据库中创建的对象也出现在tempDB中

新数据库不仅继承了在模型数据库中创建的对象,而且这些对象在创建时也存在于 TempDB 中。

首先,我们可以看到,在我们的实例中,TempDB 中没有用户定义的表和存储过程。

由于我们已经在模型数据库中添加了一个表和存储过程,让我们重新启动实例。重新启动后,我们可以在“表”和“存储过程”下看到模型数据库中定义的对象。

这是因为每次启动 SQL Server 实例时,都会重新创建 TempDB 数据库。因此,作为一个新创建的数据库,它继承了model数据库中创建的对象。

5、模型数据库必须始终存在于 SQL Server 上

如果模型数据库不可用,则无法启动 SQL Server 实例。这是因为当实例启动时,它会重新创建 TempDB 数据库,而模型数据库是该发生所必需的。

让我们重现这种情况。我们停止 SQL Server 并将模型数据库数据文件移动到另一个位置。然后,如果我们尝试启动实例,我们将收到以下错误消息。

如果我们查看 ERRORLOG 文件,我们可以看到 SQL Server 无法启动的原因是模型数据库不可用。

因此,模型数据库在每个 SQL Server 实例中都是必需的。

结论

综上所述,模型数据库被用作在实例中创建新数据库的模板。这意味着实例中新创建的数据库会继承模型数据库的选项、恢复模型、数据文件初始大小等。也可以在模型数据库中创建数据库对象,例如表,这些对象将出现在实例中创建的任何新数据库中。TempDB 数据库还继承了模型数据库的一些设置,因此模型数据库必须存在才能启动 SQL Server。

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯