SQL Server 数据库“默认”表

Com*_*r7G 8 sql-server

当我将新数据库添加到我们的开发服务器(使用 SSMS)时,它会自动创建 5 个表。

这些是已存在于另一个数据库中的应用程序表的副本。

我假设这是最近的一些 SQL Server 功能,我不知道在哪里可以将表标记为“通用”或诸如此类,因此会自动添加到新数据库中。

但是我怎样才能阻止它发生呢?

为避免混淆,此数据库未编写脚本,而是直接从 SSMS GUI 创建(右键单击数据库 > 新建数据库)

(移自 StackOverflow)

von*_*ryz 15

发生这种情况(基于评论中的讨论)是因为这些表存在于model系统数据库中。根据文档(我的重点):

如果修改模型数据库,之后创建的所有数据库都将继承这些更改。例如,您可以设置权限或数据库选项,或者添加表、函数或存储过程等对象。模型数据库的文件属性是一个例外,除了数据文件的初始大小外,将被忽略。

作为解决方案,删除表model将阻止这种现象。