在查看我们的某个数据库之后,如果我达到了sql express db的限制,我发现它会让人感到困惑。该数据库是使用sql server express 2005创建的,但后来迁移到了表达2008 r2。据我所知,截至2008年,数据库有10GB的限制,但这意味着数据库必须在2008年创建,或者当我迁移数据库时,它获得了5GB的额外空间。
有问题的db的属性窗口。 http://i58.tinypic.com/24476zq.jpg
sp_spaceused查询 http://i59.tinypic.com/25s1sm8.jpg
我能做些什么来腾出空间。我在SSMS向导中运行了缩减数据库,但它似乎没有释放任何空间。
答案 0 :(得分:3)
您有一个4750 MB的数据库,其中4580 MB用于事务日志,其使用率超过98%。您有一个巨大的未提交查询,或者您具有完全备份恢复模型,并且您不备份日志。
右键单击Management Studio中的数据库,然后打开属性。选择“文件” - 我想事务日志的大小远远大于数据库文件的大小。
选择“选项”。查看恢复模型的存在。将其切换为简单,过了一会儿,另一个DBCC SHRINKDATABASE应该释放日志空间。
答案 1 :(得分:1)
您始终可以使用SHRINKFILE截断日志文件,相信它会释放足够的空间,因此您不必担心。
示例:
USE [dbname]
BACKUP LOG [dbname] WITH TRUNCATE_ONLY
DECLARE @InternalLogName VARCHAR(64)
SELECT TOP 1 @InternalLogName = RTRIM(LTRIM(name)) FROM sysfiles WHERE groupid = 0
DBCC SHRINKFILE (@InternalLogName)