请教个问题,我开始将SQL SERVER数据库的日志设置为10M,每读取保存几批数据(一批有几万条数据),就清空一下,再重新读取保存,但后来运行中,可能是操作人员清空不及时,再清空数据时后台数据没办法清空了,手动在数据库的查询分析器里面删除,也提示报错:
消息 9002,级别 17,状态 2,第 1 行
数据库 'Uploadata' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。
我将数据库日志放宽到500M左右,用一了会又如上报错,再放宽到2G左右,又可以正常删除了,但就怕后面还会报错,请问这是什么原因,我希望能将日志固定一个值,然后再读取保存不再报错,以下是我的日志大小设置,和我的清空代码,请看一下;

string Comline = comProLine.Text;
string[] tables = { "w_KdrugUpload", "w_KTcodeUpload", "w_KSaleOutO", "w_KSaleOutT" };
if (Comline == "老生产线")
{
using (SqlConnection conn = new SqlConnection("server=192.168.10.137;database=Uploadata;user=kcsa;password=kcyy0536"))
{
await conn.OpenAsync();
// 开启事务保证原子性
using (SqlTransaction transaction = conn.BeginTransaction())
{
try
{
foreach (string table in tables)
{
using (SqlCommand cmd = new SqlCommand($"DELETE FROM {table}", conn, transaction))
{
await cmd.ExecuteNonQueryAsync();
}
}
transaction.Commit(); // 提交事务
MessageBox.Show("清空表成功!");
// 这里继续添加批量导入数据的逻辑...
}
catch (Exception ex)
{
transaction.Rollback(); // 回滚事务
MessageBox.Show($"操作失败:{ex.Message}");
}
}
}
}