با عرض سلام
من تمام تاپیکهای مربوط به پشتیبان گیری از دیتا بیس رو خوندم به نتیجه نرسیدم. میخواستم بدونم چطوری از دیتابیس mdf تو vb2008 میشه تو برنامه بک آپ گرفت؟
با عرض سلام
من تمام تاپیکهای مربوط به پشتیبان گیری از دیتا بیس رو خوندم به نتیجه نرسیدم. میخواستم بدونم چطوری از دیتابیس mdf تو vb2008 میشه تو برنامه بک آپ گرفت؟
سلام
با کمی توضیح چطورید:
بسیاری از راهبران عقیده دارند روش دیگر پشتبان گرفتن از sql Server ، متوقف کردن و کپی گرفتن از کلیه فایهای مرتبط با sql server است اما این روش ترمیم مستقل پایگاه داده و قابلیت انجام ترمیم در لحظه را امکان پذیر نمی کند بنابراین توصیه می شود از پشتیبان گیری Sql Server استفاده کنید
انواع پشتیبان:
1-کامل
2-تفاضلی
3-فایل و گروه فایل
3-فایل گزارش تراکنش
نحوه ایجاد :
مرحله نخست ایجاد یک دستگاه است از نظر فنی در هنگام اجرای این عمل ضروری نیست.
یک دستگاه چیست:یک دستگاه یک نشانه رو در سیستم کاتالوگ Sql Server است.که حاوی نام منطقی و مسیر فیزیکی فایل دیسک سخت یا درایو نوار مغناطیسی محلی یا یک فایل راه دور بر روی یک کامپیوتر دیگر است.
نحوه ایجاد :
البته این دستور خلاصه شده:
sp_addumpdevice 'Devicetype','Logical_name','Physicalname'
شکل کلی دستور ایجاد دستگاه
توضیح پارامتر ها:
1-'Devicetype' :
نوع دستگاهی است که می خواهید ایجاد کنید که یکی از موارد زیر است :
1-1:Disk>>>اشاره کننده به این است که پشتبان روی دیسک سخت محلی
1-2-Tape>>اشاره به درایو نوار خوان محلی
......
مثال می خواهیم یک دستگاه برای بانک northwind کنیم البته این کار قرار دادی است .
sp_addumpdevice 'disk','Northwind_Device','d:\roshan.bak'
دستور بالا به اندازه کافی کویا هست ....
برای حذف یک دستگاه از دستور :
sp_dropdevice 'Device_name'
برای مشاهده دستگاهاه از روال :
sp_helpdevice
حالا پشتبان گیری را شروع می کنیم:
به دلیل اینکه دستور backup پارامتر های بسیاری دارد من از گفتم جزییات خودداری می کنم
بر طبق مثال قبل با فرض اینکه شما دستگاه به نام Northwind_Device را ایجاد کرده اید دستور زیر از بام اطلاعاتی northwind پشتیبان تهیه می کند(پشتیبان کامل)
Backup database northwind to Northwind_Device With init
هم اکنون اگر به مسیر 'd:\roshan.bak' بروید می توانید فایل را مشاهده کنید.
پشتیبان تفاضلی :
با این نوع پشتیبان گیری تغییرات کلیه صفحات پایگاه داده کپی گر فته میشوداین صفحات پس از آخرین پشتیبان گیری کامل کپی می شوند.اگر یک پشتیبان تفاضلی بگیریم و بعد اطلاات را تغییر دهیم و بعد مجداداً پشتیبان تفاضلی بگیریم. تفاضلی دوم شامل تمام تغییرات موجود در پشتیبان اول به اضافه تغییرات انجام شده پس از پشتیبان اول است .
توجه:پشتیبان تفاضلی پس از یک پشتیبان کامل معنا می یابد.
Backup database northwind to Northwind_Device With defferential,NOINIT
تمام دستورات بالا بوسیله شی sqlcommand قابل اجرا می باشد.
البته اگه اشکالی وجود داره بنویسید ..
اگه نیاز به توضیح بیشتر هست بنویسید...
با تشکر از شما
اگر امکان دارد کمی بیشتر توضیح دهید چون من نتونستم از دستور sqlcommand استفاده کنم
دوستان اگر کسی راجع به sqlcommand تو VB2008 میتونه کمک کنه دریغ نکنه!
من دیتابیس رو از طریق ویزارد به برنامه اضافه کردم و میخوام از کانکشن موجود استفاده کنم نه اینکه مجدد تو برنامه یه کانکشن جدید و یه dataset و ... توسط کد ایجاد کنم
من هم همان ابتدا گفتم تاپیک های مختلف رو خوندم ولی مشکلم حل نشد
حداقل لطف کنید یه برنامه نمونه که شامل موارد زیر باشه رو قرار بدید
شامل 1- یه دیتابیس mdf که اطلاعات جدول رو تو فرم نشون بده
2- یه دکمه برای بک آپ گیری
3- یه دکمه برای ریستور
با تشکر از فراوان
:) اگر خوب می گشتی پیدا می کردی.الان هم اینجا دوست عزیزمان لطف کردن یک راهنمایی کامل گذاشتن. بازهم شما متوجه نشدید؟!
شما هنوز یک چیزی را درست متوجه نشدید که آن هم این هست که وی بی نیست که بکاپ می گیره، sql server که بکاپ می گیره شما هم باید دستور لازم برای اجرای بکاپ را به sql server بفرستید.
شما می توانید همه این دستورات را در یک روال ذخیره شده بنویسید و فقط با استفاده از sqlcommand آن روال ذخیره شده را فراخوانی کنید.
اصلا بلد هستید با sqlcommand کار کنید یا نه؟
سلام
بجای اینکه اینهمه چیز نامربوط و نصفه بنویسید لطف می کردید جواب میدادید بهتر بود.
(خوب شد بعضی ها کلاس ُSqlCommand رو ننوشتین وگرنه ....)
Dim Command1 As New SqlClient.SqlCommand
Command1.Connection = New SqlClient.SqlConnection("Data Source=(local);Initial Catalog=Northwind;User ID=sa")
Command1.Connection.Open()
Command1.CommandText = "دستورات "
Command1.ExecuteNonQuery()
قسمت سبز : یک شی به نام Command1 از کلاس Sqlcommand می سازد
قسمت قرمز (پرسپولیس):یک شی Connection ایجاد و رشته ارتباطی با بانک را تعریف می کند (به فرض می گوید به چه بانکی و چه سروری با چه یوزر و پسوری ) من در اینجا به بانک northwind متصل شدم با user به نام sa
قسمت آبی : دستورات Sql را داخل ( "دستورات ") بنویسید.
با دستور بعدی نیز دستوراتی که در قسمت قبل وارد کرده اید را اجرا می کند.
بله این درسته که دستورات sql تو sql اجرا میشه و برای همین هم باید از sqlcommand استفاده کرد منتها من نمیتونم از sqlcommand استفاده کنم یعنی بلد نیستم و تمام تاپیکهای تو این زمینه رو هم خوندم و تست کردم خطای زیر رو میده:
Connection property has not been initialized.
سوال منم اینه که ایا با اینکه تنظیمات کانکشن و دیتاست و ... رو به صورت ویزاردی تو محیط design انجام دادم باز هم باید یه کانکشن دیگه و یک دیتاست دیگه با یک دیتاویو دیگه تو محیط کد ایجاد کنم؟ در هر صورت چطور ارتباط بین اینارو باید برقرار کرد
مثلا الان من برای پر کردن دیتا ویو یک query تو دیتاست نوشتم به این صورت:
select * from table1 where ID like 'h%'و این query رو به نام Fill ذخیره کردم خوب حالا از دستور زیر برای پر کردن دیتاویو استفاده میکنم:
Me.table1TableAdapter.Fill(Me.DataSet1.table1)بدون هیچ کد دیگه ای برای ایجاد کانکشن و دیتاست و غیره. خوب من نمیتونم برای هرکاری تو دیتاست یک query جدید درست کنم مضافا بر اینکه دستورات بکاپ و ریستور رو هم اونجا اصلا نمیشه نوشت برای همین خواستم توسط کد اینکارو بکنم ولی متاسفانه sqlcommand رو بلدنیستم باهاش کار کنم.
از شنبه تا حالا هم بیکار ننشستم. ولی نه توی اینجا جواب گرفتم نه جای دیگه، من کد نویسی برای sql رو تازه شروع کردم و خوب بدیهیه که بلد نباشم و در اخر اگر کسی حرفه ای باشه دیگه نمیاد اینجا سوال بپرسه (البته ببخشید شاید من اشتباه اومدم)
با عرض پوزش و تشکر از اقای rooshan
آقای روشنفکر متاسفانه مشکل من حل نشد
اول اینکه محل ذخیره بکاپ رو کاربر مشخص میکنه و بنابراین هر بار باید یک دستگاه جدید ساخته بشه و قبلی پاک بشه؟
دوم اینکه تو دستور کانکشن زیر
Command1.Connection = New SqlClient.SqlConnection("Data Source=(local);Initial Catalog=Northwind;User ID=sa")آدرس دیتابیس به صورت local امده که تو برنامه من ارور میده که دیتابیس رو پیدا نمیکنه اگر هم بخوام ادرسو مستقیم بدم نمیشه چون محل ذخیره دیتابیس تو محل نصب برنامه است و محل نصب برنامه رو کاربر مشخص میکنه
سوم اینکه اگه وقت دارین از طریق ایمیل یا جور دیگه صحبت کنیم شاید بهتر باشه
با عرض پوزش و تشکر مجدد
امیدم به دستان زیبای اوست . آنکه می آید . همان که نامش منجی ست ....
به راستی اگر غرق نبودیم چرا مارا به منجی ای نیازمند کرده اند؟ ... دنیا دریاست ....
دلنوشته های من
موافقم ایدی و ایمیل من :سوم اینکه اگه وقت دارین از طریق ایمیل یا جور دیگه صحبت کنیم شاید بهتر باشه
Program_vb2006@yahoo.com