نمایش نتایج 1 تا 13 از 13

نام تاپیک: مشکل این کد برای restore کجاست؟

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    مشکل این کد برای restore کجاست؟

    سلام دوستان،من از stored procedure زیر برای restore استفاده میکنم ولی خطا میده،اینم عکسی از خطا،مشکلش کجاست؟
    restore.JPG

  2. #2

    نقل قول: مشکل این کد برای restore کجاست؟

    خطای اول که معلومه نمی تونید از گزینه Use درونSP استفاده کنید ...

    اون With آخر رو برای چی نوشتید ؟؟ یعنی چه کاری قراره انجام بده ...

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل این کد برای restore کجاست؟

    من براساس کد زیر داخل محیط سی شارپ عمل Restore رو بدرستی انجام میدم،حالا میخوام این کد رو به پروسیجر تبدیل کنم،در واقع آدرس فایل بک آپ رو بهش بدم و عمل restore انجام بشه:
    کد نوشته شده در محیط #C :
    ALTER DATABASE tel SET SINGLE_USER with ROLLBACK IMMEDIATE Use master
    RESTORE DATABASE tel FROM DISK='" + txtselectbackup.Text + "' WITH REPLACE

    حالا شما با توجه به این دستور، sp ای رو که من نوشتم ایرادش کجاست؟چرا داخل محیط ویژوال use رو قبول میکنه ولی داخل sql قبول نمیکنه؟

  4. #4

    نقل قول: مشکل این کد برای restore کجاست؟

    سلام.
    داخل یک Stored Procedure نمیتوانید یک دیتابیس دیگه رو Use کنید. به خاطر اینکه اون Procedure داره داخل اون دیتابیس اجرا میشه و با این روش ارتباط با اون دیتابیس قطع میشه و مشکل ایجاد خواهد شد.
    شما میتوانید داخل یک SP ابتدا User های متصل به اون دیتابیس رو Kill کنید سپس Restore رو انجام بدید.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل این کد برای restore کجاست؟

    نقل قول نوشته شده توسط حمیدرضاصادقیان مشاهده تاپیک
    سلام.
    داخل یک Stored Procedure نمیتوانید یک دیتابیس دیگه رو Use کنید. به خاطر اینکه اون Procedure داره داخل اون دیتابیس اجرا میشه و با این روش ارتباط با اون دیتابیس قطع میشه و مشکل ایجاد خواهد شد.
    شما میتوانید داخل یک SP ابتدا User های متصل به اون دیتابیس رو Kill کنید سپس Restore رو انجام بدید.
    من نمیدونم چطوری باید user ها رو kill کنم، میشه بیشتر توضیح بدید یعنی با چه کدی باید اینکار رو انجام بدیم؟

  6. #6
    کاربر دائمی آواتار alimanam
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    لندن
    سن
    38
    پست
    1,556

    نقل قول: مشکل این کد برای restore کجاست؟

    با سلام

    من نمیدونم چطوری باید user ها رو kill کنم، میشه بیشتر توضیح بدید یعنی با چه کدی باید اینکار رو انجام بدیم؟
    یک روش ساده استفاده از کد زیر است :

    ALTER DATABASE <Put Your Database Here> SET OFFLINE WITH ROLLBACK IMMEDIATE


    موفـــق باشید./

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل این کد برای restore کجاست؟

    دوستان من sp مربوط به restore رو بصورت زیر نوشتم و بدون خطا اجرا شد ولی درون محیط ویژوال که میخوام این sp رو صدا بزنم و دیتابیس رو restore کنم با خطای زیر مواجه میشم:
    کد sp :
    create proc myrestore2
    @pathfile nvarchar(300)
    as
    ALTER DATABASE tel SET OFFLINE with ROLLBACK IMMEDIATE RESTORE DATABASE tel FROM DISK= @pathfile WITH REPLACE
    go

    خطای اتفاق افتاده درون ویژوال استودیو:
    restore3.JPG

  8. #8

    نقل قول: مشکل این کد برای restore کجاست؟

    خوب شما بعد از Restore باید دیتابیس رو به online تبدیل کنید.با استفاده از
     Alter Databse DBname Set online

  9. #9
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل این کد برای restore کجاست؟

    آقا این کد آدمو بدبخت میکنه!!!!!
    من کدی رو که داده بودید به آخر sp خودم اضافه کردم ولی یه مشکل عجیب پیش میاد. بعد از زدن دکمه restore اطلاعات به درستی بازیابی میشن ولی sp از درون sql و قسمت stored procedure هام حذف میشه(نه تنها اون sp بلکه بقیه sp های مربوط به restore رو که بصورت آزمایشی ایجاد کرده بودم همه رو پاک کرد، در واقع انگار روی تک تک sp های مربوط به restore کلیک راست کرده باشیم و delete رو زده باشیم). یعنی بار اول برنامه به درستی اجرا میشه وقتی برنامه رو میبندم و دوباره اجرا میکنم و میخوام دوباره بازیابی اطلاعات کنم پیغام خطا میده که این sp وجود نداره که همونطور که گفتم با مراجعه به sql ، میبینم که sp حذف شده( در واقع همه sp های مربوط به restore حذف میشن). چند بار تست کردم ولی همین مشکل وجود داره. لطفا راهنمایی کنید. اینم sp ای که استفاده میکنم:
    create proc myrestore5
    @pathfile nvarchar(300)
    as
    ALTER DATABASE tel SET OFFLINE with ROLLBACK IMMEDIATE RESTORE DATABASE tel
    FROM DISK= @pathfile with replace alter database tel set online
    go

  10. #10
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل این کد برای restore کجاست؟

    چرا از دوستان کسی راهنمایی نمیکنه؟؟؟، کاملا واسم عجیبه که این سوال این همه مدت باقی مونده و کسی یه راهنمایی جامع نمیکنه.
    واسه من عجیب و جالبه که چرا این کد تمام spهای مربوط به restore رو پاک میکنه. از دوستان و مدیران این بخش تقاضا دارم که به تاپیک هایی که ایجاد میشه توجه کنند. لطفا راهنمایی کنید.

  11. #11

    نقل قول: مشکل این کد برای restore کجاست؟

    دوستان و مدیران این بخش تقاضا دارم که به تاپیک هایی که ایجاد میشه توجه کنند
    تمامی دوستان و مدیران هم سرکار هستند و مشغولند.اگر فرصت کنند جواب خواهند داد.

    این کد ربطی به حذف شدن sp های شما نداره.
    ممکنه اون backup که دارید بازیابی میکنید قبل از ایجاد شدن اون sp ها تهیه شده. شما ابتدا آخرین backup رو بازیابی کنید و تمامی تغییرات رو بدید و ازش یک backup گرفته و مجدد restore کنید.
    شما هر backup که بازیابی میکنید در واقع آخرین تغییراتی که تا اون لحظه در دیتابیس بوده و ازش backup گرفته شده restore میکنه و اگر بعد از اون هرکاری کرده باشید با Restore اون backup همه اونها حذف خواهند شد، دقیقا مشابه همین اتفاقی که برای شما رخ داده.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل این کد برای restore کجاست؟

    اوکی حل شد، نکته اش همون بود که گفتید. از جناب صادقیان و بقیه دوستان که کمک کردن تا مشکلم حل بشه تشکر میکنم.

  13. #13

    نقل قول: مشکل این کد برای restore کجاست؟


    public Boolean Restore(string PathMainDataBase, string PathFileBackUp)
    {
    try
    {
    ExecuteNoneQuery(CommandType.Text, @"use master RESTORE DATABASE [" + PathMainDataBase + "] FROM DISK='" + PathFileBackUp + "'", null);
    return true;
    }
    catch
    {
    return false;
    }
    }

تاپیک های مشابه

  1. سوال: مشکل این چند خط کد کجاست؟
    نوشته شده توسط veniz2008 در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: سه شنبه 12 مرداد 1389, 00:39 صبح
  2. مشکل در کوییری برای RESTORE کردن بکاپ
    نوشته شده توسط hojjat_gh در بخش SQL Server
    پاسخ: 15
    آخرین پست: شنبه 23 شهریور 1387, 05:24 صبح
  3. مشکل این کد کجاست؟
    نوشته شده توسط hrj1981 در بخش برنامه نویسی در 6 VB
    پاسخ: 12
    آخرین پست: شنبه 29 دی 1386, 10:22 صبح
  4. مشکل این تیبل از کجاست؟
    نوشته شده توسط eyes_shut_number1 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: پنج شنبه 27 دی 1386, 20:16 عصر
  5. این خطا برای چی هست(مشکل با کانکت شدن به دیتابیس)
    نوشته شده توسط kochol در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: سه شنبه 12 مهر 1384, 19:52 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •