0

传统上,我使用SQL Server Management Studio创建简单的数据库,然后进行备份并恢复为空数据库联机。这是我的托管服务器的首选方式。Visual Studio 2013数据库项目 - 部署/发布 - 文件组PRIMARY

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

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

在我的无知中,我假设_PRIMARY是数据库的包装?我想知道为什么VS2013会这样做,如果按照上面的解释部署我的方式,这是否会导致问题?或者我只是做一切错误..

+0

我回答了你的问题,但我不清楚你的声明'当我通过VS2013或SQL Server Management Studio查看数据库时,它只显示数据库名称,但如果我想将数据库附加到项目中,我必须附加_PRIMARY.mdf文件.'如果这是一个问题,你能否提供更多细节,甚至是截图? – Keith

回答

1

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

数据库项目自动使用主数据文件名称中的文件组名称,例如MyDatabase_PRIMARY.mdf。如果您需要有多个数据文件(例如:MyDatabase_SECONDARY.ndf,MyDatabase_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中的文件和文件组。

+0

嗨基思 - 抱歉的延迟回答你 - 我认为我会收到通知时,回复发布:(......再次抱歉。当我通过数据库使用SSMS查看数据库名称显示没有主要appendage。谢谢你的回答,它提供了一些很好的链接,我为安心而做的是使用项目中的模式创建一个新的数据库 - 我之前没有这样做过,并且非常喜欢这个功能,因为它保留了“克隆'数据库的数据完好 - 所以现在我不在乎附加到原始数据库的是什么。 – RayH1066

相关问题