首先我要说的是,我是 SQL Server 新手,所以请大家谅解。
背景:我接手了一个需要导出数据库的项目。我很快发现日志文件从未备份过,因此已增长到超过 37 GB。这导致服务器上只剩下几 GB 的存储空间,不足以让我导出。
问题:我需要备份日志文件,以便可以截断文件并恢复空间。但是,C: 驱动器上没有足够的空间来执行此备份。我们已安装 USB 外部驱动器,但我无法从 SQL Server 备份向导访问外部驱动器。当我尝试添加目标时,唯一的选项是 C: 驱动器。我的问题是,如何将日志文件备份到此外部驱动器?
数据库和服务器信息:
SQL Server 2003(企业管理器版本 8)MS Server 2003 外部 USB 驱动器存储具有超过 1.8 TB 的可用空间
任何帮助将不胜感激。
答案1
我假设您实际上不需要对事务日志中的数据进行时间点恢复。只需将数据库的恢复模式从完整模式更改为简单模式。这会将事务日志中的所有条目标记为可覆盖。此时,您可以将事务日志缩小到更合理的大小。
ALTER DATABASE YourDatabase
SET RECOVERY SIMPLE
答案2
USE DatabaseName
GO
BACKUP LOG DatabaseName
TO DISK = 'Location\DatabaseName_LOG.trn'
WITH COMPRESSION,
NAME = 'Log backup of DatabaseName’
GO
这应该会将事务日志备份到外部驱动器。然后您可以继续从日志中修剪多余的内容。 *注意“带压缩”仅在 SQL 2008 及更高版本中有效。