PDA

View Full Version : حرفه ای: پشتیبان گیری + بازیابی پایگاه داده SQL



alimanam
یک شنبه 25 دی 1390, 13:10 عصر
با سلام

همونطور که قبلاً گفته بودم برای امر مهم پشتیبان و بازیابی پایگاه داده جای یک کنترل خوب و بهینه که بتونه به صورت کاملاً حرفه ایی این کار رو انجام بده برای خودم و شاید بقیه دوستان حس میشد . این شد که تصمیم گرفتم نسخه جدید کنترل خودم که نسخه قدیمی ترش در نمونه امضام هست رو بازنویسی کنم . در نسخه جدید امکاناتی جالبی رو لحاظ کردم به اختصار لیست میکنم .



کاملا یوزر فرندلی ( اینترفیس محلی ( فارسی ) و برای کاربران عادی ایجاد شده )
محافظت از فایل های پشتیبان بوسیله گذرواژه
دادن بیشترین دسترسی به برنامه نویس جهت اتصال به پایگاه داده ( هر کانکشنی که به کنترل بدین در صورت معتبر بودن کانکشن استرینگ به سرعت پشتیبان یا بازیابی میکنه )
کم کردن زحمت برنامه نویس جهت طراحی فرم پشتیبان | بازیابی


http://s1.picofile.com/file/7249760000/backupfrm.jpg


در فایل ضمیمه شده کنترل + یک برنامه کاملا ساده برای تست و چگونگی استفاده موجوده . این کنترل بعد از تست و برطرف شدن باگ های احتمالی و همچنین ارائه پیشنهادات و انتقادات شما عزیزان نهایی میشه و به صورت رایگان منتشر میشه . امیدوارم فقط دانلود خشک خالی نکنین .



تذکر :

کنترل رو باید به صورت دستی به جعبه کنترل های ویژوال استودیو اضافه کنید ( Add to ToolBox )

کنترل آپدیت شد .

موفق باشید./

ParsaNM
یک شنبه 25 دی 1390, 13:39 عصر
ممنون دوست عزيز واقعا يوزر فرندلي هستش .. فقط چون سرس نداره من چند تا نکته رو از خودت بپرسم ...
1. اين برنامه مي تونه از روي client هم backup بگيره .. منظورم اينه که اگر کسي که داره backup ميگيره روي server به هيچ درايوي دسترسي نداشته باشه اين برنامه ميتونه backup رو مستقيما روي client بسازه ؟
2. راستش من متوجه شدم که صفحه backup و restore يکي هستش به نظر من بهتره يه گزينه يا پارامتري به ShowDialog اضافه کني که توسط اون گزينه هاي backup از restore جدا بشه يا يه چيزي شبيه اين ... اگر برنامه نويس بتونه اين گزينه ها رو از هم تفکيک کنه خيلي بهتره ... ساده ترين دليلش هم اينه که همه به backup گيري دسترسي دارن و تعداد محدودي مي تونن اطلاعات رو Restore کنن..!

به هر حال ممنون از اينکه به فکر ساخت يه همچين کدي افتادي ..! منتظر دريافت نسخه هاي بعدي هستم ..!

alimanam
دوشنبه 26 دی 1390, 14:42 عصر
با سلام

مرسی از پیشنهادات و نکاتی که فرمودین . در مورد سوال اولتون فکر میکنم خودتون جواب سوالتون رو در خود سوال دادین :بامزه: اگه دسترسی به فضای مورد نیاز نداشته باشه خوب معلومه که نمیشه .

در مورد پیشنهادتون هم به چشم سعی میکنم به صورت مجزا طراحی اش کنم .

