SQL Server Editions and Indexing

Two things not available in Standard that caught my eye were: Online indexing Online schema change On the Standard version, SQL Server will lock your object (i.e. table) until the create index or alter table is complete. If you have the Enterprise Edition, then you could specify the WITH (ONLINE=ON) option to alter tables or create indexes,... » read more

SQL Server First Responder Kit for Performance Troubleshoot

Brent Ozark Unlimited https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit#how-to-install-the-scripts Focus on the top offenders from EXEC sp_BlitzCache @SortOrder = ‘cpu’ as the starting point. Review Steps Install the first responder toolkit.  Use the Install-All-Scripts.sql installation script in master. https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit Exec sp_Blitz Exec sp_BlitzCache During peak hours run Exec sp_BlitzFirst.  If the DB is already hitting 100% CPU constantly don’t... » read more

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

This isolation level allows dirty reads. One transaction may see uncommitted changes made by some other transaction. To maintain the highest level of isolation, a DBMS usually acquires locks on data, which may result in a loss of concurrency and a high locking overhead. This isolation level relaxes this property. You may want to check... » read more

TempDB Best Practices

The number of the TempDB data files should match the number of logical processors, up to eight files, on the machine where the SQL Server instance is installed. If the number of logical processors on that machine is greater than eight, set the number of data files to eight, with the ability to extend it... » read more

Time-out occurred while waiting for buffer latch type 3

Error: Error in procedure dbo.uspXXXX Error in procedure dbo.uspXXXX Time-out occurred while waiting for buffer latch type 3 for page (6:784), database ID 2. [SQLSTATE 42000] (Error 50000)  Process Failed, ERROR CODE:0 [SQLSTATE 42000] (Error 50000).  The step failed. Cause: IO requests of SQL Server cannot be met by the hardware. This becomes pronounced when... » read more

Why you should not shrink your data files

Now, don’t confuse shrinking the transaction log with shrinking data files. Shrinking the log may be necessary if your log has grown out of control, or as part of a process to remove excessive VLF fragmentation (see Kimberly’s excellent posts on this here and here). However, shrinking the log should be a rare operation and should not be... » read more

How to delete large data of table in SQL without running out of log space

Change your database’s Recovery Mode to SIMPLE and then delete rows in smaller batches using a while loop something like this: Keep in mind that logs could grow a lot if you don’t commit the transaction after each chunk and perform a checkpoint. This is how I would do it and take this article http://sqlperformance.com/2013/03/io-subsystem/chunk-deletes as reference,... » read more