PDA

View Full Version : تفاوت دستور کپی فایل mdf با دستور backup در پشتیبان گیری از پایگاه؟



Amin69
یک شنبه 27 مرداد 1392, 13:18 عصر
سلام. یه سوال اساسی برام پیش اومده: چرا باید از دستور Backup و Restore در ایجاد نسخه پشتیبان استفاده کنیم؟ در صورتیکه خیلی راحت میشه فایلهای پایگاه داده رو بوسیله دستور کپی، به هر مسیر دلخواه کپی کرد؟ مزیت دستور Backup چیه؟

Reza_Yarahmadi
یک شنبه 27 مرداد 1392, 15:38 عصر
اول : وقتی دیتابیس در حال اجراست به همین راحتی نمیتونید کپی بگیرید
دوم : Backup گیری رو میتونید با استفاده از امکانات SQL Server بصورت منظم و بصورت اتوماتیک انجام داد.
سوم : در کپی هر بار مجبورید همه اطلاعات (فایلهای دیتابیس) رو کپی کنید ولی در Backup گیری میشه بصورت Differential یا Tranaction Log عمل کرد
چهارم : درصورتیکه دیتابیس شامل چند فایل روی دیسکهای متفاوت باشه مجبورید عملیات کپی هر فایل رو جداگانه انجام بدید و زمان Paste کردن هم هر فایل در آدرس مربوطه باید قرار بگیره ولی در Backup نیازی نیست.
پنجم : در صورت استفاده از قابلیت FileStream ، پوشه مربوطه باید مانند مورد چهارم عمل بشه.
....

Amin69
یک شنبه 27 مرداد 1392, 18:34 عصر
ممنون؛ درباره مورد اول با استفاده از تابع SqlConnection.ClearAllPools() در سی شارپ، میشه دیتابیس رو متوقف کرد. درسته؟ مورد چهارم رو متوجه نشدم. میشه توضیح بدید؟

Reza_Yarahmadi
دوشنبه 28 مرداد 1392, 07:46 صبح
ممنون؛ درباره مورد اول با استفاده از تابع SqlConnection.ClearAllPools() در سی شارپ، میشه دیتابیس رو متوقف کرد. درسته؟
صحبت سر اینه که دسترسی کاربران به دیتابیس بسته نشه و دیتابیس آنلاین باقی بمونه نه اینکه راهی واسه قطع کردن کانکشن ها پیدا کرد.
فرض کنید از سرور جایی مثل بانکها بخواید کپی بگیرید، در این حالت حتی ثانیه ارزشمنده.

مورد چهارم رو متوجه نشدم. میشه توضیح بدید؟
SQL Server این قابلیت رو داره که از چندین Data File استفاده کنید که برای افزایش سرعت واکشی میشه اونها رو روی Diskهای مختلف ذخیره کرد (در مورد File و FileGroup توی SQL Server تحقیق کنید). در این حالت برای Backup باید هر فایل رو جداگانه Copy کرد و زمان Restore باید هر فایل رو سر جای خودش Paste کرد