我有一个NONCLUSTERED INDEX
,总碎片占85.71%,页面丰满度为55.35%。
这可以在不使我的实例脱机而不是企业版的情况下完成吗?
TITLE: Microsoft SQL Server Management Studio
------------------------------
Rebuild failed for Index 'idx_last_success_download'. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2500.0+((KJ_PCU_Main).110617-0038+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Rebuild+Index&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Lock request time out period exceeded. (Microsoft SQL Server, Error: 1222)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2500&EvtSrc=MSSQLServer&EvtID=1222&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
重组后:
ALTER INDEX idx_last_success_download ON dbo.TERMINAL_SYNCH_STATS
REORGANIZE;
我仍然得到85.71碎片?
使用我的统计资料:DBCC SHOWCONTIG
DBCC SHOWCONTIG scanning 'TERMINAL_SYNCH_STATS' table...
Table: 'TERMINAL_SYNCH_STATS' (331148225); index ID: 38, database ID: 7
LEAF level scan performed.
- Pages Scanned................................: 7
- Extents Scanned..............................: 5
- Extent Switches..............................: 6
- Avg. Pages per Extent........................: 1.4
- Scan Density [Best Count:Actual Count].......: 14.29% [1:7]
- Logical Scan Fragmentation ..................: 85.71%
- Extent Scan Fragmentation ...................: 40.00%
- Avg. Bytes Free per Page.....................: 3613.9
- Avg. Page Density (full).....................: 55.35%
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试使用指定选项WAIT_AT_LOW_PRIORITY
运行重建
例如如下
ALTER INDEX idx_last_success_download ON dbo.TERMINAL_SYNCH_STATS
REBUILD WITH
( FILLFACTOR = 80, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = ON,
ONLINE = ON (WAIT_AT_LOW_PRIORITY
(MAX_DURATION = 4 MINUTES, ABORT_AFTER_WAIT = BLOCKERS ) ),
DATA_COMPRESSION = ROW
);
有关详细信息,请参阅:https://msdn.microsoft.com/en-us/library/ms188388.aspx
答案 2 :(得分:0)
请注意,在任何情况下,您都不必使用SQL server database or SQL Server instance offline
来重建任何索引。是,如果您有标准版ONLINE索引重建是不可能的,您必须确保应用程序或某些查询不访问该表,否则索引重建将失败
什么是
的输出select @@Version
erorr消息
超出锁定请求超时时间。 (Microsoft SQL Server,错误:1222)
只说当索引重建任务试图在表上获得exlcusive锁时,因为在索引重建索引被删除并重新创建时,它无法获得错误消息。这不是一个威胁性的信息。在重建索引时,您可以在标准版和企业版中获得此消息。
索引重建是维护活动,因此在数据库负载相对较少时或在维护窗口期间应始终完成。
对于解决方案,尝试在没有正文访问数据库或laod时重建