【发布时间】:2016-06-15 23:32:08
【问题描述】:
我在 Godaddy 数据库服务器中发现我的数据库超出限制,他们的支持团队告诉我这是因为完整的事务日志
由于我对共享主机没有管理权限,他们将其截断后,几周后又满了
他们告诉我这是由于我的代码,并要求我审查我的代码以优化它
但现在我不明白查看我的查询是什么意思
在我的查询中是否需要编写任何代码以避免完整的事务日志
在查询成员时更新
.
我的代码是这样的
Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase dbHelper = new Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase(System.Configuration.ConfigurationManager.ConnectionStrings["ABestoreConnectionString"].ToString());
SqlCommand dbCommand = (SqlCommand)dbHelper.GetStoredProcCommand("Admin_FAQD");
dbHelper.AddInParameter(dbCommand, "@FAQID", SqlDbType.Int, fAQID);
dbHelper.ExecuteNonQuery(dbCommand);
return true;
如何使用此代码开始事务和提交 -
我用来将数据从 excel 文件批量插入 SQL Server 表的另一个函数
//series of commands to bulk copy data from the excel file into our sql table
OleDbConnection oledbconn = new OleDbConnection(excelFileConnStr);
OleDbCommand oledbcmd = new OleDbCommand(query, oledbconn);
oledbconn.Open();
OleDbDataReader dr = oledbcmd.ExecuteReader();
SqlBulkCopy bulkcopy = new SqlBulkCopy(sqlConnStr, SqlBulkCopyOptions.CheckConstraints);
bulkcopy.DestinationTableName = ssqltable;
while (dr.Read())
{
bulkcopy.WriteToServer(dr);
}
oledbconn.Close();
如何使用此代码开始事务和提交 –
【问题讨论】:
-
如果满足应用程序的需要,您应该将数据库更改为简单恢复。这限制了事务日志的大小。
-
但是 godaddy 支持告诉我,这在他们的共享主机上是不允许的,并告诉我我必须检查我的查询以优化它们
-
它不能“满”,但可以利用所有可用空间
-
是的,我想知道让我的查询不要使用事务日志.. godaddy 告诉我查看您的查询.. 我不知道该怎么做
-
您能提供您最常运行的查询的示例吗?例如。重复插入语句可以快速填满事务日志。
标签: sql sql-server tsql transactions transaction-log