دوستان دیگه فقط دانلود کردن !!!!!!!!! یه پیشنهادی یه صحبتی حداقل نتیجه کار رو میگفتن تا بدونم مشکلی اگه داره کجاست مثل این دوستمون که با پیشنهاد خوبشون در بهتر شدن کنترل کمک کردن . بعضی مواقع آدم پشیمون میشه نتیجه چندین ساعت وقتی که صرف یه کاری کرده رو بزاره همه استفاده کنن انصافاً حالا اگه پولی بود فکر کنم 400 تا پست بیخودی زده بودن ... به هرحال ایی شاا.. باره آخری هست که از این کارا تو این سایت انجام میدم سایت شده دانلود سنتر .

موفق باشید./

siedmohsen
جمعه 07 بهمن 1390, 06:47 صبح
سلام دوست عزیز
خودت رو ناراحت نکن ، ارزش نداره
آقاخیلی ممنون کارمون راخ افتاد

ali_habibi1384
جمعه 07 بهمن 1390, 09:24 صبح
سلام.مرسي از ابزارتون ولي خب چيزي كه درست كردين كار چند خط كد نويسيه لازم به ساخت ابزار نيست!
اين كد پراسيجر BackUp :(كه بصورت خودكار مسير بك آپ رو از جدول tblSetting بر ميداره و يك نام فايل از كاربر ميگيره كه به اون نام در مسيري كه گفتم كپي ميكنش)


