当我调用CREATE DATABASE [Hello World]
SQL Server创建我的数据库时,还会自动将表添加到数据库中。这些表来自实体框架的迁移。
在哪里可以阻止它在每个新数据库上创建这些表?
答案 0 :(得分:5)
你应该看看模型数据库。 According to MIcrosoft,它在创建新数据库时用作模板。这已经很久了。
ADDED
我知道MS文章提到了这一点,但在创建tempdb时也使用了模型。
花了一些时间才发现这个article that describes System Databases - 可能值得花时间阅读它。
ADDED
除非您知道自己在做什么,否则不要更改模型(或任何其他系统数据库)。但我不记得模型中的任何表格,但有很多系统视图存储过程,等等。如果它只是应用程序数据,你可以摆脱它 - 除非应用程序依赖于应用程序表,并且神奇地创建了#34;何时创建新数据库。您可以像任何其他数据库一样更改模型,具体取决于权限(以及模型中MS文章中记录的附加限制)
ADDED
BTW,作为安全提示。即使您必须经常使用完整数据库权限登录。不要将默认数据库作为系统数据库之一。将您通常的管理员登录名更改为指向您的应用程序数据库或虚拟数据库,以减少意外更改系统数据库的可能性。你不想成为那个意外搞砸主人的人。