【问题标题】:Visual Studio 2013 database project - deployment / publishing - filegroup PRIMARYVisual Studio 2013 数据库项目 - 部署/发布 - 文件组 PRIMARY
【发布时间】:2015-10-22 13:48:28
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我回答了你的问题,但我不清楚你的陈述When I view the DB via VS2013 or SQL Server Management Studio, it just shows the DB name but if I want to attach the DB to a project I have to attach the _PRIMARY.mdf file.如果这是一个问题,你能提供更多细节,甚至截图吗?

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


【解决方案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 中有关文件和文件组的更多信息。

【讨论】:

  • 嗨 Keith - 很抱歉延迟回复你 - 我以为我会在回复发布时收到通知 :(... 再次抱歉。当我使用 SSMS 查看数据库时,数据库名称显示没有主要附件。我感谢您的回答,它提供了一些很好的链接。为了安心,我所做的是使用项目中的模式创建一个新数据库 - 我以前没有这样做过并且非常喜欢这个功能特别是因为它保持“克隆”数据库的数据完好无损 - 所以现在我不在乎附加到原始数据库的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
相关资源
最近更新 更多