|
Posted by Erland Sommarskog on 01/11/07 22:46
Erland Sommarskog (esquel@sommarskog.se) writes:
> When the operation has completed (or you have gotten tired of waiting
> and killed SSMS), issue this command:
>
> ALTER DATABASE db SET PARAMETERIZATION FORCED
>
> Redo the scripting operation. It will now complete in five seconds.
By the way, this is something important for your application as well.
Say that a DBA finds out that your app is thrashing the cache by not
using parameterised queries, and sets the database to forced
parameterisation, you will get back the behaviour you have now.
A bettery remedy is to add OPTION (RECOMPILE) at the end of sensitive
queries. This forces a statement recompile, and the query will not be
put in cache. This means that you can still use parameterised queries
and get the other benefits of it. (Protection for SQL injection and
repsecting the user's regional settings.) You also avoid thrashing
the cache.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
[Back to original message]
|