在 Web 服务器上部署时,ASPNETDB 是否应该保留在 Visual Studio 创建的默认应用程序文件夹中?我在 mssql 数据文件夹中有另一个数据库,它也应该放在同一目录中吗?我不清楚它是否重要。
1 回答
这取决于您将应用程序部署到什么环境。具体来说,您可以使用哪些数据库服务器或您可以部署哪些数据库服务器。
如果您拥有或可以安装 SQL Server 并对实例拥有完整的管理权限,那么最简单的选择是将两个数据库附加到该实例并适当地更改连接字符串。在这种情况下,这两个文件都应位于 wwwroot 之外的 SQL Server 特定目录中。
我想这就是访问“mssql”数据文件夹中的数据库的方式。连接字符串不应包含“AttachDbFilename”。
另一个选项涉及 SQL Server Express Edition 和用户实例。当应用程序用户无权将其附加到设置创建的实例时,会按需创建用户实例以托管数据库。用户实例在应用程序用户的上下文中运行,在您的情况下为 ASPNET,并且缺乏高级安全功能。
Visual Studio 使用相同的设置。ASPNETDB 很可能使用这种方法。连接字符串应该包含“AttachDbFilename”。
在用户实例中创建的数据库可以迁移到设置实例。但是,由于安全信息不可用,无法将设置实例中的数据库附加到用户实例。
有关详细信息,请参阅配置 ASP.NET 2.0 应用程序服务以使用 SQL Server 2000 或 SQL Server 2005和SQL Server 2005 Express Edition 用户实例。