我正在尝试缩小数据库的日志 并将恢复设置为simple ,但是无论我尝试如何,总是会出现错误。

USE 4_o5;
GO
ALTER DATABASE 4_o5
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (4_o5_log, 10);
GO

sp_helpfile的输出表明该日志文件位于(托管解决方案)下:

I:\dataroot\4_o5_log.LDF

请帮助我执行此操作,因为导入大量数据时日志文件很大,现在不再需要此信息,此后具有多个(大量)备份。

执行上面的查询时,确切的错误消息是:

incorrect syntax near '4'.
RECOVERY is not a recognized SET option.
incorrect syntax near _5_log'.

我正在使用Visual Studio 2010(也在本地安装了SQL Server Express,在提供程序(共享)上已正确安装了SQL Server 2008)

非常感谢

#1楼 票数:2 已采纳

做就是了

USE [4_o5] --need brackets with this DB name, as marc_s commented
GO
DBCC SHRINKFILE (2, 10)

DBCC还会获取内部文件ID号,我看到您在逻辑文件名和物理文件名的分离方面遇到了问题...这使我假设您没有多个日志文件或NDF等,并且日志文件始终为2

但是, 为什么仍然要缩小呢?

更改恢复模型: ALTER DATABASE [4_o5] SET RECOVERY SIMPLE

#2楼 票数:1

尝试这个:

USE [4_o5];
GO
ALTER DATABASE [4_o5] SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE ([4_o5_log], 10);
GO

您的数据库名称以数值开头有点不寻常-尝试将其放在方括号中。

更新:对于DBCC SHRINKFILE ,您需要日志文件的逻辑名称-这是sp_helpfile调用中的name属性。 并且您还需要将其放在方括号中:

USE [4_o5]
GO
DBCC SHRINKFILE ([4_o5_log], 10)
GO

  ask by b0x0rz translate from so

未解决问题?本站智能推荐:

3回复

SQL Server中的收缩日志文件的文件大小没有变化

我在一个组织工作,遇到一个我无法缩小日志文件的问题。 SQL Server数据库在600 GB硬盘驱动器中消耗了400 GB。 日志文件大小约为350 GB。 我尝试缩小日志文件,但大小保持不变。 我的数据库的恢复模型为SIMPLE。 我浏览了一些在线文章,其中建议备份日志文件
5回复

如何在不增加日志文件的情况下重新加载表?

我有以下情况,该情况每天晚上在SQL Server 2008中使用SSIS运行: 创建一些温度。 表,并从ODBC数据源导入数据 导入完成后,删除现有表,然后重命名temp。 与删除的表同名的表 我需要在SSIS作业或SQL Server设置中做什么以最大程度地减少
3回复

阅读SQL Server 2008中的日志文件(* .LDF)

我正在寻找一种方法来读取SQL Server 2008日志文件,不是为了显示信息,而是为了读取符号的含义和LOG表的结构。 我正在使用DBCC LOG('my_table', 3) 。
2回复

SQL-创建表以存储SQL用户活动

我想创建一个SQL表,用于存储/捕获特定数据库的用户访问权限或活动。 例如,每当用户登录到服务器并查询特定的数据库时,该表就具有用户名,访问/查询的数据库,活动时间等条目。 我知道我会在某个地方找到.txt日志文件-但是有一种更简单的自动方式吗? 我将如何去做呢? 提前致
2回复

SQL Server审核日志-复制当前日志文件

如何使SQL Server释放当前的审核日志文件并启动新的审核日志文件? 我们需要将审核日志文件移动到另一个位置,我们每晚都要这样做。 但是,由于几乎没有活动要记录,因此文件很少达到创建新文件的大小(根据MAXSIZE设置)。 但是,如果有一个包含内容的文件,我想复制/移动它。 因为
3回复

MS SQL。 如何缩小日志文件的时间点?

有人正在缩减生产中数据库的日志文件。 时不时。 经常收缩是不好的。 但是,如何找到日志文件收缩的时间和SQL用户的信息? MS SQL Server上的所有记录都会记录下来,因此我要查找的信息在某处。 某种系统视图或表?
1回复

是否可以使用DBCC SHRINKFILE缩小链接服务器上的日志文件?

我正在对从一个数据库到链接服务器上另一个数据库的数据进行大型归档。 我正在从MS sql server 2000复制到MS sql server2005。这涉及到复制数百万条记录,然后删除它们。 所有这些都是通过动态脚本进行的。 我想为此过程合并日志文件的缩小,但是我无法使DBCC SHR
1回复

如何在SQL2000中将多个LOG文件合并为一个.LDF文件

这是sp_helpfile关于SQL2000中当前数据库(恢复模型很简单)的说明: 我正在尝试为此准备一个分离,然后附加到sql2008实例,但是我不想拥有第二个.LDF文件(我只想为日志创建一个文件)。 我已经备份了数据库。 我已经发出:BACKUP LOG MasterS