سلام
کسی می تنه VB این کد رو بهم بگه؟؟؟کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
کسی می تنه VB این کد رو بهم بگه؟؟؟کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با اجازه استاد H2
من بخشی از یکی از DLL های برنامه ام را (Settings.DLL) که از مهمترین وظایف این DLL پشتیبان گیری ، بازگردانی است را در این بخش قرار دادم .
چون سیستم ما بیش از یک Conection String میتواند داشته باشد مهمترین مشکلمان در بخش بازگردانی اطلاعات امکان تغییر نام بانک اطلاعاتی نسبت به فایلهای MDF و LDF است ، همانگونه که میدانید اگر از بانک A بک آپ تهیه کنید و حتی در سیستم دیگری این فایل را بازگردانی کنید هیچ مشکلی (عموما) وجود ندارد .
ولی اگر از دیتابیش A پشتیبان بگیرید و بخواهید در دیتابیس B آنرا بازگردانی کنید ، باید آدرس فایلهای MDF و LDF آنرا نیز بدهید . برنامه فوق در بازگردانی هر دو مورد فوق صحیح عمل میکند .
این برنامه 100% تست شده و مشکلی ندارد .
بد نیست در مورد بند (Thread) AutoBackup هم نکته ای ذکر کنم . این بند وظیفه انجام پشتیبان گیری اتوماتیک در سیکل زمانی تعیین شده توسط کاربر (30 دقیقه پیش فرض) و در آدرس تعیین شده توسط کاربر (بقل فایل EXE در پوسه AutoBackup پیش فرض) را بر عهده دارد ، وضعیت اجرایی این بند توسط AutoBKStatus قابل تشخیص است . نام بانک اطلاعاتی و سرور را این بند در زمان لازم از طریق CLSConnection.ConnectionString دریافت میکند .
این برنامه در شبکه تست شده و مشکلی ندارد ، فقط باید سرور به مسیرهای پشتیبان یا بازگردانی دسترسی داشته باشد .
تکثیر و حق استفاده این برنامه بدون اجازه از ناشر مجاز است !
فضای مناسبی برای آپلود گیر نیاوردم ، اگر کسی فضای مناسب دارد آنجا آپ کند . فعلا که برای دانلود از RapidShare خیلی مکافات میکشیم !!!کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by bad_boy_2007; 15-02-2010 at 23:51.
یک نکته را فراموش کردم
یادم می آید روزی که داشتم کد Restore را مینوشتم حدود نصف روز یا یک روز به پیغام خطا برخورد میکرد . متن خطا را حضور ذهن ندارم ولی یک چیزی تومایه های واژه فارسی "بازگردانی اطلاعات با شکست روبرو شد" بود ، همانطور که میبینید از این متن هیچ استفاده و کمکی جهت رفع خطا نمیتوان کرد . مطمئنم که حداقل نصف دوستانی که اقدام به پشتیبان گیری و بازگردانی میکنند با این متن مواجه میشوند .
نکته ای که وجود دارد اینست که باید تا آخرین Inner Exception متن های خطار را بخوانید تا به متن واقعی خطا مثلا "آدرس مورد نظر وجود ندارد" برسید ، که در این سورس این کار انجام شده و متنی که برای رفع خطا کمک میکند داده میشود .
یه سوال فنی!!
اگه روی دیتابیس پسورد بذاریم و بکاپ بگیریم، بعد برای Restore کردنش روی هر سیستمی پسورد می خواد؟؟
سلام
یک رمز خود دیتابیس است که در ConnectionString می آید.اگه روی دیتابیس پسورد بذاریم و بکاپ بگیریم، بعد برای Restore کردنش روی هر سیستمی پسورد می خواد؟؟
این رمز ارتباطی با فایل پشتیبان گرفته شده ندارد.
در محل بازیابی هم ConnectionString شما در همانجا باید صحیح باشد و Connection امکان Open شدن داشته باشد.
که این شامل رمز صحیح در مقصد با توجه به شرایط همانجا میشود.
کلاً این مورد فقط به رشته ConnectionString مربوط میشود که باید همیشه صحیح باشد.
=====
ولی شما به صورت جداگانه میتوانید برای فایل پشتیبانتان رمز مشخص کنید که در زمان بازیابی این رمز را باید داشته باشید.
که شبیه رمزی میماند که روی فایل zip ای میگذارید!!! و در زمان extract آن را باید داشته باشید.
درسته، حق با شماست. ولی می شه توضیح بدید چطوری می تونم همونجور که گفتید بصورت جداگانه روی دیتابیس پسورد بذارم؟؟
من باید امنیت برنامه ای که می نویسم بالا باشه که اگه کسی بکاپ گرفت و برد روی سیستم دیگه راحت نتونه اطلاعات رو Restore کنه !!
می خوام تا اونجایی که می شه با پسورد جلوشو بگیرم.
Last edited by 3minar; 21-02-2010 at 13:49.
سلام
خیلی خیلی میبخشید ... !
نمیدانم چرا اصلاً متوجه نشده بودم!!!!!
توجه کنید که رمزعبور داشتن دیتابیس ربط مستقیمی به Backup/Restore ندارد.
برای گرفتن backup رمز لوگین به دیتابیس لازم است.
ولی بعد که Backup ساخه شد دیگر فرد نیازی به رمزدیتابیس شما ندارد و میتواند هر کجا که خواست Restore کند.
البته در زمان Restore هم داشتن رمز رایانه مقصد لبازم است.
ولی فردی که فایل Backup را داشته باشد میتوان آن را در رایانه خودش Restore کند که یا رمز ندارد یا رایانه خودش است و آن را میداند!!
در کل برای وصل شدن به دیتابیس رمز دیتابیس لازم است.
برای ساخت لوگین و مرز گذاشتن و... میتوانید فرمانی مثل این را دنبال کنید:
این کد یک لوگین با نام Username و رمز PPP برای دسترسی به دیتابیس DatabaseName ایجاد میکند.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
میتوانید برای لوگین sa هم رمز بگذارید.
میتوانید با برنامه SQL Server Management Studio و چند کلیک در قسمت Security->Logins برای لوگین ها رمز بگذارید.
و...
=====
البته خود فایلهای Backup هم میتوانند رمز مستقل داشته باشند، مثل رمز فایل zip که از محتوات خودش محافظت میکند.
این رمز هیچ ربطی به رمز دیتابیس ندارد و فردی که Backup را گرفته میتواند در صورت دلخواه روی ان رمز بگذارد.
با برنامه نویسی SMO هم Backup بگیرید میتوانید با متد SetPassword برای فایل Backup رمز بگذارید.
با برنامه نویسی و دستور BACKUP DATABASE هم ...
موفق باشید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
شرمنده من یک برنامه نوشتم که از یک پایگاه داده بکاپ می گیره ولی پیام خطا زیر رو می دیده نمی د.نم مشکل کجاست
متن خطا:
Cannot open backup device 'C:\name'. Device error or device off-line. See the SQL Server error log for more details.
BACKUP DATABASE is terminating abnormally.
من از پروسیجر استفاده کردم که به صورت زیر است
CREATE PROCEDURE MeakBackUp
@Path nvarchar(100)
as
BACKUP DATABASE [nametable] TO DISK=@Path with INIT
GO
کمک کنید ممنون
سلام
ضمن تبریک عضویت شما، مشکل شما مربوط به سطح دسترسی و مجوز اکانتی میشود که SQLServer از آن اجرا میشود.Device error or device off-line
یعنی اکانت SQLServer مجوز دسترسی به محل مورد نظر را ندارد.
یا باید اکانت SQLServer یا مجوزهای آن را اصلاح کنید تا به محل مورد نظر دسترسی داشته باشد.
یا باید فایل backup را در جایی تشکیل دهید که اکانت SQLServer مجوز دسترسی به ان نقطه را داشته باشد.
برای مورد اول لینک زیر را مطالعه کنید و اگر سوالو مشکلی داشتید همینجا مطرح کنید:
support.microsoft.com/kb/207187
برای مورد دوم و مخصوصاً در سیستم عامل های Vista و Win7 پیشنهاد میکنم فایل را در درایو دیگری غیر C (مثل درایو D) تشکیل دهید.
موفق باشید.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)