sql-server – 求助!数据库’tempdb’的日志文件已满.备份数据
我们正在运行SQL Server 2000.在我们的数据库中,我们有一个“订单”表,大约有750,000行.我们可以在这个表上执行简单的SELECT语句.但是,当我们想要运行SELECT TOP 100 * FROM Orders ORDER BY Date_Ordered DESC之类的查询时,我们收到以下消息:
我们的数据库中有其他表,这些表的大小与表中的记录数量相似(即700,000条记录).在这些表中,我们可以运行任何我们想要的查询,并且我们从未收到有关’tempdb full’的消息. 为了解决这个问题,我们已经备份了数据库,缩小了实际的数据库,并缩小了tempdb系统数据库中的数据库和文件,但这还没有解决问题. 我们的日志文件的大小设置为自动增长. 我们不确定下一步该去哪里.有什么想法我们仍然可能收到这条消息吗?
解决方法根据 this article,如果排序需要的内存比SQL Server分配的内存多,则使用临时数据库.如果对未编制索引的列进行排序,则数据库服务器将执行全表扫描并跟踪表中所有记录的所有Date_Ordered值(和主键值). 在Orders.Date_Ordered上创建一个INDEX,以加快排序并减少内存使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLSERVER 2008 如何获取一个数据库中的所有表的名称、一个
- sql-server – 一次将多个数据库从C:移动到D:
- Sql Server datetime问题用法
- SQLSERVER REPLACE函数替换 ntext类型
- sql-server – 如何在SQL Server数据库中将两列设置为增量种
- 获取sqlserver数据库中所有库、表、字段名的方法
- 在WinServer2008下安装SQLServer2014
- SQLSERVER2005的配置管理器打不开,老是显示“无法连接到WM
- SQL Pivot可以进行以下查询吗?
- SQLServer 主体设置镜像伙伴失败:服务器网络地址 "TCP