PDA

View Full Version : States In SQL



مهدی هادیان2
یک شنبه 19 شهریور 1391, 09:35 صبح
بسم الله الرحمن الرحیم
با سلام
وقتی فایل های بانک رو از محلشون پاک میکنم در محیط SQL Express علامت + کنار اون برداشته میشه و در واقع به چیزی اشاره نمی کنه
ویژگی State اون رو که بررسی کردم Recovery Pending بود.
حالا سوالی که دارم اینه که State مذکور فقط در حالت بالا رخ می دهد؟
منظورم اینه که میتونم بگم هر وقت حالتی که گفتم پیش آمد حتما به استیت Recovery Pending میرود یا مثلا میتونه به حالت های دیگه از 6 حالت هم مثلا امرجنسی یا ... بره
با تشکر

حمیدرضاصادقیان
دوشنبه 20 شهریور 1391, 08:57 صبح
سلام
درواقع به شکل Suspect باید نمایش داده بشه.
این ویژگی در کجا نمایش داده میشه؟ در خود Management Studio یا Visual Studio ؟

مهدی هادیان2
دوشنبه 20 شهریور 1391, 15:04 عصر
سلام
درواقع به شکل Suspect باید نمایش داده بشه.
این ویژگی در کجا نمایش داده میشه؟ در خود Management Studio یا Visual Studio ؟
با سلام
بینهایت از پاسختون ممنون
در Management Studio
در Sql Express در پاسخ کوئری نمایش وضعیت بانک ها Recovery Pending رو می دهد.
با تشکر

حمیدرضاصادقیان
سه شنبه 21 شهریور 1391, 08:23 صبح
این حالت زمانی رخ میده که عملیات Restore شما ناقص باشه یا فایل شما دچار مشکل شده باشه که میتوانید با یک Full Restore این مشکل رو حل کنید.
ولی پیشنهاد من اینه که فایل رو حذف نکنید و کامل از دیتابیس Detach کنید که فایل آسیب نبینه.

مهدی هادیان2
سه شنبه 21 شهریور 1391, 08:48 صبح
بسم الله الرحمن الرحیم

این حالت زمانی رخ میده که عملیات Restore شما ناقص باشه یا فایل شما دچار مشکل شده باشه که میتوانید با یک Full Restore این مشکل رو حل کنید.
ولی پیشنهاد من اینه که فایل رو حذف نکنید و کامل از دیتابیس Detach کنید که فایل آسیب نبینه.
با سلام
ممنون از اینکه وقت گذاشتید
جسارتا متوجه مشکل بنده نشدید.
دوباره صورت مسئله رو خدمتتون عرض میکنم:
بنده در سیستم مشتری برنامه رو نصب میکنم بعد از اجرای برنامه چک میکنه که بانک وجود داره یا خیر؟در حالت نرمال اگر بانک وجود نداشت اسکریپت ساخت بانک رو اجرا میکنه و بانک ساخته می شه و اگر وجود داشت کاری انجام نمی ده.
ولی شما حالتی رو در نظر بگیرید که مشتری دستی فایل ها رو از محل کپی اون پاک کرده است با اینکه فایل ها پاک شده است ولی در Express لینک آن وجود دارد و اگه بیام چک کنم که بانک وجود دارد یا خیر؟
select count(*) AS db_count from master.dbo.sysdatabases where name='" + databaseName +
پاسخ مثبت میدهد در صورتیکه اطلاعاتی در اون وجود ندارد.
با سپاس فراوان