ALTER Procedure [dbo].[AutoBackUp]
@FileName nvarchar(50)
As
declare @Path nvarchar(255)
set @Path =( select top 1 PathBackUp from tblSetting )
declare @PathFileName nvarchar(300)
set @PathFileName = @Path +'\'+@FileName
set @PathFileName = REPLACE(@PathFileName ,'\\','\')
Begin
BACKUP DATABASE [MashinAlat] TO DISK = @PathFileName with noinit
End

اينهم كد پراسيجر Restore(مسير كپي كردن بك آپ رو از كاربر ميگيره و از اونجا بازيابيش ميكنه):


ALTER Procedure [dbo].[ReStoreBackUp]
@PathFile nvarchar(300)
As
set @PathFile= REPLACE(@PathFile ,'\\','\')
Begin
ALTER DATABASE [MashinAlat] SET OFFLINE WITH ROLLBACK IMMEDIATE
Restore Database [MashinAlat] From Disk =@PathFile
End

تنها كاري كه مونده يه فراخوني براي اين پراسيجرهاست.
حالا شما اگه كد ميذاشتي كه بدرد كسي بخوره امرش چيز ديگه است.(منظورم بجاي ماهي خوردن ماهيگري ياد بديد) متشكرم

ali_habibi1384
جمعه 07 بهمن 1390, 10:04 صبح
من برنامه تونو تست كردم.مشكل زياد داره :
1-اول بگيد اگر فايل به اس كيو ال وصل باشه چطور بك اپ ميگيره؟ شما فايلتون كپي كنار برنامه بود .(وجود چنين قابليتي از طرف شما تاييد ميشه؟)
2-من مسير بك آپ رو MyDocument انتخاب كردم گذر واژه هم براش توليد كردم اما بك اپي نديدم!
3-پس از پايان بك آپ يا ريستور بايد به كاربر بگه اين عمليات انجام شده يا نه!
4-استفاده از كنترل شما دست برنامه نويس رو ميبنده بعنوان مثال برنامه نويس بايد بتونه مسير بك اپ رو خارج از فرم طراحي شده شما به كنترل پاس بده.مثلا من مسيري رو براي كاربر در تنظيمات برنامه به برنامه ميدم تا هنگام خروج خود به خود از ديتا ها بك آپ بگيره.
5-براي اين جور كارا كه ممكنه حجم زيادي از اطلاعات مثلا يه بك آپ 2 گيگا بايتي بايد از Tread استفاده كنيد نه اينكه به كاربر بگيد هنگام بك آپ گيري فرم رو نبنده!
6-اگر داشتن گذر واژه مهمه و كاربر حتما بايد روش كليك كنه اجباري نيست بعنوان يه كليد بياريدش شما ميتونيد كاري رو كه كاربر ميخواد انجام بده شما انجام بديد يعني بجاي كيليك كاربر وقتي مثلا فرم لود شد شما تابع كليك فرم رو انجام بديد.
7-اگر گرفتن گذر واژه مهم نيست و موقع بك اپ گيري ميبيني بدون اون نميشه بك آپ گرفت حداقل يه پيامي چيزي به كاربر بده كه اون بدبخت بفهمه مشكل از كجاست!
8-اگر يوزر فرندلي بودن براي شما ممهمه خب بابا يه سري امكانات دست برنامه نويس بيچاره بذار رنگي فونتي چيزي و تغيير بده !مثلا من از رنگ آبي و فونت BRoya استفاده ميكنم يكهو بيام رنگ بندي برنامه شما رو به كاربران نشون بدم!ضايع نيست؟
9-فرض كن با اين همه مشكل و ... مشل ديگه توي كنترل به اين كوچيكي كاربر داره از برنامه شما استفاده ميكنه موقع خروج هم كليد بك آپ رو زده ولي بك آپ انجام نشده به دلايلي و برنامه شما هم چيزي به كاربر نگفته.حالا كاربر مياد بعد يه مدت ويندوز عوض ميكنه و ميخواد بك آپش رو بازيابي كنه!!! اوه اوه خودتو بذار بجاي اون بدبخت يه فاجعه فرض كن يه كارخونه كه اطلاعات 6 ماهش رو توي بك اپ نيست در جهان ريخته! و اين يعني فاجعه!!!
.
.
شايد يكي از دلايلي كه كسي نظر نداده بخاطر همين مشكلات بوده ببخشين يعني فكر ميكنم كسي شايد خوشش نيومده به همون دلايل بالا.(اينم نظرات:لبخند:)

alimanam
جمعه 07 بهمن 1390, 14:37 عصر
با سلام


سلام.مرسي از ابزارتون ولي خب چيزي كه درست كردين كار چند خط كد نويسيه لازم به ساخت ابزار نيست!

خوب من نگفتم کار شاخي انجام ميده گفتم پشتيبان و بازيابي ميکنه ونيازي به کد نويسي اضافه ايي نيست در ضمن من پروسيجر شما رو تست نکردم ولي اگه ميگين به درستي اين کار رو انجام ميده کد جالبي هستش مرسي .


حالا شما اگه كد ميذاشتي كه بدرد كسي بخوره امرش چيز ديگه است.(منظورم بجاي ماهي خوردن ماهيگري ياد بديد) متشكرم

من عموماً علاقه ايي به انتشار کدهام ندارم مگه اينکه کسي علاقه ايي داشته باشه که مثلا فلان کنترل فلان برنامه منطقي که درش بکار رفته چيه اون موفعه است که من ميتونم راهنمايي اش کنم وتا جايي که اون علاقه فرد کشش داشته باشه کمکش کنم تا به صورت واقعي چيز ياد بگيره نه اينکه ماشين دانلودگر باشه . اين رو من از اساتیدم در اين سايت ياد گرفتم که ماهيگيري سختي و کوشش داره و با انتشار سورس هيچ کسي چيزي یاد نميگيره . کاربراي سايت به نظر من 3 دسته بيشتر نيستن يه دسته که فقط ميان چندتا سورس دانلود ميکنن و فعاليت ديگه ايي ندارن دسته دوم دانلود ميکنن اما به بقيه هم کمک ميکنن چيزي ياد بگيرن و دسته سوم هم دانلود ميکنن هم اگه چيزي بلدن به بقيه کمک ميکنن و هم اگه چيزي بلد نيستن دنبال ميکنن سوال ميکنن جستجو ميکنن مطلب دنبال ميکنن و به نظر من اين فرد ايده آل هستش ( اين نظر شخصي بنده است و 100% خالي از اشکال و انتقاد نميتونه باشه )


من برنامه تونو تست كردم.مشكل زياد داره :

مرسي که مثل بقيه دوستان فقط دانلود نکردين .


1-اول بگيد اگر فايل به اس كيو ال وصل باشه چطور بك اپ ميگيره؟ شما فايلتون كپي كنار برنامه بود .(وجود چنين قابليتي از طرف شما تاييد ميشه؟)

از اونجايي که يک برنامه نويس مجرب هميشه بعد از هر کانکشني اون رو ميبنده پس لازم نديدم همه کانکشن هاي ممکن رو ببندم اين به برنامه نويس برميگرده که کارش رو درست انجام بده اگه من ميومدم همه کانکشن ها رو Close ميکردم ممکن بود کسي بياد بگه آقا چرا کنترل شما اين کار رو ميکنه در صورتي که منطق اين رو ميگه که هميشه بين بد و بدتر بد رو انتخاب کنيم .


2-من مسير بك آپ رو MyDocument انتخاب كردم گذر واژه هم براش توليد كردم اما بك اپي نديدم!

من نميدونم مشکل از کجاست ولي يک تغييراتي در کنترل دادم که ميتونين کنترل رو از پست اول دانلود کنين و تست کنين . من يک دمو رو اينجا آپلود (http://manamsoft.ugig.ir/video/Manam_db_Keeper-Demo.swf) کردم که کارکرد اين کنترل رو به صورتي که ميخواستين نمايش ميده .


3-پس از پايان بك آپ يا ريستور بايد به كاربر بگه اين عمليات انجام شده يا نه!

مگه اینکار با اعلان یک مسج باکس نشان داده نمیشد ؟!



4-استفاده از كنترل شما دست برنامه نويس رو ميبنده بعنوان مثال برنامه نويس بايد بتونه مسير بك اپ رو خارج از فرم طراحي شده شما به كنترل پاس بده.مثلا من مسيري رو براي كاربر در تنظيمات برنامه به برنامه ميدم تا هنگام خروج خود به خود از ديتا ها بك آپ بگيره.


سعی میکنم در نسخه بعدی این موضوع رو لحاظ کنم .


5-براي اين جور كارا كه ممكنه حجم زيادي از اطلاعات مثلا يه بك آپ 2 گيگا بايتي بايد از Tread استفاده كنيد نه اينكه به كاربر بگيد هنگام بك آپ گيري فرم رو نبنده!

مگه نکردم !؟ من از کنترل بکگراند ورکر استفاده کردم و برنامه به هیچ وجه فریز نمیشه .

مورد 6 رو درست متوجه نشدم ولی اگه منظورتون رو درست گرفته باشم فکر نمیکنم درست باشه کاربر بدون اینکه بدونه یک گذرواژه استخراج بشه در تغییراتی که در کنترل دادم به صورت پیام بهش هشدار داده میشه که گذرواژه انتخاب کنه .

مورد 7 ) در موردش توضیح دادم ( مورد 6 )

مورد 8 ) من از فونت های استاندارد استفاده کردم همینطور چیدمان کنترل ها کاملا با نرم افزارهای داخلی مطابقت داره ولی اگه خیلی در این مورد اصرار دارین چشم سعی میکنم در نسخه بعدی لحاظش کنم .

مورد 9 ) فکر میکنم توضیحات قبلی جواب این سوالتون رو داده باشه ( تغییرات بر روی کنترل اعمال شد )



