移动日志文件而无需使数据库脱机


Answers:


16

无法使用在线数据库执行此操作。

移动数据库文件(ALTER DATABASE ... MODIFY FILE)时,甚至会收到以下消息:

文件“ YourFile”已在系统目录中修改。下次启动数据库时使用新路径。


这样做的通常方法是分离数据库,移动日志文件,然后重新附加数据库。

那不是我要做的“正常”或接受的方式。要移动数据库文件,请执行以下操作:

  1. 运行ALTER DATABASE命令来更改文件的位置
  2. 使数据库脱机
  3. 将文件实际移动到步骤1中指定的新位置
  4. 使数据库联机

请参阅TechNet上的此参考:移动用户数据库


3

根据TechNet上的参考移动用户数据库托马斯·斯特林格的回答,如果你要移动的文件,而无需停止整个SQL Server实例(继“计划的重新安置程序”),顺序应该是:

ALTER DATABASE database_name SET OFFLINE;
... move the file(s) to new location
ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' );
ALTER DATABASE database_name SET ONLINE;

首先请注意离线。然后移动文件,并告知SQL Server有关新位置的信息。

如果确实需要删除整个SQL Server实例(请参阅“计划的磁盘维护的重定位”过程),则最好先修改文件位置,以便在实例重新启动时查找文件没有问题。在新位置。


1

我知道这是一个老问题,但是您能否仅在新位置添加第二个日志文件(然后由数据库而不是原始日志文件使用),然后收缩/删除原始文件?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.