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

نام تاپیک: مشکل با VS2005 در موقع بکاپ گرفتن از دیتابیس

  1. #1
    کاربر دائمی آواتار mohsen_metn
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    356

    مشکل با VS2005 در موقع بکاپ گرفتن از دیتابیس

    سلام
    من در C#‎ کدی برای بکاپ گرفتن از دیتا بیس نوشتم که ایراد می گیره کد رو در SQL SERVER چک کردم درست بود فکر می کنم مشکل از VS است. لطفا کمک کنید
    در ضمن جستجو کردم و لی جوابی نگرفتم
    کد در C#‎

    SqlConnection connection = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=club;Data Source=.\SQLEXPRESS");
    connection.Open();
    SqlCommand backup = new SqlCommand("BACKUP DATABASE club TO DISK = N'c:\\vb.bak'", connection);
    backup.ExecuteNonQuery();
    متن خطا


    Cannot open backup device 'c:\vb.bk'. Operating system error 5(Access is denied.).
    آخرین ویرایش به وسیله mohsen_metn : یک شنبه 15 دی 1387 در 17:55 عصر

  2. #2

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن

    شما بدون ايجاد device پشتيبان تهيه كرديد.به همين خاطرهم بهتون خطا مي ده
    ابتدا با دستور sp_addumpdevice يك دستگاه پشتيبان در مسير دلخواه ايجاد كنيد و بعد با دستور
    backup database و دستگاه پشتيبان ايجاد شده نسخه پشتيبان را تهيه كنيد

  3. #3
    کاربر دائمی آواتار mohsen_metn
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    356

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن

    نقل قول نوشته شده توسط iranrose63 مشاهده تاپیک
    شما بدون ايجاد device پشتيبان تهيه كرديد.به همين خاطرهم بهتون خطا مي ده
    ابتدا با دستور sp_addumpdevice يك دستگاه پشتيبان در مسير دلخواه ايجاد كنيد و بعد با دستور
    backup database و دستگاه پشتيبان ايجاد شده نسخه پشتيبان را تهيه كنيد
    میشه بیشتر توضیح بدین

  4. #4
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن

    با سلام،

    در هنگام Backup و Restore شما به بانك مورد نظر متصل هستيد.

    معمولاً پس از Backup در آينده مي خواهيد از آن استفاده كنيد و Restore نماييد...

    شايد بشود روش شما را اصلاح كرد ولي اگر بخواهيد به همان صورتي كه Backup گرفته ايد Restore نماييد ، به هيچ عنوان موفق نخواهيد شد.

    زيرا ديتابيسي كه در حال استفاده است و اتصال شما به SQLServer از طريق آن است اجازه نمي دهد آنرا Restore نماييد. (حداقل در همه حالات جواب نمي دهد؛ و يك برنامه نويس بايد تمام حالت ها را در نظر بگيرد.)

    شما مي توانيد براي اين كار ديتابيس در حال استفاده را از ديتابيس خود به "master" تغيير دهيد و پس از اتمام Backup و يا Restore به حالت اول بازگردانيد.

    ولي من براي اين كار (چون خودم يك دور سر همين پدرم درآمده) يك Script نوشته ام كه ميتوانيد در برنامه خود به صورت Script فراخواني كنيد و يا آنرا به صورت Stored Procedure درآوريد. (كه بهتر است و راحت تر است)

    اسكريپت Backup كه يك Stored Procedure براي Backup مي سازد.


    USE [نام ديتابيس]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[BackupDB]

    @BackupPath varchar(max)

    AS

    backup database [نام ديتابيس] to disk =@BackupPath with INIT, SKIP, NOUNLOAD, STATS = 10

    RETURN



    و

    اسكريپت Restore كه يك Stored Procedure براي Restore مي سازد.



    use [master]
    GO

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[RestoreDB]

    @BackupPath varchar(max)

    AS

    RESTORE DATABASE [نام ديتابيس]
    FROM DISK = " + "'" + RestorePath + "'" + " WITH RECOVERY, REPLACE

    RETURN



    در صورت هرگونه سوال در خدمتم.

    موفق باشيد.
    آخرین ویرایش به وسیله saied_genius : پنج شنبه 19 دی 1387 در 15:45 عصر

  5. #5
    کاربر دائمی آواتار pars.engineer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    187

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن

    سلام،
    به تاپيك زير هم نگاهي بياندازيد.
    http://www.barnamenevis.org/sh...d.php?t=120434

    موفق باشيد.

  6. #6
    کاربر دائمی آواتار majidsoft
    تاریخ عضویت
    مهر 1387
    محل زندگی
    اهواز
    سن
    43
    پست
    329

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن

    نقل قول نوشته شده توسط saied_genius مشاهده تاپیک
    با سلام،

    در هنگام Backup و Restore شما به بانك مورد نظر متصل هستيد.

    معمولاً پس از Backup در آينده مي خواهيد از آن استفاده كنيد و Restore نماييد...

    شايد بشود روش شما را اصلاح كرد ولي اگر بخواهيد به همان صورتي كه Backup گرفته ايد Restore نماييد ، به هيچ عنوان موفق نخواهيد شد.

    زيرا ديتابيسي كه در حال استفاده است و اتصال شما به SQLServer از طريق آن است اجازه نمي دهد آنرا Restore نماييد. (حداقل در همه حالات جواب نمي دهد؛ و يك برنامه نويس بايد تمام حالت ها را در نظر بگيرد.)

    شما مي توانيد براي اين كار ديتابيس در حال استفاده را از ديتابيس خود به "master" تغيير دهيد و پس از اتمام Backup و يا Restore به حالت اول بازگردانيد.

    ولي من براي اين كار (چون خودم يك دور سر همين پدرم درآمده) يك Script نوشته ام كه ميتوانيد در برنامه خود به صورت Script فراخواني كنيد و يا آنرا به صورت Stored Procedure درآوريد. (كه بهتر است و راحت تر است)

    اسكريپت Backup كه يك Stored Procedure براي Backup مي سازد.


    USE [نام ديتابيس]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[BackupDB]

    @BackupPath varchar(max)

    AS

    backup database [نام ديتابيس] to disk =@BackupPath with INIT, SKIP, NOUNLOAD, STATS = 10

    RETURN



    و

    اسكريپت Restore كه يك Stored Procedure براي Restore مي سازد.



    use [master]
    GO

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[RestoreDB]

    @BackupPath varchar(max)

    AS

    RESTORE DATABASE [نام ديتابيس]
    FROM DISK = " + "'" + RestorePath + "'" + " WITH RECOVERY, REPLACE

    RETURN



    در صورت هرگونه سوال در خدمتم.

    موفق باشيد.


    با سلام
    دوست عزیز با تشکر از شما انگار SCRIPT مربوط به بازیابی ایراد دارد برای BACKUP جواب می دهد ولی برای RESTORE در خود SQL ایراد می گیرد
    با تشکر

  7. #7
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن از دیتابیس

    سلام

    حق با شماست.

    اينجوري تغييرش بدهيد.

    use [master]
    GO

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[RestoreDB]

    @restorePath varchar(max)

    AS

    RESTORE DATABASE [db] FROM DISK =@RestorePath WITH RECOVERY, REPLACE

    RETURN


    يا اينکه اينجوري بنويسيد

    use [master]
    GO

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[RestoreDB]

    @restorePath varchar(max)

    AS

    SET SINGLE_USER With ROLLBACK IMMEDIATE
    RESTORE DATABASE [ديتابيس] FROM DISK =@RestorePath WITH RECOVERY, REPLACE

    RETURN


    موفق باشيد.

  8. #8
    کاربر دائمی آواتار majidsoft
    تاریخ عضویت
    مهر 1387
    محل زندگی
    اهواز
    سن
    43
    پست
    329

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن از دیتابیس

    با سلام و تشکر از شما دوست عزیز باید بگم من از sql2005 استفاده می کنم و با with این ایراد رو می گیره

    Msg 156, Level 15, State 1, Procedure RestoreDB, Line 7
    Incorrect syntax near the keyword 'With'.
    Msg 319, Level 15, State 1, Procedure RestoreDB, Line 7
    Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.
    Msg 102, Level 15, State 1, Procedure RestoreDB, Line 7
    Incorrect syntax near 'IMMEDIATE'.

  9. #9
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن از دیتابیس

    بازهم معذرت مي خواهم.

    اين را امتحان کنيد.

    من امتحان کردم مشکلي نداشت.

    CREATE PROCEDURE [dbo].[RestoreDB]

    @restorePath varchar(max)

    AS

    ALTER DATABASE [نام ديتابيس]
    SET SINGLE_USER With ROLLBACK IMMEDIATE
    RESTORE DATABASE [نام ديتابيس] FROM DISK =@RestorePath WITH RECOVERY, REPLACE

    RETURN


    موفق باشيد.

  10. #10
    کاربر دائمی آواتار majidsoft
    تاریخ عضویت
    مهر 1387
    محل زندگی
    اهواز
    سن
    43
    پست
    329

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن از دیتابیس

    با تشکراز شما دوست عزیز کد درست بود
    موفق باشی

  11. #11
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: مشکل با VS2005 در موقع بکاپ گرفتن از دیتابیس

    خواهش مي کنم.

    در خدمتتان هستم.


    موفق باشيد.

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

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