شايد يكي از دلايلي كه كسي نظر نداده بخاطر همين مشكلات بوده ببخشين يعني فكر ميكنم كسي شايد خوشش نيومده به همون دلايل بالا

یعنی شما هم خوشتون نیومده که اشکالاتی که فکر میکردین وارد بوده رو گفتین ؟! این مسئله ( فقط دانلود کردن و هیچ نظر , پیشنهاد , انتقاد ) بر میگرده به گروه اول کاربرانی که در این سایت هستن و ربطی به خوش اومدن یا نیومدن کسی نداره چون چه بسا کسی از چیزی خوشش نمیاد اما سعی میکنه به کاری که انجام داده شده ارزش قائل بشه و نظرشو بده هرچند که ارزش گذاشتن بر روی چیزی به استقبال کردن افراد از اون چیز برنمیگرده اتفاقا خیلی از دوستان محبت کردن و دانلود کردن ولی در همین حد دانلود باقی موند و ..... بیخیال بابا همیشه این افراد هیچی یاد نمیگیرن پس بزار راحت ترین کار که همون دانلود کردن باشه رو انجام بدن .

موفق باشید ./

ali_habibi1384
جمعه 07 بهمن 1390, 15:16 عصر
پيشنهاد ميكنم بجاي درست كردن UserInterFaceرابط كاربري براي ابزارتون مثل كنترلهاي ساعت ،openfiledialog , ... كه روي فرم چيزي ديده نميشه درست كنيد و فقط مسيرهاي BackUp , Restore رو با يكسري پارامتر ورودي درست كنيد.اينجوري خيلي كاراييش بالا ميره. مثلا كاربر بياد اينجوري كار كنه:


