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

نام تاپیک: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

  1. #1

    یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    سلام

    خواهش میکنم دوستان یکی کمک کنه
    با بکاپ مشکلی ندارم اما هر چی کد ریستور توی سایتو امتحان میکنم خطا میده
    من زیاد با دستورات اس کیو ال آشنا نیستم و از طریق vs 2010 و قسمت server explorer برای store procedure کد مینویسم (بانکمم sql express هست)

    وقتی یه sp جدید میسازم یه همچین چیزی میاد

    CREATE PROCEDURE dbo.StoredProcedure2
    /*
    (
    @parameter1 int = 5,
    @parameter2 datatype OUTPUT
    )
    */
    AS
    /* SET NOCOUNT ON */
    RETURN


    اینو چطوری تغییر بدم که یه ریستور بدون خطا داشته باشم؟ بدون اینکه با مشکلایی از طریق باز بودن کانکشن و ... بر بخورم؟ تورو خدا کمک کنید 2 هفته هست درگیرم

  2. #2

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    چنتا کد که توی سایت هم بود تست کردم اما جواب نگرفتم
    یکی محبت کنه یه کد بدون مشکل بذاره ممنون میشم

    در حال حاضر از این sp استفاده میکنم اما خطا میده
    ALTER PROCEDURE dbo.Restore1
    @DataPath Nvarchar(1024),
    @DB nvarchar(1024)

    AS
    ALTER DATABASE [@DB] SET SINGLE_USER with ROLLBACK IMMEDIATE
    RESTORE DATABASE [@DB] FROM DISK=@DataPath with REPLACE

    ALTER DATABASE [@DB] SET MULTI_USER

  3. #3

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    حداقل یفرمایید چطوری باید همه کانکشن های وصل شده به دیتابیس رو ببندم؟
    از دوستان خواهش میکنم راهنمایی کنند
    میدونم در این موارد قبلا در موردش توی سایت بحث شده اما یه کد sp میخواستم
    ممنون

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خرم آباد
    سن
    37
    پست
    37

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    حداقل یفرمایید چطوری باید همه کانکشن های وصل شده به دیتابیس رو ببندم؟
    توی vs از این کد استفاده کن

    SqlClient.SqlConnection.ClearAllPools();

    یا

    SqlConnection.ClearAllPools();

    اما یه کد sp میخواستم
    با استفاده از stored procedures نمیشه ارتباط کانکشن ها رو قطع کرد چون خودش ماله sql هستش و از طریق sql داره sp رو اجرا میکنه
    بعد از قطع کردن کانکشن با دستورای بالا دستور restore بانکت رو توی یه بانک دیگه مثل master فراخوانی کن
    موفق باشی

  5. #5

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    با استفاده از stored procedures نمیشه ارتباط کانکشن ها رو قطع کرد چون خودش ماله sql هستش و از طریق sql داره sp رو اجرا میکنه
    یک همچین صحبتی اصلا صحت نداره. شما میتوانید با استفاده از یک Select از جدول Sysprocesses لیست تمام Connection های باز به دیتابیس رو پیدا کنید. سپس تمام اونها رو با استفاده از kill از بین ببرید.
    تنها نکته اش این هست که شما باید یک Connection جدا به دیتابیس Master ایجاد کنید.

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خرم آباد
    سن
    37
    پست
    37

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    جناب صادقیان میشه این مطلبی رو که گفتین با ذکر مثال بگین
    ممنون میشم

  7. #7

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    ممنون دوست عزیز
    میشه در مورد کد ریستور هم راهنماییم کنید؟ ممنون میشم

    فرض کنید یه بکاپ دارم با این آدرس c:/test.bak

    و دیتابیس اصلیم هم توی این آدرسه c:/data/test.mdf

    دقیقا چطوری باید ریستور کنم؟

    اگه بصورت کد C#‎) vs) باشه که چه بهتر اما باز اگه کد sp هم باشه خوبه
    لطفا راهنماییم کتید


    پیشاپیش تشکر

  8. #8

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    این مطلبی رو که گفتین با ذکر مثال بگین
    ببینید برای بدست آوردن لیست Connection هایی که به یک Database وصل هستند باید از کد زیر استفاده کنید.


    select spid from master..sysprocesses where dbid=db_id('database Name')


    بعد میتوانید در داخل یک حلقه با استفاده از دستور kill مقدار spid رو به حلقه پاس داده و ارتباطها رو قطع کنید.

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خرم آباد
    سن
    37
    پست
    37

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    با سلام
    فرض کنید یه بکاپ دارم با این آدرس c:/test.bak
    بیبن اگه توی برنامت واسه restore کردن فرمی رو طراحی کنی که توی اون فرم به وسیله open dialog فایل backup رو انتخاب کنی و به وسیله اون مسیر فایلت رو توی یه textbox بزاری هم ظاهر برنامت زیباتر میشه هم کاربری که با برنامت کار میکنه راحت تره
    بعدش واسه همون فرم یه دکمه بازیابی بزار و این کد که کد sql هست رو فراخوانی کن

    Restore Database [database name] From Disk ='+''''+textbox.Text+''''+' With Replace

    به جای database nameاسم پایگاهت رو بنویس و به جای textbox اسم textbox ی که مسیر فایل توش می افته رو قرار بده
    موفق باشی

  10. #10

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    نقل قول نوشته شده توسط ehsan.moolaei مشاهده تاپیک
    با سلام

    بیبن اگه توی برنامت واسه restore کردن فرمی رو طراحی کنی که توی اون فرم به وسیله open dialog فایل backup رو انتخاب کنی و به وسیله اون مسیر فایلت رو توی یه textbox بزاری هم ظاهر برنامت زیباتر میشه هم کاربری که با برنامت کار میکنه راحت تره
    بعدش واسه همون فرم یه دکمه بازیابی بزار و این کد که کد sql هست رو فراخوانی کن

    Restore Database [database name] From Disk ='+''''+textbox.Text+''''+' With Replace

    به جای database nameاسم پایگاهت رو بنویس و به جای textbox اسم textbox ی که مسیر فایل توش می افته رو قرار بده
    موفق باشی
    سلام دوست عزیز
    از کمک هاتون ممنون
    بله حرف شما کاملا درسته اما راستش برنامه من تحت وب هست و وقتی کاربر روی ریستور کلیک میکنه یه دیالوگ باکس باز میشه و کاربر فایل بکاپ رو از سیستم خودش روی سرور آپلود میکنه و بعدش فایل بکاپی که آپلود شده روی دیتابیس اصلی ریستور میشه

    از کد شما هم ممنون حتما اونو تست میکنم

    بازم ممنونم

  11. #11
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    نا کجا باد
    پست
    813

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    سلام به دوستان من هم نیز دارم با استفاده از store procedure کد مر بوط به restore بنویسم آیا میشه یا نه تا به حال جواب نگرفتم چون اجازه نمی ده عملیات restore
    انجام بده
    لطفا کد مربوطه را قرار دهید
    با تشکر

  12. #12

    نقل قول: یکی یه کد بدون مشکل از restore بذاره تورو خدا!

    نقل قول نوشته شده توسط حمیدرضاصادقیان مشاهده تاپیک
    یک همچین صحبتی اصلا صحت نداره. شما میتوانید با استفاده از یک Select از جدول Sysprocesses لیست تمام Connection های باز به دیتابیس رو پیدا کنید. سپس تمام اونها رو با استفاده از kill از بین ببرید.
    تنها نکته اش این هست که شما باید یک Connection جدا به دیتابیس Master ایجاد کنید.
    اگه ممكنه نمونه كد بزاريد... ممنونم

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

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