PDA

View Full Version : سوال: گرفتن BackUp روی ClientSide



AmirAlimadadi
جمعه 04 مرداد 1387, 21:39 عصر
با سلام به دوستان جان
من وقتی که از سمت Client دستور Backup (البته روی SQLServer) اجرا می کنیم و مثلا آدرس C:\backup.mdf را می دم، فایل مورد نظر در سمت Server ذخیره می شه. در اصل Backup روی سرور گرفته می شه؟ چطور می شه کاری کرد که BackUp سمت Client انجام بشه؟
با تشکر فراوان

Xcalivorse
جمعه 04 مرداد 1387, 22:01 عصر
فولدر مورد نظرت رو روی کلاینت Share کن و آدرس رو به صورت UNC بده.
با فرض اینکه نام فولدر Share شده Folder1 نام داره و IP کامپیوتر ما (کلاینت) برابر 192.168.10.10 باشد به جای C:\backup.mdf بنویس

\\192.168.10.10\Folder1\backup.mdf

AmirAlimadadi
سه شنبه 08 مرداد 1387, 14:21 عصر
ممنون از راهنمایی تون، ولی به نظر شما بهتره که اینback up روی client گرفته بشه و یا روی سرور.(از نظر امنیت، سرعت و مسایلی از این دست) می خوام فقط با شما مشورت کنم، دنبال یه راه حل کلاسیک و اثبات شده نیستم، چون اصولا این جور کارها سلیقه ای هست

ASKaffash
سه شنبه 08 مرداد 1387, 16:39 عصر
باسلام
حتما سمت سرور باشد امنیت دارد در ضمن سرعت تهیه هم بالاتراست.

AmirAlimadadi
دوشنبه 28 دی 1388, 15:21 عصر
فولدر مورد نظرت رو روی کلاینت Share کن و آدرس رو به صورت UNC بده.
با فرض اینکه نام فولدر Share شده Folder1 نام داره و IP کامپیوتر ما (کلاینت) برابر 192.168.10.10 باشد به جای C:\backup.mdf بنویس

\\192.168.10.10\Folder1\backup.mdf
من این کاری که گفته بودین رو کردم، فولدر مقصد رو هم Share کردم، اما ایراد زیر رو می گیره
Operating error code 5(Access is denied
موضوع چیه؟؟

AminSobati
دوشنبه 28 دی 1388, 18:39 عصر
سلام دوست عزیزم،
در مورد Error، پست من رو ببینید:
http://barnamenevis.org/forum/showthread.php?t=200384

در مورد روش صحیح، باید بگم Backup اگر روی هارد سرور نگهداری بشه، با Crash کردن اون هارد، هم فایلهای دیتابیس رو از دست میدین و هم Backup رو. من Backup گیری روی کلاینت رو صد در صد ترجیح میدم. ضمنا SQL Server 2005 قابلیتی به نام Mirrored Backup رو معرفی کرد که به کمک اون، شما میتونین در آن واحد در دو یا سه جای مختلف Backup بگیرید. مثلا یک نسخه روی هارد سرور و یک نسخه روی کامپیوتر دیگه

AmirAlimadadi
سه شنبه 29 دی 1388, 11:06 صبح
سلام دوست عزیزم،
در مورد Error، پست من رو ببینید:
http://barnamenevis.org/forum/showthread.php?t=200384

در مورد روش صحیح، باید بگم Backup اگر روی هارد سرور نگهداری بشه، با Crash کردن اون هارد، هم فایلهای دیتابیس رو از دست میدین و هم Backup رو. من Backup گیری روی کلاینت رو صد در صد ترجیح میدم. ضمنا SQL Server 2005 قابلیتی به نام Mirrored Backup رو معرفی کرد که به کمک اون، شما میتونین در آن واحد در دو یا سه جای مختلف Backup بگیرید. مثلا یک نسخه روی هارد سرور و یک نسخه روی کامپیوتر دیگه

ممنون از راهنماییتون دوست عزیز، اما من یه کم توی sql تازه کارم، منظور پست شما رو درست نفهمیدم، می شه بیشتر توضیح بدین

AmirAlimadadi
سه شنبه 29 دی 1388, 17:35 عصر
وقتی میگوئیم :C مربوط است به سرور نه Local پس به نظر من باید یک مسیر روی Local را Share کرد و Server این مسیر را Map کند ومسیر BackUp این مسیر Map شده باشد
منظورتون از map چیه؟؟ یعنی باید map netware drive کنم

انجام این کار در 2000 و 2005 تفاوتی نداره. فقط کافیه سرویس SQL Server رو با کاربری استارت کرده باشین که دسترسی نوشتن روی اون فولدر Share شده رو داشته باشه. دقت کنید که Local System برای سرویس SQL Server باعث میشه تا دسترسی روی فولدر نداشته باشید، پس از یک User Account استفاده کنید
user account داشته باشه یعنی چی؟؟ برای من که می خوام از vs.net به sql وصل بشم، هم لازمه؟؟

ASKaffash
چهارشنبه 30 دی 1388, 10:03 صبح
[quote=AmirAlimadadi;892135]منظورتون از map چیه؟؟ یعنی باید map netware drive کنم
سلام
بله همان Map Network Drive است

AmirAlimadadi
چهارشنبه 30 دی 1388, 10:53 صبح
بله همان Map Network Drive است
ممنون از راهنماییتون، اما در مورد سوال دوم چی کار می شه کرد؟؟
منظورم user account هست؟؟؟

ASKaffash
چهارشنبه 30 دی 1388, 11:37 صبح
سلام
منظور اینستکه کاربر روی سرور باید دسترسی نوشتنی به آن مسیر Share داشته باشد تا بعداز تهیه Backup در آن مسیر فایل قرار گیرد

AmirAlimadadi
چهارشنبه 30 دی 1388, 14:20 عصر
با سلام
مشکل من هنوز حل نشده. کاری که من کردم دقیقا این بود:
1- روی یکی از client ها یه فولدر درست کردم، share کردم و اجازه نوشتن و تغییر دادن رو هم دادم
2- روی سرور به اون فولدر یه مسیر map network drive درست کردم
3- روی سرور با یه user که اجازه همه کار رو داره، یه query نوشتم و برای تست کردن توی query analyser اون رو اجرا کردم ولی هنوز ایراد می گیره
4- query هم که نوشتم به صورت زیر بود
BACKUP DATABASE databasename TO DISK = '\\clientname\foldername\databasename.bak

nooshin964
چهارشنبه 30 دی 1388, 21:54 عصر
نکته ای که شما رعایت نکردید این است که کلاینت و سرور شما هر دو باید عضوی از یک Domain باشند.

AminSobati
چهارشنبه 30 دی 1388, 22:56 عصر
الزامی نداره، در Workgroup هم به راحتی میشه. باید یک User در ویندوز بسازین. برای سهولت، عضو Admin ویندوز قرار بدین. از طریق Administrative Tools > Services سرویس SQL server رو با این User استارت کنین.
روی کامپیوتر مقصد یک User با همون نام و پسوورد بسازین و اجازه نوشتن روی اون فولدر رو بدین. حالا Backup بگیرین