Visual Studio 2013数据库项目 - 部署/发布 - 文件组PRIMARY

时间:2015-10-22 13:48:29

标签: sql-server visual-studio-2013 deployment publish database-project

传统上我使用SQL Server Management Studio创建了简单的数据库,然后进行备份并在线恢复到空数据库。这是我托管服务器的首选方式。

我最近开始使用Visual Studio 2013数据库项目选项,因为我更喜欢这种环境。我用这个http://sanderstechnology.com/2013/schema-modelling-with-visual-studio-2013-preview/12336/#.VijncNKFO71作为我的向导。

存在差异 - 我没有post deploy scripts选项,因此我使用PUBLISH创建了数据库,这似乎很好。在我看过的所有例子中都有一个不同的怪癖。当我发布时,它使用我选择的名称创建数据库并附加_PRIMARY。在数据库属性中,它显示了数据库名称,但在上面显示了FileGroup = Primary,所以我假设这就是为什么?当我通过VS2013或SQL Server Management Studio查看数据库时,它只显示数据库名称,但如果我想将数据库附加到项目,则必须附加_PRIMARY.mdf文件。

在我的无知中,我假设_PRIMARY是数据库的包装器?我想知道为什么VS2013会这样做,如果部署我的方式,如上所述,这会导致问题吗?或者我只是做错了什么..

1 个答案:

答案 0 :(得分:1)

数据库项目自动为数据库创建名为PRIMARY的文件组。除非您更改它,否则这将成为默认文件组(请参阅项目属性>项目设置>数据库设置>操作选项卡),但通常您不需要。

数据库项目自动使用主数据文件名称中的文件组名称,例如MyDatabase_PRIMARY.mdf。如果您需要拥有多个数据文件(例如MyDatabase_SECONDARY.ndfMyDatabase_FILEDATA.ndf等),这是一个很好的惯例。

VS正在做的事情非常好。无论如何,数据文件名是任意的。如果您确实需要更多地控制数据文件的命名方式,请阅读How to name the filenames of a database and set its location in Visual Studio 2015 Database project?

我还建议您在Files and Filegroups Architecture中阅读有关文件和文件组的更多信息。