ورود

View Full Version : چگونه از بانک اطلاعاتی SQL بکاپ گرفته و آنرا بازیابی کنیم ؟



reza_mn
چهارشنبه 30 بهمن 1387, 22:56 عصر
سلام مجدد خدمت دوستان
عزیزان برنامه نویس استفاده کننده از SQl Server برای بانکهای اطلاعاتی خود ، چطور بکاپهای گرفته شده از طریق دستور زیر را بازیابی میکنند:


"Backup Database X1 to disk ='path'"

البته دستور لازم جهت بازیابی اطلاعات همان Restore هست ولی با اجرای این فرمان پیامی مبنی بر غیر قابل نوشتن بودن فایل مورد نظر صادر میشود. عزیزان این مشکل رو چطور حل میکنند ؟

mormorbaba
پنج شنبه 01 اسفند 1387, 00:37 صبح
با سلام خدمت شما
از اين كلاس استفاده كن مشكلت برطرف مي شه.





Dim oBackRest As backup_restore
Set oBackRest = New backup_restore
Call oBackRest.Connect(Trim(""), Trim(""), Trim(""), True)
Call oBackRest.BackupDatabaseToFile("Databasename", Addressbackup & ".bak")



و براي restore




Set oBackRest = New backup_restore
Call oBackRest.Connect(Trim(""), Trim(""), Trim(""), True)
Call oBackRest.DropDatabase("Databasename")


Call oBackRest.RestoreDatabaseFromFile("Databasename", (addressbackup))

m_vb1386
پنج شنبه 01 اسفند 1387, 09:24 صبح
براي استفاده از اين كلاس بايد كدوم ريفرنس رو به برنامه اضافه كرد؟

reza_mn
چهارشنبه 21 اسفند 1387, 01:42 صبح
Microsoft SQLDMO object Library

mohamadsamin
چهارشنبه 21 اسفند 1387, 19:19 عصر
سلام دوست عزیز چرا گیر داره؟
روی handelerror

reza_mn
چهارشنبه 21 اسفند 1387, 21:48 عصر
اون مربوط به قسمت کنترل و صدور خطاست ، میتونید اون قسمت ها رو بدلخواه عوض کنید ، در عملکرد فرقی نمیکنه .

mohamadsamin
پنج شنبه 22 اسفند 1387, 07:51 صبح
ممنون از لطفتون حالا این بک آپ رو کجا می ریزه؟

reza_mn
پنج شنبه 22 اسفند 1387, 12:17 عصر
addressbackup مکانی هست که شما تعین میکنید برای ذخیره بکاپ فایل و دیتابیس مورد نظر

mahmood_s
یک شنبه 16 فروردین 1388, 16:48 عصر
گه ممكنه يك مثالي بذاريد ممنون ميشم

lahij.ir
جمعه 07 خرداد 1389, 11:47 صبح
خسته نباشید دوستان ، موقع restore دیتابیس مشکل داره ، نمیدونم شاید من یه جای کار اشتباه می کنم ، اگه میشه کسی جواب گرفته سورس بزاره لطفا:قلب:

adib202
شنبه 13 شهریور 1389, 20:49 عصر
سلام من موقع backup با این باگ بر می خورم.

error [microsoft][odbc sql server driver][sql server]the filename 'c:\new folder\file.bak' is invalid as a backup device name.reissue the backup statement with a valid filename.

ببینید.من اگه backup رو روی یک فولدری که اسمش فاصله نداشته باشه بگیرم مشکلی نداره .مثلا روی این آدرس:
C:\NEWFOLDER\FILE.BAK
ولی روی این ERROR میده:
C:\NEW FOLDER\FILE.BAK
لطفا کمکم کنین

mds_boy
یک شنبه 14 شهریور 1389, 18:37 عصر
سلام من موقع backup با این باگ بر می خورم.

error [microsoft][odbc sql server driver][sql server]the filename 'c:\new folder\file.bak' is invalid as a backup device name.reissue the backup statement with a valid filename.

ببینید.من اگه backup رو روی یک فولدری که اسمش فاصله نداشته باشه بگیرم مشکلی نداره .مثلا روی این آدرس:
C:\NEWFOLDER\FILE.BAK
ولی روی این ERROR میده:
C:\NEW FOLDER\FILE.BAK
لطفا کمکم کنین


من هم چنین مشکلی دارم، البته من از راهه Winexec و Winrar انجام دادم، به طوری که فایل رو فشرده میکنم و موقع بازیابی از فشردگی در میارم.
نمیدونم چرا فاصله قبول نمیکنه، هر جا بینه اسمه پوشه ها فاصله باشه بکاپ انجام نمیشه !!!
لطفا کسی کمک کنه :تشویق: :قلب: :بوس:.

