soM*_*arn 6 sql-server configuration
我目前将 SQL DB 和日志文件发送到同一个驱动器。我想将日志文件移动到自己的驱动器。有没有一种简单的方法可以实现这一点,是否需要停机/重启服务器?
Aar*_*and 11
请不要分离和附加您的数据库。如果您分离它并且发生了某些事情,那么您现在的数据库副本为零。更安全的方法:
USE master;
GO
BACKUP DATABASE floob TO DISK = 'c:\wherever\floob.bak' WITH INIT, COPY_ONLY;
ALTER DATABASE floob SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE floob FROM DISK = 'c:\wherever\floob.bak'
WITH REPLACE,
MOVE N'floob_log' TO 'c:\new_path\floob.ldf';
Run Code Online (Sandbox Code Playgroud)
(在执行此操作之前,您仍应进行备份。)
USE master;
GO
ALTER DATABASE floob SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE floob MODIFY FILE
(name = N'floob_log', filename = 'c:\new_path\floob.ldf');
ALTER DATABASE floob SET OFFLINE;
Run Code Online (Sandbox Code Playgroud)
现在转到 Windows 资源管理器,将ldf 文件复制到新位置,并重命名原始文件。确保 SQL Server 服务帐户对新文件夹具有足够的权限。然后:
ALTER DATABASE floob SET ONLINE;
ALTER DATABASE floob SET MULTI_USER WITH ROLLBACK IMMEDIATE;
Run Code Online (Sandbox Code Playgroud)
数据库备份并运行后,您可以安全地从源位置删除日志文件。
这两种方法都需要短暂的停机时间(多少取决于很多因素,包括数据库的大小和驱动器本身的 I/O 速度以及它们之间的任何路径),但都不需要您重新启动服务器.
归档时间: |
|
查看次数: |
3644 次 |
最近记录: |