در هنگام بازگردانی یک دیتابیس، کاری که لازم است انجام دهید، این است که اطمینان حاصل کنید که به دیتابیس دسترسی دارید. اگر یوزر دیگری در دیتابیس باشد، بازگردانی شکست خواهد خورد.
توضیحات:
وقتی سعی می کنید یک بازگردانی را انجام دهید، اگر یوزر دیگری در دیتابیس باشد، پیغام های خطایی مشابه زیر دریافت خواهید کرد:
T-SQL
1 2 3 4 5 6 7 | Msg 3101, Level 16, State 1, Line 1 Exclusive access could not be obtained because the database is in use. Msg 3013, Level 16, State 1, Line 1 RESTORE DATABASE is terminating abnormally.<button></button> |
SSMS

دریافت دسترسی ویژه
برای داشتن دسترسی ویژه، لازم است که همه ی اتصالات دیگر قطع شوند و یا دیتابیسی که به آن نیاز دارند، تغییر کند، بنابراین آنها از دیتابیسی که شما سعی در بازگردانی آن دارید، استفاده نمی کنند. می توانید از sp_who2 یا SSMS استفاده کنید تا اتصالاتی را مشاهده کنید که در حال استفاده از دیتابیس مورد نظر شما هستند.
استفاده از KILL
گزینه ی دیگری برای دریافت دسترسی ویژه، دستور KILL می باشد برای از بین بردن اتصالاتی که در حال استفاده از دیتابیس شما هستند؛ اما لازم است بدانید که چه اتصالاتی را از بین می برید و همچنین اطلاعات بازگردانده شده ای که ممکن است به آنها احتیاج داشته باشید.
استفاده از ALTER DATABASE
گزینه ی دیگر قرار دادن در حالت تک کاربر می باشد و سپس انجام بازگردانی. این مسئله نیز بسته یه گزینه ای که استفاده می کنید، یک عقبگرد انجام می دهد، اما همه ی اتصالات را همزمان انجام خواهد داد.
1 2 3 4 5 6 7 | ALTER DATABASE AdventureWorks SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO RESTORE DATABASE AdventureWorks FROM DISK = 'C:\AdventureWorks.BAK' GO<button></button> |