在Web服务器上部署时,ASPNETDB是否应保留在Visual Studio创建的默认app文件夹中?我有另一个在mssql数据文件夹中的数据库,是否应该放在同一目录中?我不清楚这种方式是否重要。
答案 0 :(得分:0)
这取决于您将应用程序部署到的环境。具体而言,您可以使用哪些数据库服务器或您可以部署的内容。
如果您拥有或可以安装SQL Server并对该实例拥有完全管理权限,那么最简单的选择是将两个数据库附加到该实例并相应地更改连接字符串。在这种情况下,两个文件都应位于wwwroot之外的SQL Server特定目录中。
我认为这就是访问'mssql'数据文件夹中的数据库的方式。连接字符串不应该包含'AttachDbFilename'。
另一个选项涉及SQL Server Express Edition和用户实例。当应用程序用户无权将其附加到设置创建的实例时,将根据需要创建用户实例以托管数据库。用户实例在应用程序用户的上下文中运行,在您的情况下为ASPNET,并且缺少高级安全功能。
Visual Studio使用相同的设置。 ASPNETDB很可能使用这种方法。连接字符串应该包含'AttachDbFilename'。
可以将在用户实例中创建的数据库迁移到安装实例。但是,安装实例中的数据库无法附加到用户实例,因为安全信息不可用。
有关详细信息,请参阅Configuring ASP.NET 2.0 Application Services to use SQL Server 2000 or SQL Server 2005和SQL Server 2005 Express Edition User Instances。