gpt4 book ai didi

sql-server - SQL Server Express 2008 不分离自动附加文件?

转载 作者:行者123 更新时间:2023-12-01 13:07:38 25 4
gpt4 key购买 nike

MSDN documentation对于 SQLEXPRESS 说:

When an application first establishes a connection from a running instance of SQL Server Express, SQL Server Express will automatically attach an .mdf file. When the user closes the application, SQL Server Express detaches the .mdf file from the instance.

这似乎并没有发生。如果我用同名的新文件替换 MDF 文件(当然是在删除日志文件之后),SQL Server Express 将拒绝附加它。

我已经尝试了所有可能的连接字符串参数组合,这让我抓狂。有什么建议吗?

最佳答案

分离/关闭确实发生了。如果它不会发生,那么您就不可能替换 MDF 文件,因为它正在使用中。您引用的文档并不完全准确。正确的文档位于 SQL Server 2005 Express Edition User Instances :

  • User instance databases have the Auto Close option set so that if there are no connections to a database for 8-10 minutes, the database shuts down and the file is closed. This happens automatically, but it can take a while, especially if connection pooling is enabled for your connections.
  • Detaching the database from the instance by calling sp_detach_db will close the file. This is the method Visual Studio uses to ensure that the database file is closed when the IDE switches between user instances.

如果我敢猜测,我会说数据库不是分离的而是自动关闭的,并且在尝试打开数据库时删除 LDF 后重新放置 MDF 将(理所当然地)被视为错误。

作为旁注:

  • 永远不要删除 LDF 文件。如果要替换数据库,请将 MDF 和 LDF 替换为新的。
  • 确保替换为正确的 MDF 和 LDF 版本。 SQL Server 可以升级数据库,但永远不能降级。
  • 找出错误。如果 SQL Express 拒绝附加数据库,它会给出一个原因。查看 RANU 创建的 ERRORLOG(在用户配置文件中)、系统事件日志,或将分析器附加到用户实例。

关于sql-server - SQL Server Express 2008 不分离自动附加文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1902054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com