خانه SQL Server وضعیت بانکهای اطلاعاتی در SQL Server SQL Server SQL Server Backup نوشته شده توسط: مسعود طاهری تاریخ انتشار: ۰۸ اردیبهشت ۱۳۹۷ آخرین بروزرسانی: ۲۶ آبان ۱۴۰۲ زمان مطالعه: 10 دقیقه ۳ (۲) مقدمه وضعیت بانک اطلاعاتی در SQL Server بانکهای اطلاعاتی میتوانند وضعیتهای مختلفی داشته باشند ما در این مقاله سعی خواهیم کرد وضعیت بانکهای اطلاعاتی را بررسی کنیم. برای مشاهده وضعیت بانکهای اطلاعاتی میتوانید از روشهای زیر استفاده کنید. روشهای مشاهده وضعیت بانکهای اطلاعاتی ۱– استفاده از Management Studio اگر در SSMS کلید F8 را فشار دهید Object Explorer برای شما نمایش داده میشود. شما میتوانید اغلب وضعیتهای مربوط به بانک اطلاعاتی را در آن مشاهده کنید. ۲– استفاده از DMVهای سیستمی با استفاده از کوئری زیر میتوانید وضعیت هر کدام از بانکهای اطلاعاتی موجود در SQL Server را مشاهده کنید. برای بررسی تخصصی پیشنهاد من استفاده از این کوئری است. SELECT name, state_desc FROM SYS.databases GO ۳- استفاده از تابع DatabasePropertyEX این تابع اطلاعاتی در خصوص برخی ویژگیهای مربوط به بانک اطلاعاتی را بر میگرداند. یکی از این ویژگیها Status است که با استفاده از آن میتوان وضعیت بانک اطلاعاتی را مشاهده کرد. SELECT DATABASEPROPERTYEX('NikAmoozDB2017', 'Status') GO ۴- استفاده از تابع پنجره Database Properties برای اینکه بتوانید وضعیت بانک اطلاعاتی را در این پنجره مشاهده کنید کافی است در Object Explorer بروی بانک اطلاعاتی کلیک راست کرده و گزینه Properties را کلیک کنید تا پنجره Database Properties همانند تصویر زیر برای شما نمایش داده شود. و اما وضعیتهای مربوط به یک بانک اطلاعاتی به شرح زیر میباشد: 1- وضعیت Online در این وضعیت بانک اطلاعاتی در دسترس بوده و میتواند به کاربران سرویس دهد. تمامی بانکهای اطلاعاتی که در این وضعیت هستند در Object Explorer وضعیت آنها به صورت نرمال میباشد چنانچه بخواهید با استفاده از دستورات TSQL وضعیت بانک اطلاعاتی را در حالت Online قرار دهید از دستور زیر استفاده از کنید. ALTER DATABASE NikAmoozDB2017 SET ONLINE GO ۲– وضعیت Offline بانک اطلاعاتی در این حالت در وضعیت غیر قابل دسترس است و در دسترس نمیباشد. عموماً از این وضعیت برای موارد زیر استفاده میشود. ۱) جلوگیری از دسترسی تمامی کاربران به بانک اطلاعاتی ۲) انتقال فایلهای بانک اطلاعاتی به یک دیسک ۳) و… [gap height=”30″] چنانچه یک بانک اطلاعاتی در حالت Offline باشد وضعیت آن در Object Explorer به صورت زیر میباشد. برای قرار دادن وضعیت یک بانک اطلاعاتی در حالت Offline از دستور زیر استفاده کنید. ALTER DATABASE NikAmoozDB2017 SET OFFLINE GO ۳- وضعیت Restoring چنانچه بانک اطلاعاتی در این حالت قرار داشته باشد یک یا چند فایل از فایلهای مربوط به این بانک اطلاعاتی در حال Restoring (بازیابی) قرار دارد. چنانچه بانک اطلاعاتی در حالت Resorting باشد وضعیت آن در Object Explorer به صورت زیر میباشد. اگر بخواهیم بانک اطلاعاتی که در وضعیت Restoring قرار دارد را Use کرده و مورد استفاده قرار دهیم با خطای زیر مواجه خواهیم شد. Msg 927, Level 14, State 2, Line 16 Database ‘A_NikAmoozDB2017’ cannot be opened. It is in the middle of a restore. این وضعیت در حالتهای زیر عموماً به وجود میآید: 1) Restore کردن یک Backup از بانک اطلاعاتی ۲) استفاده از ویژگی With NoRecovery در دستور Backup معمولاً DBAها زمانی از این ویژگی استفاده میکنند که بخواهند سایر نسخههای پشتیبان را در ادامه فرآیند Restore بازیابی کنند. برای مثال ابتدا Full Backup را با این ویژگی Restore کرده و پس از آن در ادامه یک Differential Backup بازیابی میکنند. توجه داشته باشید اگر فرآیند Restore پایان یافته باشد ما میتوانیم با استفاده از دستور زیر بانک اطلاعاتی را در حالت Online قرار دهیم. RESTORE DATABASE A_NikAmoozDB2017 WITH RECOVERY GO 4- وضعیت Recovering در این وضعیت بانک اطلاعاتی در حالت Recovering (بازیافت) قرار دارد. در صورتی که عملیات بازیافت موفقیت آمیز باشد بانک اطلاعاتی در حالت Online قرار میگیرد و در صورتی که موفقیت آمیز نباشد بانک اطلاعاتی در وضعیت Suspect قرار میگیرد. ۵- وضعیت Recovery Pending چنانچه بانک اطلاعاتی در این حالت قرار گیرد امکان کار با آن وجود نخواهد داشت. در این حالت بانک اطلاعاتی آسیب ندیده ولی فایلهای آن ممکن است از بین رفته باشد و یا محدودیت سیستمی وجود داشته باشد. برای مثال ممکن است Log File مربوط به بانک اطلاعاتی آسیب دیده و یا از بین رفته باشد. چنانچه بانک اطلاعاتی در حالت Recovery Pending قرار گیرد وضعیت آن در Object Explorer به صورت زیر خواهد بود. ۶- وضعیت Suspect چنانچه بانک اطلاعاتی در این حالت قرار گیرد در دسترس نبوده و امکان کار کردن با آن فراهم نمیباشد. عواملی که باعث میشوند بانک اطلاعاتی در این حالت قرار گیرد عبارتند از: ۱) Shutdown کردن سرویس SQL Server به صورت غیر نرمال برای مثال قطع کردن برق سرور و… ۲) خرابی Data File 3) خرابی Log File 4) Corrupt شدن بانک اطلاعاتی ۵) و… چنانچه بانک اطلاعاتی در حالت Suspect قرار گیرد وضعیت آن در Object Explorer به صورت زیر خواهد بود. ۷- وضعیت Emergency در این حالت بانک اطلاعاتی به صورت فقط خواندنی برای گروه SysAdmin در دسترس است. از این وضعیت بیشتر برای عیب یابی بانک اطلاعاتی استفاده میشود. برای مثال زمانی که بانک اطلاعاتی در حالت Suspect قرار داشته باشد میتوانیم بانک اطلاعاتی را در وضعیت Emergency قرار داده و مشکلات مربوط به آن را رفع و رجوع نماییم. برای قرار دادن یک بانک اطلاعاتی در وضعیت Emergency از دستور زیر استفاده کنید. ALTER DATABASE A_NikAmoozDB2017 SET EMERGENCY GO چنانچه بانک اطلاعاتی در حالت Emergency قرار گیرد وضعیت آن در Object Explorer به صورت زیر خواهد بود. نکته مهم: چنانچه بانک اطلاعاتی شما در وضعیتی قرار گرفت که در دسترس نمیباشد. برای مدیریت بهتر و دقیق شرایط بهتر است حتماً به SQL Server Logs سر بزنید. برای دسترسی به آن همانند تصویر زیر اقدام کنید. پس از باز کردن لاگ جاری میتوانید وضعیت آن را در پنجره زیر مشاهده کرده و آن را تحلیل کنید. چه رتبه ای میدهید؟ میانگین ۳ / ۵. از مجموع ۲ اولین نفر باش دانلود مقاله وضعیت بانکهای اطلاعاتی در SQL Server فرمت PDF 9 صفحه حجم 1 مگابایت دانلود مقاله معرفی نویسنده مقالات 20 مقاله توسط این نویسنده محصولات 65 دوره توسط این نویسنده مسعود طاهری مسعود طاهری مدرس و مشاور ارشد SQL Server & BI ، مدیر فنی پروژههای هوش تجاری (بیمه سامان، اوقاف، جین وست، هلدینگ ماهان و...) ، مدرس دورههــای SQL Server و هوشتجاری در شرکت نیکآموز و نویسنده کتاب PolyBase در SQL Server معرفی محصول مسعود طاهری دوره آموزشی نگهداری از بانکهای اطلاعاتی در SQL Server 1.180.000 تومان مقالات مرتبط ۰۲ آبان SQL Server ابزار Database Engine Tuning Advisor؛ مزایا، کاربردها و روش استفاده تیم فنی نیک آموز ۱۵ مهر SQL Server معرفی Performance Monitor ابزار مانیتورینگ SQL Server تیم فنی نیک آموز ۱۱ مهر SQL Server راهنمای جامع مانیتورینگ بکاپ ها در SQL Server تیم فنی نیک آموز ۰۸ مهر SQL Server Resource Governor چیست؟ آشنایی با نحوه پیکربندی و اهمیت های آن تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ مسعود نایب صدری ۱۲ / ۰۵ / ۰۰ - ۱۲:۲۴ واقعا عالی، یه دنیا ممنون پاسخ به دیدگاه بهاره بندخت ۱۱ / ۱۰ / ۹۹ - ۰۳:۳۹ با سلام خواستم تشکر کنم از ایده بسیار خوبتون برای قرار دادن فایل pdf مقاله ها برای دانلود.بسیار ایده کاربردی و خوبیه .ممنونم پاسخ به دیدگاه بهاره بندخت ۱۱ / ۱۰ / ۹۹ - ۰۳:۳۹ با سلام خواستم تشکر کنم از ایده بسیار خوبتون برای قرار دادن فایل pdf مقاله ها برای دانلود.بسیار ایده کاربردی و خوبیه .ممنونم پاسخ به دیدگاه غلامحسین عبادی ۲۵ / ۰۲ / ۹۷ - ۱۲:۳۶ سلام مهندس جان، مثل همیشه عالی پاسخ به دیدگاه