ManamBackUpRestore.BackUp(مسير فايل);

ميشه براي اين تابع خروجي هم گذاشت مثلا اگر True برگردونه يعني خطا داره:


if (ManamBackUpRestore.BackUp(مسير فايل)==False)
{
اينجا خود كاربر تصميم ميگيره چيكار كنه
}

يعني منظورم اينكه كلا InterFace نداشته باشه دوست خوبم

morrning
یک شنبه 01 مرداد 1391, 17:14 عصر
من عموماً علاقه ايي به انتشار کدهام ندارم مگه اينکه کسي علاقه ايي داشته باشه که مثلا فلان کنترل فلان برنامه منطقي که درش بکار رفته چيه اون موفعه است که من ميتونم راهنمايي اش کنم وتا جايي که اون علاقه فرد کشش داشته باشه کمکش کنم تا به صورت واقعي چيز ياد بگيره نه اينکه ماشين دانلودگر باشه . اين رو من از اساتیدم در اين سايت ياد گرفتم که ماهيگيري سختي و کوشش داره و با انتشار سورس هيچ کسي چيزي یاد نميگيره . کاربراي سايت به نظر من 3 دسته بيشتر نيستن يه دسته که فقط ميان چندتا سورس دانلود ميکنن و فعاليت ديگه ايي ندارن دسته دوم دانلود ميکنن اما به بقيه هم کمک ميکنن چيزي ياد بگيرن و دسته سوم هم دانلود ميکنن هم اگه چيزي بلدن به بقيه کمک ميکنن و هم اگه چيزي بلد نيستن دنبال ميکنن سوال ميکنن جستجو ميکنن مطلب دنبال ميکنن و به نظر من اين فرد ايده آل هستش ( اين نظر شخصي بنده است و 100% خالي از اشکال و انتقاد نميتونه باشه )ابتدا ازتون بابت انتشار دی ال ال تشکر میکنم . واقعیت اینه که بدون انتشار سورس این کار شما هیچ فایده ای نداره .ببخشید که رک حرف میزنم به دلایل زیر:
- یا من کد رو دانلود میکنم که در پروژه های خودم ازش استفاده کنم که با این هدف یه مشکل بزرگ وجود داره و اونم اینه که چون معلوم نیست عملیات هایی رو غیر از عملیات اصلی انجام میده و از لحاظ مسائل امنیتی کنترل شده یا نه پس نمیشه در پروژه های بیزینس پلن که چه عرض کنم به درد پروژه دانشگاه هم نمیخوره , الان اساتید دانشگاه هم خیلی به این مسائل آگاهند! و چه بسا در همین برنامه های آموزشی چه خواسته یا ناخواسته باگ هایی قرار داده شده باشه
-مسئله دوم اینه که شاید من بخوام از الگوریتم این کار سر در بیارم که چطور پیاده سازی شده متاسفانه چون شما سورس رو منتشر نکردید هیچ کس نمیتونه به روند کار آگاهی پیدا کنه مگر از روش مهندسی معکوس که اونم فکر نکنم کسی بخواد واسه یه دی ال ال آموزشی با n خط برنامه کد شده سرو کله بزنه.
پس حق رو به کاربرایی بدید که فقط میان دانلود میکنن و میرن.

