Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 创建新数据库会添加不需要的表_Sql_Sql Server_Entity Framework - Fatal编程技术网

Sql 创建新数据库会添加不需要的表

Sql 创建新数据库会添加不需要的表,sql,sql-server,entity-framework,Sql,Sql Server,Entity Framework,当我调用CREATE DATABASE[Hello World]SQL Server会创建我的数据库,但也会自动向数据库中添加表。这些表来自实体框架的迁移 我应该在哪里阻止它在每个新数据库上创建这些表?您应该查看模型数据库,它在创建新数据库时用作模板。这是事实已经很长一段时间了 增加 我知道微软的文章提到了这一点,但在创建tempdb时也使用了这个模型 我花了一段时间才找到这本书——也许值得花时间去读 增加 除非您知道自己在做什么,否则不要更改模型(或任何其他系统数据库)。但我不记得模型中有任何

当我调用
CREATE DATABASE[Hello World]
SQL Server会创建我的数据库,但也会自动向数据库中添加表。这些表来自实体框架的迁移


我应该在哪里阻止它在每个新数据库上创建这些表?

您应该查看模型数据库,它在创建新数据库时用作模板。这是事实已经很长一段时间了

增加

我知道微软的文章提到了这一点,但在创建tempdb时也使用了这个模型

我花了一段时间才找到这本书——也许值得花时间去读

增加

除非您知道自己在做什么,否则不要更改模型(或任何其他系统数据库)。但我不记得模型中有任何表,尽管有大量存储在进程等中的系统视图。如果只是应用程序数据,则可以将其删除——除非应用程序依赖于在创建新数据库时“神奇地创建”应用程序表。您可以像更改任何其他数据库一样更改模型,但需要权限(以及MS文章中关于模型的附加限制)

增加


顺便说一句,作为安全提示。即使您必须以完全数据库权限频繁登录。不允许默认数据库是系统数据库之一。更改通常的管理员登录以指向应用程序数据库或虚拟数据库,以降低意外更改系统数据库的可能性。你不想成为那个不小心弄坏了master的家伙。

你应该看看模型数据库,它在创建新数据库时用作模板。这是事实已经很长一段时间了

增加

我知道微软的文章提到了这一点,但在创建tempdb时也使用了这个模型

我花了一段时间才找到这本书——也许值得花时间去读

增加

除非您知道自己在做什么,否则不要更改模型(或任何其他系统数据库)。但我不记得模型中有任何表,尽管有大量存储在进程等中的系统视图。如果只是应用程序数据,则可以将其删除——除非应用程序依赖于在创建新数据库时“神奇地创建”应用程序表。您可以像更改任何其他数据库一样更改模型,但需要权限(以及MS文章中关于模型的附加限制)

增加


顺便说一句,作为安全提示。即使您必须以完全数据库权限频繁登录。不允许默认数据库是系统数据库之一。更改通常的管理员登录以指向应用程序数据库或虚拟数据库,以降低意外更改系统数据库的可能性。你不想成为那个不小心弄坏了master的家伙。

我是手动创建的。我是手动创建的。这看起来是正确的。如果可以,我会将其标记为已回答,但是有没有一种简单的方法可以从模型表中删除这些行?这看起来是正确的。如果可以,我会将其标记为已回答,但是有没有简单的方法可以从模型表中删除这些行?