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;
先注意OFFLINE;之后移动文件并告诉 SQL Server 新位置。
如果确实需要关闭整个 SQL Server 实例(请参阅“计划磁盘维护的重定位”过程),最好先修改文件位置,以便在重新启动实例时找到文件没有问题在新的地点。
使用在线数据库无法做到这一点。
当您移动数据库文件 (
ALTER DATABASE ... MODIFY FILE
) 时,您甚至会收到以下消息:这不是我会做的“正常”或被接受的方式。要移动数据库文件,我执行以下操作:
请参阅 TechNet 上的此参考:移动用户数据库
根据Thomas Stringer 的回答中关于 TechNet Move User Databases的参考,如果您想在不停止整个 SQL Server 实例的情况下移动文件(遵循“计划的重定位过程”),则顺序应为:
先注意OFFLINE;之后移动文件并告诉 SQL Server 新位置。
如果确实需要关闭整个 SQL Server 实例(请参阅“计划磁盘维护的重定位”过程),最好先修改文件位置,以便在重新启动实例时找到文件没有问题在新的地点。
我知道这是一个老问题,但你不能在新位置添加第二个日志文件(然后由数据库而不是原始文件使用)然后缩小/删除原始文件吗?