SQL Server 2008日志文件具有最小尺寸,给出了什么以及如何使它们更小?
-
16-10-2019 - |
题
好的,首先,我在创建数据库时搞砸了,使用一个大致类似的创建脚本:
CREATE DATABASE [EXAMPLE] ON PRIMARY
( NAME = N'EXAMPLE_Data', FILENAME = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.mdf',
SIZE = 446046KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
LOG ON
( NAME = N'EXAMPLE_Log', FILENAME = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.ldf',
SIZE = 664505KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
因为我从现有的开发数据库中将其脚本拼写出来,所以我只是想了解一些事情。当我没有将尺寸更改为合理的东西时,我搞砸了(例如 4096KB
)因此,现在我无法将日志文件缩小到大约600MB以下。
我知道我在哪里出错,但是如何轻松修复它?
解决方案
分离数据库。
sp_detach_db @dbname = 'EXAMPLE'
物理从磁盘中删除日志文件(这是 至关重要的, ,但可能会冒险 - 请参阅 Mrdenny下面的评论)。
使用该数据库使用
sp_attach_single_file_db
存储过程。sp_attach_single_file_db @dbname = 'EXAMPLE', @physname = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.mdf'
其他提示
希望您有足够的特权访问SSM。如果您这样做,请按照以下步骤
- 打开SSM
- 连接到您SQL Server Instacne
- 打开对象资源管理器,右键单击数据库(您要缩小日志文件最小大小),然后选择“属性”
- 从“属性”窗口 - 选择“文件”
- 您将在右下看到数据库文件网格
- 单击添加以添加新日志文件,给予
- 逻辑名称
- 文件类型=日志
- 初始尺寸= 1 MB(或您的偏好)
- CICK自体并相应地设置偏好
- 文件名
- 现在单击现有的日志行,然后选择“删除”
- 而已!现在,您拥有带有所需的最小尺寸的新日志文件。
不隶属于 dba.stackexchange