Sql server Visual Studio 2013数据库项目-部署/发布-文件组主
传统上,我使用SQLServerManagementStudio创建简单的数据库,然后进行备份并在线恢复到空数据库。这是我托管服务器的首选方式 我最近开始使用Visual Studio 2013数据库项目选项,因为我更喜欢那种环境。我以此为向导 两者之间存在差异-我没有部署后脚本选项,因此我使用发布创建了数据库,这似乎很好。在我看过的所有例子中,有一个怪癖是不同的。当我发布时,它使用我选择的名称创建数据库并附加Sql server Visual Studio 2013数据库项目-部署/发布-文件组主,sql-server,visual-studio-2013,deployment,publish,database-project,Sql Server,Visual Studio 2013,Deployment,Publish,Database Project,传统上,我使用SQLServerManagementStudio创建简单的数据库,然后进行备份并在线恢复到空数据库。这是我托管服务器的首选方式 我最近开始使用Visual Studio 2013数据库项目选项,因为我更喜欢那种环境。我以此为向导 两者之间存在差异-我没有部署后脚本选项,因此我使用发布创建了数据库,这似乎很好。在我看过的所有例子中,有一个怪癖是不同的。当我发布时,它使用我选择的名称创建数据库并附加\u PRIMARY。在数据库属性中,它显示了数据库名称,但在上面它显示了FileGr
\u PRIMARY
。在数据库属性中,它显示了数据库名称,但在上面它显示了FileGroup=Primary
,所以我假设这就是为什么?当我通过VS2013或SQL Server Management Studio查看数据库时,它只显示数据库名称,但如果我想将数据库附加到项目,我必须附加\u PRIMARY.mdf
文件
在我的无知中,我假设
\u PRIMARY
是数据库的包装器?我想知道为什么VS2013会这样做,如果像上面解释的那样部署,这会导致问题吗?或者我只是做错了一切。数据库项目会自动为数据库创建一个名为PRIMARY的文件组。除非您对其进行更改(请参见“项目属性”>“项目设置”>“数据库设置”>“操作”选项卡),否则它将成为默认文件组,但通常不需要更改
数据库项目会自动在主数据文件的名称中使用文件组名称,例如
MyDatabase\u primary.mdf
。如果需要多个数据文件(例如:MyDatabase\u SECONDARY.ndf
,MyDatabase\u FILEDATA.ndf
,等等),这是一个很好的约定
VS正在做的是非常好的。数据文件名是任意的。如果您确实需要对数据文件的命名方式进行更多控制,请读取
我还建议阅读中有关文件和文件组的更多信息。我回答了您的问题,但我不清楚您的陈述
当我通过VS2013或SQL Server Management Studio查看数据库时,它只显示数据库名称,但如果我要将数据库附加到项目,我必须附加_PRIMARY.mdf文件。
如果这是一个问题,你能提供更多的细节,甚至是截图吗?嗨,Keith-很抱歉延迟回答你-我以为我会在回复发布时收到通知:(…再次抱歉。当我使用SSMS查看数据库时,数据库名称显示为没有主附件。我感谢您的回答,它提供了一些很好的链接。我所做的是使用项目中的模式创建一个新的数据库-我以前没有这样做过,特别喜欢该功能,因为它保留了“c”在tact中孤立db的数据-所以现在我不关心原始db中附加了什么。