(Continuing my habit of blogging while Kimberly’s presenting – at least I’m not on stage this time…)
In early versions of SQL Server, it was sometimes necessary to ‘pin’ the pages from a heavily used table in the buffer pool to help performance. In later versions, the buffer pool became very sophisticated and does an excellent job of keeping the right data in memory (basically using an LRU algorithm). I saw a blog post today which mentioned that you can get into trouble using DBCC PINTABLE if you pin a table in memory and then the table grows and grows, and ends up taking up such a large proportion of the database that it causes massive performance problems – absolutely true. The blog post also mentioned that DBCC PINTABLE was deprecated in SQL Server 2005.
That’s also true – it’s deprecated, but in SQL Server 2005 it actually does NOTHING at all. I personally removed all the code – so now it just returns a success message.