یه مورد دیگه هم اینکه بنده تایپینگ های دیگه شما رو که همچین مواردی رو منتشر کردید مطالعه کردم و دیدم هر جا کاربر از شما خواسته که سورس رو منتشر کنید در جواب شما گفتید که گرفتارم و مشغولم یا buzzy یا ... ازتون خواهش میکنم حداقل بگید که دوست ندارید سورس رو منتشر نکنید و با کاربرای دیگه رو راست باشید . منتشر نکردن سورس کدهایی که شما نوشتید حق شماست حالا یکی دوست داره منتشر نکنه و یکی دیگه میگه تحت مجوز GNU GPL تقدیم به ملت..
البته فکر کنم هدف از اتشار این دی ال ال ها استفاده از تفکر کاربرای دیگه برای کامل کردن پروژتون هست که این دی ال ال ها قسمتی از اون هستن.

alimanam
یک شنبه 01 مرداد 1391, 18:23 عصر
با سلام


پس حق رو به کاربرایی بدید که فقط میان دانلود میکنن و میرن.

دوست خوبم در ابتدا بابت پیشنهاد و انتقاداتت ازتون تشکر میکنم .

دوست عزیزم اون دسته از کاربران چه با سورس کد چه بدون سورس کد , تنها کاری که میتونن ( بخونین بلدن ) دانلود هستش و لاغیر ! من هم زوری بالای سرکسی ندارم که عزیزم .


یه مورد دیگه هم اینکه بنده تایپینگ های دیگه شما رو که همچین مواردی رو منتشر کردید مطالعه کردم و دیدم هر جا کاربر از شما خواسته که سورس رو منتشر کنید در جواب شما گفتید که گرفتارم و مشغولم یا buzzy یا ... ازتون خواهش میکنم حداقل بگید که دوست ندارید سورس رو منتشر نکنید و با کاربرای دیگه رو راست باشید .

لطفاً لینک بدین تا بررسی کنم منظور شما کدام هستش چون تا جایی که حافظه بنده یاری میکنه من مثل شما رک بودم اگر لازم دونستم سورس رو قرار دادم اگرم لازم ندیده بودم در پست اول گفتم سورس رو عمومی نمیزارم ( بارها شده سورس های زیادی رو به دوستان علاقمند به صورت خصوصی درخواست میکردن من افتخار میکردم و میکنم تقدیمشون میکردم و میکنم )



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

خوب خودتون جواب سوال خودتون را دادین درسته ؟!!!


البته فکر کنم هدف از اتشار این دی ال ال ها استفاده از تفکر کاربرای دیگه برای کامل کردن پروژتون هست که این دی ال ال ها قسمتی از اون هستن.

متاسفانه فکر شما اشتباه بوده دوست خوبم . من در هرتاپیکی که برنامه ایی رو معرفی میکردم توضیح میدادم اگر پیشنهاد یا انتقادی هست بفرمائین تا بهتر بشه و تا جایی که به خاطر دارم هیچ کنترل یا نرم افزار تجاری تا حالا در تالارهای نامربوط نه معرفی کردم نه میکنم .

در انتها باز هم خاطر نشان میکنم ! اگه کسی علاقمند بود میتونه هرسوالی در مورد نحوه پیاده سازی هر کنترلی هر برنامه ایی که من سورسش رو قرار ندادم بپرسه , شده کل سورس رو براش توضیح میدم تا خودش یاد بگیره این حق منه که بخوام روشی که دوست دارم رو بکار ببرم . شاید هم بی عیب و اشکال نباشه که حتماً هم همینطوره اما خوب منطق من اینجوریه .