adib202
یک شنبه 14 شهریور 1389, 22:28 عصر
خواهشا کمک کنید.مشکلم خیلی حاد شده:ناراحت:

SilverGold
دوشنبه 15 شهریور 1389, 00:23 صبح
ببخشید میشه یک مثال واضح تر مطرح کنید

adib202
دوشنبه 15 شهریور 1389, 17:14 عصر
ببخشید میشه یک مثال واضح تر مطرح کنید

ببینید روی این آدرس بین new و folder فاصله نیست و به همین خاطر به درستی بک آپ می گیره:
C:\NEWFOLDER\FILE.BAK


ولی روی این آدرس که بین new و folder فاصله هستش ERROR میده:
C:\NEW FOLDER\FILE.BAK

adib202
سه شنبه 16 شهریور 1389, 22:31 عصر
کسی نیست این مشکل مارو حل کنه.بد جور گیر افتادم.تو رو خدا کمک کنید.

nima_8m
سه شنبه 16 شهریور 1389, 23:00 عصر
سلام
من این نمونه برنامه رو از همین سایت گرتم تست کردم جالب بود شاید به درد شما هم خورد

adib202
چهارشنبه 17 شهریور 1389, 17:49 عصر
سلام
من این نمونه برنامه رو از همین سایت گرتم تست کردم جالب بود شاید به درد شما هم خورد


ممنون ازت nima_8m. ولی اینم دقیقا همون مشکلی که گفتم داره.



ببینید روی این آدرس بین new و folder فاصله نیست و به همین خاطر به درستی بک آپ می گیره:
C:\NEWFOLDER\FILE.BAK


ولی روی این آدرس که بین new و folder فاصله هستش ERROR میده:
C:\NEW FOLDER\FILE.BAK

mds_boy
پنج شنبه 18 شهریور 1389, 19:26 عصر
دوستان یک نمونه برنامه بزارید، من از این کلاسی که گذاشتین توسط mormorbaba سر در نمیارم، و همچنین از این برنامه nima_8m عزیز.
لطفا کاربردی و راحت تر باشه، زیاد دستور نداشته باشه، و راحت بشه ازش استفاده کرد، اگه مشکل هم داشت مسئله ای نیست.
لطفا کمکم کنید، چند روزه دیگه تحویله پروژمه، هنوز هم برنامم کامل نیست :گریه: .
تشکر.

adib202
شنبه 20 شهریور 1389, 22:07 عصر
راجع به این مبحث انصافا اگه کسی اطلاعی داره کمک کنه.

mds_boy
دوشنبه 22 شهریور 1389, 20:53 عصر
:لبخند: دوستان یه چیزایی پیدا کردم، براتون میزارم:
بکاپ:

sql = "backup database stank to disk='" & txtPath & "'"
con.Execute sql

ریستور :

st = "use master restore database stank from disk='" & txtPath & "'"
con.Execute st

من امتحانش نکردم ها، از یکی از پروژه های بچه ها گرفتمش، ولی بازم فکر کنم، اون اشکال فاصله بین مسیر ، تو این هم هست، و اگر بین مسیر بکاپ فاصله ای باشه، مثل : c:\new folder بکاپ کار نمیکنه !
اگر دوستان بتونن روشی یا ترفندی براش پیدا کنن، ممنون میشم.
دوستان با سابقه عزیز، لطفا Help Me PLZ ، خواهش.
تحویل پروژه من 2 هفته تمدید شد، لطفا تا اون موقع چاره ای بیندیشید، من هم باز دنبالش هستم.
موفق و پیروز باشید.

milad-fa
شنبه 27 شهریور 1389, 22:59 عصر
با سلام خدمت دوستان،
آیا منظورتون یه چنین چیزی هست؟!

mds_boy
دوشنبه 29 شهریور 1389, 00:22 صبح
سلام به همه
اگه دقت کنی میلاد جان، این برنامت مشکل کوچکی یا برای ما بزرگی داره، شما مثلا مسیر مقصد رو بده c:\NewFolder و یک بار هم مسیرت رو بده c:\New Folder بعد میفهمی مشکل از کجاست، فاصله تو مسیر دهی مجاز نیست، میتونی این مشکل رو حل کنی ؟؟؟
اگه این و هم بتونی بعدا میزارم،تو شرکتم کار کنی :قهقهه: ، شوخی کردم، استاده مایی :تشویق: .
موفق باشید دوستان

