Solved

SQL Server 2014 reindex maintenance plans

Posted on 2016-09-07
8
45 Views
Last Modified: 2016-09-21
i have a maintenance plan setup to run a weekly index.  Within the maintenance plan i have a rebuild index task and a reorganize index task.  I just wanted to ask the experts if it is recommended to do both or if i could just use the rebuild task and not worry about reorganizing index task.  

I want to avoid the huge log file that is created when running the reorganizing index task but i don't want to eliminate the reorganizing index task if it is something that will be important.

Also, i should mention that the job that includes reorg and rebuild is failing due to the log file filling up.  Maybe i can change settings for the log file to allow a bigger one and then run the job nightly instead of weekly...

Any thoughts?
0
Comment
Question by:IKtech
  • 3
  • 3
  • 2
8 Comments
 
LVL 39

Accepted Solution

by:
lcohan earned 250 total points
Comment Utility
1. No matter what anyone will say in my opinion (and not only me) REBUILD does way more than REORG and I would always use REBUILD if I have a server running enterprise edition like it looks you have.
2. If you run REBUILD then REORG is a waste assuming all indexes are rebuilt. Speaking of that...there are various extremely well written and working scripts available to only REBUILD indexes where fragmentation is greater than xx% so your T-log would not grow as if you rebuild ALL. For instance this one: https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html

Also, some indexes will show fragmentation right after rebuild/reorg because of their composition and fillfactor so...I would not just rebuild ALL by default.
3. If you can change the Recovery option to SIMPLE indeed the T-log growth will be smaller but..you will lose the fast recovery option as T-Log backups cannot be taken. I would try first as mentioned a filtered REBUILD and maybe do it once as you said manual and monitor the T-log growth and when is getting close to get full just take a T-log backup to reclaim the space. After that a daily REBUILD filtered should not fill the T-Log because only fragmented indexes will be rebuilt.
0
 
LVL 3

Author Comment

by:IKtech
Comment Utility
Thanks Icohan!!  i'll give it a shot...
0
 
LVL 39

Expert Comment

by:lcohan
Comment Utility
Just caution with CLUSTERED INDEXES as they can also be rebuilt with ONLINE = ON but...performance may suffer in particular while these ones are done and a decrease in performance should be expected in general while indexes are rebuilt due to resource consumption but if your database is not backend to a 24/7 system you should have no issues to do that during off-hours.

 Also, do not change Recovery option of a production database without checking existing backup/restore and disaster recovery policies internal to your place.
0
 
LVL 45

Assisted Solution

by:Vitor Montalvão
Vitor Montalvão earned 250 total points
Comment Utility
Most of DBAs I know follows Microsoft's recommendation and that's includes Ola Hallengren.
Fragmentation level:
> 5% and < = 30% ALTER INDEX REORGANIZE
> 30% ALTER INDEX REBUILD WITH (ONLINE = ON)


To reduce the use of transaction log you can use the option SORT_IN_TEMPDB = ON but maybe your transaction log is not correctly sized and better to provide in advance the necessary disk space.
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
LVL 3

Author Comment

by:IKtech
Comment Utility
I removed the reorg task and just do a rebuild.  Also the max size for the transaction log was increased.  Things seem to be running well at the moment.  Thanks!
0
 
LVL 39

Expert Comment

by:lcohan
Comment Utility
Make sure you take regular T-log backups - ideally one as soon as the rebuild is done so the space is recycled/release back to use inside the T-log file.
0
 
LVL 3

Author Comment

by:IKtech
Comment Utility
it's done hourly...
0
 
LVL 45

Expert Comment

by:Vitor Montalvão
Comment Utility
I removed the reorg task and just do a rebuild
Technically it's a solution that works but in my opinion this is a waste of resources (CPU, Memory and Storage) and will cause more locks during the rebuild task.
REORG is there for a reason and not using it won't bring any harm but using it will bring benefits in terms of limiting the resource usage.
Cheers
0

Featured Post

Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

Join & Write a Comment

Suggested Solutions

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now