★★百万条数据里删除2万条数据总是超时,救命呀 2、一个批量的update语句即可,限定条件尽可能使用索引字段。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --小修复(只修复你查出的问题)--断开所有用户的连接,执行下面的代码进行修复exec sp_dboption '你的数据库名', 'single user', 'true'GoDBCC CHECKTABLE('table2',repair_rebuild)DBCC DBREINDEX('table2')goexec sp_dboption '你的数据库名', 'single user', 'false'Go 3、指定 DBCC CHECKTABLE 修复发现的错误。数据库必须在单用户模式下以使用修复选项,可以是下列值之一:REPAIR_ALLOW_DATA_LOSS执行由 REPAIR_REBUILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。 REPAIR_FAST进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。 REPAIR_REBUILD执行由 REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的危险。 --如果可能,对你的整个数据库进行检测修复(花费的时间较长)--注意修改数据库名,其他不用修改USE MASTERGOsp_dboption '你的数据库名', 'single user', 'true'GoDBCC CHECKDB('你的数据库名', REPAIR_ALLOW_DATA_LOSS) GoUSE 你的数据库名goexec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_ALLOW_DATA_LOSS)'exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'gosp_dboption '你的数据库名', 'single user', 'false'Go 1.企业管理器-〉右键你的数据库服务器-〉属性-〉连接-〉查询超时限定设为0-〉确定2.根据实际情况写update语句3.有重复数据? 首先运行下DBCC CHECKDB('dbname'),根据结果的提示看是否需要对数据库做修复 不要害怕,要对SQL Server有信心,我现在维护的一个表有9000多万行了,数据库Data文件有24G了,一样用得很流畅,注意你平时所用到SQL语句,优化索引,坚决杜绝全表扫描,一般就不会有什么大问题。乖乖 zjcxc(邹建)采用你的修复,运行1小时了还是无变化。强制取消就出错了。 那你就不要修复,将你的数据库导出为一个新库吧sql200企业管理器 --右键你的的数据库 --所有任务 --导出数据 --目标数据库,选择<新建> --然后选择"在两个SQL数据库之间复制数据和对象" --勾选"创建目的对象"和"包括扩展属性",其他的选项根据需要设置 --最后完成. sql语言如何查询指定天的数据?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! sql server2000中写脚本,有代码美化功能吗?好象其他的开发工具中有? 如何把一张表中相同的数据完全删除,保留没有重复的? 求一SQL语句 这个sql怎么写,要效率高点的(比较难) 有人还不愿睡的进来讨论讨论吧 我的连接sql的用c#在 vc2005里编辑的程序到其他计算机上连接不上 简单的SQL Server 2005 存储过程语句 如何确定当前日期在指定的时间段内? 简单问题一个 请高手过来帮忙,在线急等。。。。。。。。 这条语句是什么意思?
--断开所有用户的连接,执行下面的代码进行修复
exec sp_dboption '你的数据库名', 'single user', 'true'
GoDBCC CHECKTABLE('table2',repair_rebuild)
DBCC DBREINDEX('table2')
goexec sp_dboption '你的数据库名', 'single user', 'false'
Go
执行由 REPAIR_REBUILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。
REPAIR_FAST
进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。
REPAIR_REBUILD
执行由 REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的危险。
--注意修改数据库名,其他不用修改USE MASTER
GOsp_dboption '你的数据库名', 'single user', 'true'
GoDBCC CHECKDB('你的数据库名', REPAIR_ALLOW_DATA_LOSS)
GoUSE 你的数据库名
goexec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
gosp_dboption '你的数据库名', 'single user', 'false'
Go
2.根据实际情况写update语句
3.有重复数据?
采用你的修复,运行1小时了还是无变化。强制取消就出错了。
--右键你的的数据库
--所有任务
--导出数据
--目标数据库,选择<新建>
--然后选择"在两个SQL数据库之间复制数据和对象"
--勾选"创建目的对象"和"包括扩展属性",其他的选项根据需要设置
--最后完成.