adib202
سه شنبه 30 شهریور 1389, 16:35 عصر
با سلام خدمت دوستان،
آیا منظورتون یه چنین چیزی هست؟!

آره ، دقیقا.فقط بشه هر آدرسی که ممکنه بک آپ رو اونجا کپی کنه.

milad-fa
سه شنبه 30 شهریور 1389, 20:28 عصر
با سلام خدمت دوستان،
ببخشید ورژن قبلی نرم افزارم مشکل داشت.:قهقهه:
بفرمایید اینم ورژن جدید مشکل رفع شد!
ببینید خوب هست؟!

adib202
سه شنبه 30 شهریور 1389, 22:25 عصر
مرسی milad-fa.دمت گرم.:قلب:
میشه راه حلش رو بگی ؟؟

mds_boy
سه شنبه 30 شهریور 1389, 23:57 عصر
با سلام خدمت دوستان،
ببخشید ورژن قبلی نرم افزارم مشکل داشت.:قهقهه:
بفرمایید اینم ورژن جدید مشکل رفع شد!
ببینید خوب هست؟!

ممنون میلاد جان، همیشه اولین و آخرینی :تشویق: .

mds_boy
چهارشنبه 31 شهریور 1389, 22:34 عصر
میلاد جان (milad-fa) سورسش رو نمیزاری ؟؟؟
من از کی منتظرم ! ؟ : :افسرده: .

mds_boy
پنج شنبه 01 مهر 1389, 00:46 صبح
سلام به همه،
آقا میلاد مشکلم حل شد، تونستم خودم بنویسمش،
از همه هم ممنونم.

adib202
پنج شنبه 01 مهر 1389, 15:48 عصر
سلام به همه،
آقا میلاد مشکلم حل شد، تونستم خودم بنویسمش،
از همه هم ممنونم.

اگه میشه راه حلشو بگو.من هنوز نتونستم حلش کنم.:اشتباه:

milad-fa
پنج شنبه 01 مهر 1389, 21:03 عصر
با سلام خدمت دوستان عزیز،
بفرمایید اینم سورس برنامه ای که قبلاً گذاشته بودم.
ببخشید اگه یک مقدار دیر شد.
اگه سوال یا مشکلی هم بود بگید!
موفق باشید/

adib202
جمعه 02 مهر 1389, 09:37 صبح
ممنون milad-fa از کمکت.خیلی حال دادی

احمد رضا طونی
چهارشنبه 07 مهر 1389, 17:06 عصر
ببین دوست عزیز فکر نکنم نیازی به مثال باشه چون اگه تو اس کیو ال رو بلد باشی دیگه جایی مشگل داری چون بقیه دوستان هم می دونن که اس کیو ال کد های مخصوص برای همه کاریو داره فقط شما کافیه که نام جدول و فیلدهای خودتو جایگذاری کنی اون 2 تا کلاسی که اون بالا یکی از دوستان برات تعریف کرده واقعا مفیدن و کاملا که خودت می دونی گسترششون بدی:خجالت:

m_sol_ir
دوشنبه 03 آبان 1389, 13:20 عصر
آیا این برنامه فقط روی سیستمی که sql نصب هست درست کار می کنه .یک setup ساختم و sqldmo رو تو ی اون گذاشتم ولی وقتی از روی client اجرا می کنم error میده.

milad-fa
سه شنبه 04 آبان 1389, 01:25 صبح
آیا این برنامه فقط روی سیستمی که sql نصب هست درست کار می کنه .یک setup ساختم و sqldmo رو تو ی اون گذاشتم ولی وقتی از روی client اجرا می کنم error میده.
سلام دوست عزیز بودن این dll برای backup گرفتن تو کلاینت کافیه ولی بهتره sql رو بصورت client رو سیستم کلاینت نصب کنید تا کامپوننت هاش نصب بشه.تو برنامه های تحت شبکه هم معمولاً sql client رو رو client ها نصب می کنند.
موفق باشید.

alizanganeh
دوشنبه 29 آبان 1391, 11:07 صبح
با سلام خدمت دوستان عزیز،
بفرمایید اینم سورس برنامه ای که قبلاً گذاشته بودم.
ببخشید اگه یک مقدار دیر شد.
اگه سوال یا مشکلی هم بود بگید!
موفق باشید/



