چرا offline کردن یک دیتابیس در SQL SERVER زمان زیادی طول می کشد؟

من با این مشکل مواجه شدم با وجودی که هیچ کانکشنی به دیتا بیس وجود نداشت ولی زمان زیادی طول میکشید تا دیتا بیس آفلاین شود تا این که دستور زیر را پیدا کردم

ALTER DATABASE <dbname> SET OFFLINE WITH ROLLBACK IMMEDIATE

ضمن اینکه با دستور زیر دیتابیس در حالت تک کاربره قرار میگیرد و می توان بعد از آن دیتابیس را افلاین نمود
ALTER DATABASE SET SINGLE_USER WITH Rollback Immediate

برای پیدا کردن کانشکشن های موجود هم می توان از دستور زیر استفاده کرد
USE master SELECT * FROM sys.sysprocesses WHERE dbid = DB_ID('MyDB')


منبع :
http://stackoverflow.com/questions/808232/extreme-wait-time-when-taking-a-sql-server-database-offline

خالی نمودن حافظه پنهان استفاده شده توسط برنامه Microsoft SQL Server

برنامه Microsoft SQL Server به منظور بالا بردن راندمان و کارایی، ساختار آخرین کوئری های اجرا شده بر روی پایگاه داده و آخرین اطلاعات (Data)واکشی شده از جداول را در حافظه ی نهان (Cache) ذخیره ..........

ادامه نوشته

کتاب های Sql Server 2008

بهینه سازی stored procedure ها در SQL Server

بهینه سازی stored procedure ها در SQL Server

  مورد 1- در نامهای SP از "_sp" استفاده نکنید. زیرا این علامت مخصوص sp های سیستمی موجود در جدول master میباشد و هنگامی که از این اختصار استفاده میکنید سیستم ابتدا دنبال این نام در جداول سیستمی میگردد. پس از اون اگه پیدا نکرد با ownerDBO به دنبال اون میگرده که همین باعث میشه کلی از سرعت اجرای sp کاهش پیدا کنه.

2-در داخل یک SP بهتر است به جای اینکه داخل آن از دو دستور Select استفاده کرد، هرکدام را در داخل یک SP قرار داده و آنرا به هنگام نیاز اجرا کنیم. به مثال زیر توجه نمایید:

ادامه نوشته

SQL Server Profiler Templates

 

چگونه يك الگو براي SQL Profiler ايجاد نماييم.

 

مرجع استفاده از SQL Server Profiler 2008

To use SQL Server Profiler, you need to understand the terms that describe the way the tool functions

 

منبع : مايكروسافت

ادامه نوشته