موفق باشید./

ali_habibi1384
دوشنبه 02 مرداد 1391, 23:13 عصر
در مورد پيشنهادات من هيچ نظري نداريد؟
يا با دليل ردش ميكرديد يا اجراش ميكرديد.
توي آپديت جديدتون هم دقيقا همون مشكلات قبلي رو داريد جدا از اجراي نظرات بچه ها!!! پس نگيد نظر بديد(انتقاد و پيشنهادي كه بجاي عمل كردن به بحث و جدل كشيده بشه! يا لج و لجبازي. . .) آدم چيزي نگه بهتره.بذار سازندش فكر كنه خوب كار كرده.

alimanam
سه شنبه 03 مرداد 1391, 17:23 عصر
با سلام


در مورد پيشنهادات من هيچ نظري نداريد؟

نظرات شما و دیگر دوستان در نسخه جدید لحاظ شده میتونین به همراه سورس کد این یوزر کنترل از اینجا (http://barnamenevis.org/showthread.php?352863) دانلود کنین .


توي آپديت جديدتون هم دقيقا همون مشكلات قبلي رو داريد جدا از اجراي نظرات بچه ها!!! پس نگيد نظر بديد(انتقاد و پيشنهادي كه بجاي عمل كردن به بحث و جدل كشيده بشه! يا لج و لجبازي. . .) آدم چيزي نگه بهتره.بذار سازندش فكر كنه خوب كار كرده.

تا جایی که من میدونم من با کسی جدل یا مشاجره ایی نکردم دوستان گله داشتن که چرا سورس کد نمی زاری من هم توضیح دادم .

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

moeinih
چهارشنبه 04 مرداد 1391, 13:58 عصر
سلام.مرسي از ابزارتون ولي خب چيزي كه درست كردين كار چند خط كد نويسيه لازم به ساخت ابزار نيست!
اين كد پراسيجر BackUp :(كه بصورت خودكار مسير بك آپ رو از جدول tblSetting بر ميداره و يك نام فايل از كاربر ميگيره كه به اون نام در مسيري كه گفتم كپي ميكنش)


ALTER Procedure [dbo].[AutoBackUp]
@FileName nvarchar(50)
As
declare @Path nvarchar(255)
set @Path =( select top 1 PathBackUp from tblSetting )
declare @PathFileName nvarchar(300)
set @PathFileName = @Path +'\'+@FileName
set @PathFileName = REPLACE(@PathFileName ,'\\','\')
Begin
BACKUP DATABASE [MashinAlat] TO DISK = @PathFileName with noinit
End

اينهم كد پراسيجر Restore(مسير كپي كردن بك آپ رو از كاربر ميگيره و از اونجا بازيابيش ميكنه):


ALTER Procedure [dbo].[ReStoreBackUp]
@PathFile nvarchar(300)
As
set @PathFile= REPLACE(@PathFile ,'\\','\')
Begin
ALTER DATABASE [MashinAlat] SET OFFLINE WITH ROLLBACK IMMEDIATE
Restore Database [MashinAlat] From Disk =@PathFile
End

تنها كاري كه مونده يه فراخوني براي اين پراسيجرهاست.
حالا شما اگه كد ميذاشتي كه بدرد كسي بخوره امرش چيز ديگه است.(منظورم بجاي ماهي خوردن ماهيگري ياد بديد) متشكرم

سلام ببخشید من از این الگوریتمی که شما دادین استفاده کردم یعنی store procedure ها رو ساختم پسوند فایل بک آپتون مشخص نیست من خودم bak بهش اضافه کردم بک آپ رو میگیره یعین فایل bak رو تولید می کنه ولی تو بازیابی مشکل داره یعنی دیتابیس و آفلاین میکنه ولی بازیابی انجام نمیشه
چکار باید بکنم؟؟؟؟؟؟؟؟؟؟؟؟؟