PDA

View Full Version : چگونه به اطلاعات فايل پشتيبان از طريق كد دسترسي پيدا كنيم



omid195
شنبه 08 بهمن 1390, 08:22 صبح
با سلام خدمت دوستان
من يك مشكلي دارم

من يك برنامه دارم كه در اختيار افرادي قرار مي گيردو انها اطلاعاتي را در آن تغذيه مي كنند(از sql server 2008 و c# استفاده كرده ام ) سپس بايد از بانك يك نسخه پشتيبان تهيه كرده و براي من بفرستند، و من بايد بتوانم اين پشتيبان ها را در برنامه خود وارد كنم و سپس همه يك بانك واحد را با تمام اطلاعات تشكيل دهند.
من نمي توانم از شبكه استفاده كنم تا همه به يك بانك وصل شوند.

حال سوال اينكه چگونه مي توان از فايل هاي پشتيبان تهيه شده اطلاعات را استخراج كرد بدون اينكه اطلاعات قبلي از بين برود ،چون در صورت restore كردن هر يك از پشتيبانها اطلاعات قبلي در بانك از بين مي رود.
ايا راهي وجود دارد تا من از طريق كد نويسي به اطلاعات درون فايل هاي پشتيبان دسترسي پيدا كنم تا خود اين اطلاعات را به بانك اضافه كنم نه اينكه ديتابيس restore شود.
(فايل هاي پشتيبان از نوع bak خود sql server است)

zarrinnegar
شنبه 08 بهمن 1390, 09:49 صبح
چند تا راه داره
یکی اینکه یک Export از دیتا هات توی sql درست کنی که به فرمت مثلا اکسل خروجی بگیره و بعد اونو ذخیره کنی بعد کاربر هی اونو اجرا کنه و برات بفرسته
دوم اینکه پشتیبانی که برات میفرسته رو با یک اسم دیگه برگردونی و بعد دستی و یا با برنامه ، اطلاعات رو رو هم بریزی
سوم اینکه هر اطلاعاتی رو که وارد میکنن رو یک LOg با دستور Insert و یا Update و یا Delete اون رکورد توی یک Table ذخیره کنی و بعد اون Table رو بگی برات با روش اول که گفتم برات بفرستن

روش سوم بهتره
چرا که هر سری اطلاعات که برات میفرستن همیشه یه سری از رکورد هاش برات تکراریه و بروزرسانی اونها برات کار سختی میشه
فرض کن که 3 جا برنامه رو نصب کرده و هر کدوم روز اول 50 تا رکورد وارد میکنن و برات میفرستن
روز دوم 60 تا وارد میکنن و 110 تا برات میفرستن
روز سوم 100 تا وارد میکنن و 210 تا برات میفرستن

خوب همینجوری که پیش بریم هی رکورد روزهای قبل رو هم برات میفرستن و تو نمیخوایی اونها رو وارد سیستمت کنی مگر اینکه قبلی ها تغییر کرده باشن یا حذف شده باشن
به نظر من بهترین راه ، راه سوم هست که یه خورده توی راه اندازیش باید روش کارکنی

omid195
شنبه 08 بهمن 1390, 13:41 عصر
ضمن تشكر از وقتي كه به پاسخ گويي به اين سوال اختصاص داديد
چند مشكل وجود دارد
1. كاربراني كه با سيستم كار مي كنند اصلا با sql آشنا نيستند
2. به دليل مسائل امنيتي اصلا كاربر نبايد در مورد جداول بانك اطلاعاتي داشته باشد
حتي همون فايل پشتيبان هم با پسوورد محافظت مي شود مشكل فقط خواندن از فايل پشتيبان است

zarrinnegar
شنبه 08 بهمن 1390, 14:13 عصر
همون روش دوم رو استفاده کن

omid195
شنبه 08 بهمن 1390, 15:08 عصر
ضمن تشكر از شما فكر كنم همين روش مناسب باشه