我在同一个驱动器上有一个 MDF 和 LDF,驱动器几乎没有空间了。我在同一台服务器中有第二个驱动器,我想将 LDF 文件移动到该驱动器。我知道我可以分离和重新连接,但这涉及停机时间,我想透明地做到这一点。
- 我在新驱动器上创建了第二个日志文件并将其添加到数据库中,因此数据库有两个日志文件。
- 当我尝试删除旧的日志文件时,我得到“无法删除主日志文件”
我所做的所有研究都表明,无法更改在线数据库上的“主要”日志文件 - 您必须将其分离,然后仅使用您想要作为主要的日志文件重新附加它。在一个理想的世界里,我是这样想象它应该如何工作的:
- 创建第二个日志文件并将其添加到数据库
- 将新文件设置为“主要”,因此所有新的日志数据都写入那里
- DBCC SHRINKFILE,选中将所有数据迁移到同一组中的其他文件的选项
- 由于旧的“主”文件现在为空,您可以将其从数据库中删除
我疯了吗?有没有办法做到这一点,我不知道?
我会这样做:
您将有两个日志文件,但一个只有 1 MB。
希望它会有所帮助。我希望有更好的方法来做到这一点
以及卢卡斯的回答
您不能像数据文件一样删除或清空日志文件。您需要停机才能移动它。
但是,现在您有 2 个日志文件。您可以 RESTORE .. WITH MOVE.. 确保两者都在您想要的驱动器上。如果你想删除一个,那么你必须分离,删除,附加(不推荐......)。