我应该将MDF文件附加到SQL Express还是将实际部署脚本附加到SQL Server?

Can*_*ğlu 5 sql-server asp.net deployment mdf

我建立一个类似博客的发布系统上ASP.NET 4.0(含EF 4.0),我想是非常易于部署/可备份第一个地方.我是在决定是否让系统在SQL Server中创建数据库并使用它(传统上),或者在站点中使用App_Data MDF文件并使用SQL Express附加到该数据库.我知道 Express版本的内存/大小限制,我不会达到极限,因为这不是一个性能关键的业务应用程序或任何严肃的东西.只是一个带有博客/文字/照片的简单CMS(实际照片不保存在数据库中,只是它们的路径保存在MDF中)就是这样.我认为使用MDF没有问题,但我也不是这个主题的专家,因为我从未使用MDF文件工作/创建过网站.我总是部署在SQL Server上,但我不想处理用户/角色/权限以及我想让用户因数据库设置而出现安装问题的最后一件事.

我该怎么办?我将面临MDF遇到的任何问题?建议?

mar*_*c_s 2

如果您使用 SQL Server Express(它是一个服务器),我总是会选择“真正的”数据库方法:将数据库附加到服务器,通过数据库名称访问它,部署 SQL 脚本来更新它。

对我来说,“从文件路径附加数据库”总是像是一个半生不熟且相当混乱的拼凑......

如果您不需要这种功能,请研究SQL Server Compact Edition,它是一种仅包含一个文件的进程内数据库。它有其局限性 - 没有存储过程,不支持某些数据类型,例如VARCHAR(MAX)or XML- 但对于更简单的场景,它是完美且易于使用的 - 只需将其部署在您的应用程序中即可。它是单用户的,例如您不会在多个客户端之间共享数据,它是每个用户/应用程序自己的本地存储