PDA

View Full Version : استفاده از DBcc page



حمیدرضاصادقیان
سه شنبه 20 آذر 1386, 15:57 عصر
سلام.میخواستم ببینم ایا در این دستور به جای استفاده از نام دیتابیس امکان استفاده از معرفی فایل دیتا می باشد؟
مثلا نام فایل رو بدیم بعد مشخصاتش رو بگیریم.

AminSobati
سه شنبه 20 آذر 1386, 23:21 عصر
Syntax این دستور:



DBCC PAGE ( {dbid | dbname}, filenum, pagenum [, printopt] [, cache] )

منظورتون از گرفتن مشخصات فایل دقیقا چی هست؟ این دستور جزئیات یک Page رو مشخص میکنه، ارتباطی با هم ندارند

حمیدرضاصادقیان
چهارشنبه 21 آذر 1386, 12:14 عصر
ببینید استاد اخه وقتی که ما نام دیتابیس را میدیم اون مشخصات page را میده حالا هرpage که نیاز داشته باشیم.من حتی روی دیتابیس suspect که فایل دیتای اون هم مشکل داره تست کردم جواب داد.میخوام بدونم بدون اینکه دیتابیس را به حالت suspect در بیارم فقط فایل دیتا رو بدم و مشخصات page ها رو بگیرم.

AminSobati
چهارشنبه 21 آذر 1386, 12:35 عصر
حتما دیتابیس نباید suspet باشه. یعنی شما چیزی غیر از خروجی این دستور مد نظرتون هست؟


DBCC TRACEON (3604)
GO
DBCC PAGE ( 'northwind',1,10)

حمیدرضاصادقیان
چهارشنبه 21 آذر 1386, 20:47 عصر
ممنون.استاد درحال حاضر من یک برنامه نوشتم که توسط اون داخل فایل mdf میگردم و دیتای مورد نظرم رو استخراج میکنم.فعلا موفق شدم نام جداول و نام دیتابیس رو پیدا کنم و نحوه ذخیره سازی اونو در بیارم.من میخوام با استفاده از خروجی این دستور کارهای دیگه ای انجام بدم.
من میدونم نیازی نیست این دستور فقط روی دیتابیس های suspect انجام بشه.روی دیتابیس های عادی نیز تست کردم و جواب گرفتم.فرض کنید من یک فایل mdf خراب دارم .من میخوام page های مختلف اونو بخونم.خوب ابتدا باید در Sql اونو Attach کنم بعد این دستورو اجرا کنم.فرض کنید اون فایل هم مثل آدم!! Attach نمیشه حتما باید توی emergency mode اونو قرار بدیم.حالا میخوام بدونم اگر فقط نام فایل mdf رو به این دستور بدم امکانش هست page های اونو در خروجی بگیرم؟

AminSobati
چهارشنبه 21 آذر 1386, 23:54 عصر
شما میتونین dbcc روی Pageها رو از 1 شروع کنین و زمانیکه شماره Page واقعا وجود نداشته باشه، Error برمیگردونه. این دستور در هر بار اجرا، فقط اطلاعات یک Page رو میده