خیلی ممنون بابت برنامه
عالیه
فقط یک مشکلی دارم
روی فرمی که دادید کامل کار میکنه ولی وقتی روی برنامه ی خودم میذارم برای restore وقتی میزنم خیلی طول میکشه تا انجام بشه . ینی بمدت شاید 20 ثانیه برنامه قفل میشه و بعد آزاد میشه که تازه restore انجام نشده
میخواستم بدونم بجز اون چیزایی که تیو جنرال تعریف میشن و اضافه کردن ماژول و اضافه کردن رفرنس microsoft sqldmo object library کار دیگه این هم باید انجام بدم؟

ممنون

alizanganeh
دوشنبه 29 آبان 1391, 22:45 عصر
کسی نبود مارو کمک کنه واقعا ؟

alizanganeh
چهارشنبه 01 آذر 1391, 00:23 صبح
کسی نبود مارو کمک کنه واقعا ؟

ra0661
چهارشنبه 01 آذر 1391, 12:07 عصر
دادا مشکلت الان دقیقا کجاست یعنی مگه چند تا سورس هم نمذاشتن برات ؟

alizanganeh
چهارشنبه 01 آذر 1391, 12:55 عصر
دادا مشکلت الان دقیقا کجاست یعنی مگه چند تا سورس هم نمذاشتن برات ؟



ببین من از این برنامه استفاده کردم

http://barnamenevis.org/attachment.php?attachmentid=56975&d=1285265009

توی این پروژه همه چیز کار میکنن
ولی وقتی میبرم توی برنامه ی خودم کد ها و تموم چیزهارو ، بک آپ کار میکنه ولی ریاستور نه
گفتم شاید کار خاضی باید انجام بدم که نمیدونم !
ممنون

محسن واژدی
پنج شنبه 02 آذر 1391, 09:30 صبح
ببین من از این برنامه استفاده کردم

http://barnamenevis.org/attachment.php?attachmentid=56975&d=1285265009

توی این پروژه همه چیز کار میکنن
ولی وقتی میبرم توی برنامه ی خودم کد ها و تموم چیزهارو ، بک آپ کار میکنه ولی ریاستور نه
گفتم شاید کار خاضی باید انجام بدم که نمیدونم !
ممنون

سلام علیکم
به احتمال خیلی قوی بخاطر بازبودن بانک هست، یکبار پیش از restore همه connectionهای متصله به بانک رو ببندید و دوباره دستورات اجرا کنین

موفق باشید

alizanganeh
پنج شنبه 02 آذر 1391, 10:28 صبح
آره احتمالش هست
باشه امتحال میکنم
دمت گرم محسن جان خیلی زحمت میکشی
موفق باشی

alizanganeh
پنج شنبه 02 آذر 1391, 17:04 عصر
سلام علیکم
به احتمال خیلی قوی بخاطر بازبودن بانک هست، یکبار پیش از restore همه connectionهای متصله به بانک رو ببندید و دوباره دستورات اجرا کنین

موفق باشید



آقا اینی که گفتی میشه فک کنم
وقتی کدهای باز کردن بانک رو برمیدارم کار میکنه

اول یک سوال :
من باید قبل از انجام این کار کانکشن ها به بانک رو ببندم یا رکوردست ها که باهاشون رکورد ها رو جستجو و ... میکنم یا هردو ؟

و اینکه الان من 1 فرم دارم که در حین برنامه بازه همیشه و از اطلاعاتی که توش ثبت میشه همه جا استفاده میکنم
ینی باید تمام کانکشن های اون رو هم ببندم ؟
ممنون

محسن واژدی
جمعه 03 آذر 1391, 13:08 عصر
من باید قبل از انجام این کار کانکشن ها به بانک رو ببندم یا رکوردست ها که باهاشون رکورد ها رو جستجو و ... میکنم یا هردو ؟

کانکشن ها رو ببندین کافی هست



و اینکه الان من 1 فرم دارم که در حین برنامه بازه همیشه و از اطلاعاتی که توش ثبت میشه همه جا استفاده میکنم
ینی باید تمام کانکشن های اون رو هم ببندم ؟

بله چون میخواهیم داده های بانک را با back-up جدید بازنویسی کنیم باید همه کانکشن های فعال را ببندیم و اگه حداقل یک کانکشن هم باز باشه چون در اینصورت بانک در حال استفاده است بازیابی با شکست مواجه میشود

موفق باشید

alizanganeh
چهارشنبه 06 دی 1391, 11:29 صبح
آقا من میخوام رفرنس Microsoft SQLDMO object Library رو به برنامه اضافه کنم ولی توی پیداش نمیکنم
قبلا با ویندوز 7 مشکلی نبود
ولی با ویندوز 8 که نصب کردم اینطوریه
چه کنم ؟

ممنون