ste*_*eve 2 sql-server database-size transaction-log
我正在运行 SQL Server 2008 Express 并且遇到了 4GB 大小的问题。在迁移到更大的数据库之前,我想腾出一些空间给我时间。
我不需要我的交易日志。那么,我可以删除我的日志以增加空间吗?
否则,我将不得不创建一个重复的数据库结构,然后将数据复制到新数据库中,然后从原始数据库中删除所有内容,以便我可以重新开始。
在这种情况下,是否有一种“简单的方法”可以将旧表中的数据复制到新表中?
我不需要我的交易日志。
是的你是。
我可以删除我的日志以增加空间吗?
不,你不能。
在这种情况下,是否有一种“简单的方法”可以将旧表中的数据复制到新表中?
在你放弃当前数据库之前,你应该退后一步分析为什么你认为当前数据库中的事务日志太大。除非您记录工作负载更改,否则新数据库中将发生相同的行为。
首先找出您的事务日志文件有多大以及文件内实际使用了多少空间:
use YourDatabaseName;
go
select
name,
physical_name,
type_desc,
size_mb =
convert(decimal(10, 2), size * 8.0 / 1024),
used_space_mb =
convert(decimal(10, 2), fileproperty(name, 'spaceused') * 8.0 / 1024)
from sys.database_files;
Run Code Online (Sandbox Code Playgroud)
注意:您需要将“YourDatabaseName”更改为适当的数据库名称。
同样,某些数据库设置(恢复模型)和日志重用描述也可以帮助对过大的事务日志进行故障排除:
select
name,
recovery_model_desc,
log_reuse_wait_desc
from sys.databases
where name = 'YourDatabaseName';
Run Code Online (Sandbox Code Playgroud)
上述查询应该是一个不错的起点,可以对您的问题进行故障排除和/或发现。请随意在下面评论您的发现,我们可以更进一步。
另一件事,您的 Express Edition 是否完全局限于 SQL Server 2008?在 SQL Server 2008 R2 及更高版本中,最大数据库大小为 10 GB。不能使用较新版本的 SQL Server 吗?
归档时间: |
|
查看次数: |
279 次 |
最近记录: |