View Full Version : نیاز به برنامه Backup و Restore
larim2007
شنبه 05 خرداد 1386, 13:06 عصر
با سلام خدمت دوستان
من یک برنامه به زبان سی شارپ نوشتم و در آن از پایگاه داده Sql 2000 استفاده کردم
در این برنامه من نیاز به پشتیبان گرفتن به صورت زمانبندی شده دارم.(یعنی نام پشتیبان حاوی تاریخ آن روز باشد).و همچنین محل ذخیره پشتیبان توسط کاربر انتخاب می شود. همچنین نیاز به بازیابی داده ها دارم. لطفا اگر کسی برنامه کامل آن را دارد در اینجا قرار دهد.
با تشکر
siroos59
شنبه 05 خرداد 1386, 13:33 عصر
با سلام خدمت دوستان
من یک برنامه به زبان سی شارپ نوشتم و در آن از پایگاه داده Sql 2000 استفاده کردم
در این برنامه من نیاز به پشتیبان گرفتن به صورت زمانبندی شده دارم.(یعنی نام پشتیبان حاوی تاریخ آن روز باشد).و همچنین محل ذخیره پشتیبان توسط کاربر انتخاب می شود. همچنین نیاز به بازیابی داده ها دارم. لطفا اگر کسی برنامه کامل آن را دارد در اینجا قرار دهد.
با تشکر
دوست عزیز اگر تا بحال به جواب سئوالت نرسیده ای با این روش مشکلت حل می شود
در موقع نصب sql گزینه custem را که انتخاب کنی اجازه نصب help sql را بهت میده که گزینه های زیادی داره (البته checkbox اند همشون) که از این گزینه ها ado , sqldmo و هر کدمه دیگه را که می خوای راهنماش و نمونه سورسهاش نصب بشه انتخاب کن بعد از اتمام نصب در مسیر نصب sql بشرح زیر
C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Samples\sqldmo
قایل unzip_sqldmo.exe را اجرا کن که نمونه سورسها رو باز می کنه که توی اونا هر چی بخوای هست مثل BackRestEvents و VerifyBackup و ... که خودت استادشونی و بهت بگم که همشون درست اند من خودم دو سال پیش ازشون استفاده کردم و جواب هم گرفتم.
یه نکته دیگه بگم اگه برنامت تحت شبکه هستش نباید sqldmo.dll را برای client ها نصب کنی بشرط اینکه sql رو client ها نصب نشده باشه و در ضمن این نمونه سورسها فقط روی ایستگاهی کار می کنند که دیتابیس روی اون باشه و اگر بخوای از یه client بک آپ بگیری باید برنامه client/server برای اینکار بنویسی
موفق باشی :لبخندساده:
DonetKarvb
شنبه 05 خرداد 1386, 16:23 عصر
برای backup گرفتن میتونید از دستور
BackUp Database DBname to disk='path'
استفاده کنید.
برای زمانبدیش هم دو راه دارید یکی اینکه از job ها در SQL Server استفاده کنید و یا اینکه توسط خود #C این قطعه کد رو در زمانهای خاصی اجرا کنید
near_86
یک شنبه 06 خرداد 1386, 17:51 عصر
DonetKarvb عزیز
میشه کد قابل استفاده در vb6 & vb.net این دستورو بذارید:متفکر:
BackUp Database DBname to disk='path'
ealireza
یک شنبه 06 خرداد 1386, 18:08 عصر
DonetKarvb عزیز
میشه کد قابل استفاده در vb6 & vb.net این دستورو بذارید:متفکر:
BackUp Database DBname to disk='path'
چیزه خاصی نیست !
باید دز یک SQL COMMAND اون رو EXECUTENONEQUERY کنی
موفق باشید
near_86
یک شنبه 06 خرداد 1386, 22:17 عصر
در VB6 که SQL COMMAND نداریم
این کار چطور امکان پذیره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:نارا ت:
1 سوال دیگه هم دارم
چطور میشه در زمان از دست دادن فایلا ی دیتا بیس این فایلای BACKUP دوباره RESTORE کرد؟؟؟:لبخندساده:
in_the_rain
چهارشنبه 09 خرداد 1386, 00:41 صبح
بک آپ و رستور هم با ویزارد میشه هم با کد :
اول باید با استفاده از یک استور پروس سیستمی یک دیواس device تعریف کنیم حالا دقیق یادم نیس باید برم کدشو ببینم بعد با استفاده از دستور بک آپ بک اپ رو میگیریم و میتونیم از همون فایلی که از طریق برنامه گرفتیم رستور کنیم باز هم از طریق برنامه تو help sql هستش اگه شد حتما میزارم براتون
با تشکر از همه دوستان من تازه فهمیدم چقدر اینجا خوبه
linux
چهارشنبه 09 خرداد 1386, 00:50 صبح
اگر جستجو کنید من یک برنامه گذاشتم
با sqldmo می توانید همه این کارها را انجام بدهید
in_the_rain
چهارشنبه 09 خرداد 1386, 11:52 صبح
EXEC sp_addumpdevice 'disk', 'DBSKBackup','e:\DBSK.bak'
این کد فقط یه باراجرا میشه
بعد واسه بکآپ گرفتن
BACKUP DATABASE DBSK TO DBSKBackup with init
که روی فایل قبلی اورایت میکنه
واسه رستو رهم
RESTORE DATABASE DBSK FROM DBSKBackup
میتونی دوتای آخر رو تو کد بزاری به همین راحتی
in_the_rain
چهارشنبه 09 خرداد 1386, 12:00 عصر
حالا میشه یکی راهنمایی کنه اگه بخواهیم برنامه وقتی لود میشه چک کنه اگه دیتا بیش نبود اونو رستور کنه
یه راه که پیدا کردم اینه که با استفاده از sysdatabases بتونیم چک کنیم ببینیم
آیا دیتابیس مورد نظر هست یا نه ولی همش این خطا رو میده کس یمیتونه جواب بده چه باید کرد؟
invalid object name sysdatabases
باید بگم باید دیتا بیس فعال master باشه چون این جدو فقط تو دیتا بیس مستر هستش
SqlConnection Masterconn =new SqlConnection("server=(local);initial catalog=master;trusted_connection=yes");
string sqlIfExistDB = "select name from sysdatabases where dbid='7'";
خوب کسی میتونه بگه چه باید کرد؟
ممنون از لطف دوستان
AminSobati
چهارشنبه 09 خرداد 1386, 12:36 عصر
در هر دیتابیسی که باشید:
select * from master.dbo.sysdatabases
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.