تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 4 از 5 اولاول 12345 آخرآخر
نمايش نتايج 31 به 40 از 45

نام تاپيک: نحوه backup گرفتن و Restore کردن دیتابیس

  1. #31
    در آغاز فعالیت
    تاريخ عضويت
    Oct 2008
    پست ها
    4

    پيش فرض

    سلام به همگی
    من برای بازیابی از کد زیر استفاده کردم
    ALTER DATABASE [Pc_Store] SET SINGLE_USER
    DECLARE @FileName nvarchar(50);
    set @FileName='E:\New Pc_Store\BackUpالخميس, أوت 19, 2010.bak';
    RESTORE DATABASE [Pc_Store] FROM DISK =@FileName WITH REPLACE , NOUNLOAD , STATS = 10, RECOVERY

    اما خطای زیر رو میده لطفا راهنمایی کنید

    ALTER DATABASE statement failed.

  2. #32
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2007
    پست ها
    17

    پيش فرض

    آقا به نظر من بهتر است یکی از اساتید لطف کند و یک نمونه کد برای این کار در اختیار ما مبتدیها قرار دهد !

    من خودم نیز به دفعات زیادی دچار این مشکل شده ام ولی دریغ از حل این مشکل !

    یک سوال دیگر هم داشتم : من میخواهم امکان ذک آپ و ریستور را به ادمین سایتم بدهم تا او با زدن دکمه ای بکآپ دیتابیس را بر روی هاست ایجاد کند و نیز با انتخاب آن بک آپ بتواند آنرا ریستور کند !

    چیزی که متوجه نمیشوم مسیری است شما برای بک آپ تعریف میکنید ! یعنی درایو C !

  3. #33
    اگه نباشه جاش خالی می مونه pezhmax's Avatar
    تاريخ عضويت
    May 2007
    محل سكونت
    رشت
    پست ها
    333

    پيش فرض

    دلیل عدم کارایی بسیاری از نمونه کدهای موجود برای restor کردن دیتابیس اینه که زمان اجرای دستور restor نباید هیچ connection بازی رو دیتابیسی که داره ازش restor گرفته میشه وجود داشته باشه. حالا اکثرا میان یه دستور sql برای restor کردن مینویسند(مثل کد پست بالا) و اونو با یه connection رو دیتابیس خودشون اجرا میکنن. خوب تو همین مرحلیه اجرای کد یه اتصال باز با همون دیتا بیس ایجاد میشه و باعث میشه که عمل restor انجام نشه. برای این کار یه کلاس سری کلاس تو دات نت وجود داره که تو فضای نام Microsoft.SqlServer.Management.Smo قرار داده شدن. همه کلاسهای تو فضای نام SMO برای مدیریت دیتابیسهای sql server ایجاد شدن.
    تو این مقاله توضیح restor و backup دیتابیس از طریق این کلاسها اومده :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  4. #34
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    نقل قول نوشته شده توسط sareh_tt
    من برای بازیابی از کد زیر استفاده کردم
    ALTER DATABASE [Pc_Store] SET SINGLE_USER
    DECLARE @FileName nvarchar(50);
    set @FileName='E:\New Pc_Store\BackUpالخميس, أوت 19, 2010.bak';
    RESTORE DATABASE [Pc_Store] FROM DISK =@FileName WITH REPLACE , NOUNLOAD , STATS = 10, RECOVERY

    اما خطای زیر رو میده لطفا راهنمایی کنید
    ALTER DATABASE statement failed.
    در این مرحله دستور ALTER DATABASE-SINGLE_USER به شما کمک نمیکند.
    حداقل مخزن داخلی Connection های ADO.Net را تخلیه کنید.
    و بعد همان دستور Restore خودتان را اجرا کنید.

    این تاپیک بیشتر روی دستور SQL-RESTORE DATABASE متمرکز است ولی تاپیک قدیمی تر دیگری هم برای این بحث در تالار وجود دارد که بیشتر روی SMO متمرکز بوده است.

    در پست 20 ، روش خالی کردن مخزن داخلی Connection های ADO.Net بیان شده.
    (که بدرد دوستان در این تاپیک هم میخورد.)
    انجام این عمل قبل از restore الزامی است.

    در پست آخر هم دوستان میتوانند سمپل ساده ای از کار با SMO2005 پیدا کنند.
    (البته جناب pezhmax هم سمپلی در پست قبل ارائه کردند.)
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    موفق باشید.

  5. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  6. #35
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2007
    پست ها
    17

    پيش فرض

    آقا به نظر من بهتر است یکی از اساتید لطف کند و یک نمونه کد برای این کار در اختیار ما مبتدیها قرار دهد !

    من خودم نیز به دفعات زیادی دچار این مشکل شده ام ولی دریغ از حل این مشکل !

    یک سوال دیگر هم داشتم : من میخواهم امکان ذک آپ و ریستور را به ادمین سایتم بدهم تا او با زدن دکمه ای بکآپ دیتابیس را بر روی هاست ایجاد کند و نیز با انتخاب آن بک آپ بتواند آنرا ریستور کند !

    چیزی که متوجه نمیشوم مسیری است شما برای بک آپ تعریف میکنید ! یعنی درایو C !

    سلام .

    من باز به نتیجه نرسیدم !

    من نمیدونم این کار رو در محیط وب چطوری باید انجام بدم .

    لطفا یکی یک کمک اساسی بکنه .
    مرسی .

  7. #36
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    من نمیدونم این کار رو در محیط وب چطوری باید انجام بدم
    اصولاً تحت وب هم فرقی ندارد فقط کافی است ...

    1) با MapPath آدرس محل مناسبی در سرور را بدهید.

    2) باید به زمان httpRuntime-executionTimeout دقت کنید و ان را افزایش دهید تا برنامه فرصت مناسب برای کار داشته باشد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    3) باید permissions پوشه محل پشتیبان گیری را تنظیم کنید، تا sqlserver امکان دسترسی به ان محل را داشته باشد.
    این شاید یکی از مهم ترین کارها باشد که افراد اصلاً به ان دقت نمیکنند.
    برای این کار باید به controlpanel سایتان مراجعه کنید و مجوزهای ان پوشه را تنظیم کنید.
    در صورت داشتن مشکل در این بخش میتوانید با هاستینگتان تماس بگیرد.

    موفق باشید.

  8. #37
    داره خودمونی میشه 3minar's Avatar
    تاريخ عضويت
    Feb 2006
    محل سكونت
    پایتخت فرهنگی
    پست ها
    37

    پيش فرض

    سلام.
    من از دیتابیسم با برنامه با همون کد چند صفحه پیش بکاپ گرفتم ولی الان با کد که میخوام بکاپ رو Restor کنم ارور میده. اگر کمکم کنید ممنون میشم.

    این ارور :
    RESTORE cannot process database 'Sandogh' because it is in use by this session. It is recommended that the master database be used when performing this operation. RESTORE DATABASE is terminating abnormally.

    اینم کدی که ازش استفاده کردم :

    Dim sql As String = "RESTORE DATABASE Sandogh FROM DISK=' G:\ee.bak ' WITH REPLACE"
    Using dbcon As New System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=Sandogh;Integrated Security=True")
    Using dbcom As New System.Data.SqlClient.SqlCommand(sql, dbcon)
    dbcon.Open()
    dbcom.ExecuteNonQuery()
    End Using
    End Using

  9. #38
    داره خودمونی میشه 3minar's Avatar
    تاريخ عضويت
    Feb 2006
    محل سكونت
    پایتخت فرهنگی
    پست ها
    37

    پيش فرض

    کسی جواب سوالم رو میدونه؟؟؟؟!؟

  10. #39
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    طبق پیام SQLServer شما هنوز حداقل یک Connection باز دیگر به دیتابیس دارید.
    سعی کنید همه Connection های باز اضافی را Close کنید و [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    در صورت ادامه مشکل میتوانید دیتابیس را به طور اجباری به مد تک کاربره سوییچ کنید: (قبل Restore)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برای بازگشت بهحالت عادی هم میتوانید دستور زیر را اجرا کنید: (بعد Restore)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

  11. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  12. #40
    داره خودمونی میشه 3minar's Avatar
    تاريخ عضويت
    Feb 2006
    محل سكونت
    پایتخت فرهنگی
    پست ها
    37

    پيش فرض

    ممنون دوست من اما من هنوز مشکلم حل نشده. اون کد System.Data.SqlClient.SqlConnection.ClearAllPools رو قبل از کد restore گذاشتم ولی باز همون ارور قبل رو داد و این 2تا مدی که بالا گذاشتید ظاهرا برای زبان C هست. اگر VB این 2تا کد رو بهم بدید ممنون میشم. و اینکه این 2تا کد رو همینجوری قبل و بعد از دستوراتم بذارم درست میشه؟؟؟؟
    ببخشید انقدر سوال می پرسم.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •