در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

keivan

مشکل بکاپ گیری از دیتابیس های SQL در شبکه با Map Drive

با سلام خدمت دوستان ، در یک sql نصب شده که به عنوان بانک اطلاعاتی شرکت در حال کار می باشد امکان اینکه بشود backup اتوماتیک بر روی درایو های شبکه انجام شود میسر نمی باشد یعنی در مسیر درایو ها درایو های شبکه ای که map شده است دیده نمی شود لطفا برای حل این مشکل راهنمایی کنید(بدون نصب مجدد sql) متشکر

این سوال 1 پاسخ دارد.
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
فرهاد خانلری

دوست عزیز جهت بک آپ گیری اتوماتیک لینک زیر رو مطالعه کنید تا چیزی از قلم نیفتاده باشه.

اما در خصوص MAP Drive:

درایوی که MAP شده به صورت دستی روی کلاینت ها تنظیم شده اند یا از طریق Active Directory و Group Policy اینکار انجام شده ؟ البته پیشنهاد میشه از طریق GPO یا گروپ پالیسی انجام بشه که می تونید از لینک زیر اطلاعات بیشتری کسب کنید

اما اگر دستی وارد کردید دقت کنید گزینه Reconnect at logon رو انتخاب کنید تیک زدن این قسمت باعث میشه هر سری سیستمتون Restart میشه دوباره این MAP Drive ایجاد بشه ، اگر این کار رو نکردید حتماً بررسی کنید چون خیلی ها با این موضوع مشکل دارن.


در خصوص نحوه ایجاد Map Driver با استفاده از Group Policy به پست های زیر مراجعه کنید :

  1. گروپ پالیسی: حذف تمام Map Drive ها و اضافه کردن جدید ها بطور همزمان
  2. ایجاد Map Drive در Group Policy

لینک زیر هم جهت اطلاعات بیشتر میتونه راهنمای شما باشه.

موفق باشید.

خداوند برکتے عظیم به نام "زندگے" به تو بخشیده است . تو چه چیزے به او تقدیم می کنے ؟ هر روز چیــزے هر چند کوچک به او تقدیم کن ، مقداری عشق به مخلوقاتش . . .

سلام ، دوست عزیز شما باید روی سرویس SQL Agent که در سرویس های ویندوز قرار دارد بروید و در تنظیمات سرویس در تب Log on گزینه This Account را انتخاب کنید.سپس در قسمت Browse نام کاربری که Admin شبکه و در صورت نبود دامین Admin کامپیوتر مقصد را انتخاب کنید(ترجیحا Domain Admin وارد شود.) سپس در قسمت pass و Confirm Pass پسورد اکانت وارد شده را تایپ کنید و در نهایت OK کنید. حالا به مسیری که قرار است Backup ها در آن ریخته شود بروید و در Security آن Folder اکانت Admin را اضافه کنید و Full Access کنید. گام بعدی تعریف Job می باشد، که در آن شما باید مسیر را بصورت شبکه ای وارد کنید.

For Example : \\192.168.6.20\SQLAutoBackup
به یاد داشته باش امروز طلوعی دیگر ندارد.
  • انتخاب شده به عنوان جواب توسط 1 نفر
keivan

فرهاد خان

متشکر از راهنمائیت روش back up گیری اتوماتیک میدونم و یک رول هم با تعیین ساعت backup برای دیتابیس مورد نظر ایجاد کردم و روزانه این کار انجام میشود اما بر روی درایو های local چند درایو به اشتراک گذاشته شده از سیستم های دیگر دستی map شده است بر روی این سرور user سرور admin می باشد و خود domain است و ورودی sql هم با user

sa وارد میشوم ولی در مرحله ای که ایجاد رول میکنیم برای back up گیری و تعیین مسیر ذخیره backup درایو های map شده رانمیتوان دید-دوستی میگفت در زمان نصب sql نباید به صورت local نصب میشد

mahan dana

با سلام

اون قسمتي رو كه آقاي gol.mohsen متذكر شدند ميتونه مشكلت رو حل كنه يعني بجاي اينكه از MAP استفاده كني آدرس مسير share شده اي رو كه روي يكي از درايو ها تنظيم كردي بصورت دستي تعريف كني بصورت زير :

گام بعدی تعریف Job می باشد، که در آن شما باید مسیر را بصورت شبکه ای و دستي وارد کنید.

For Example : \\192.168.6.20\SQLAutoBackup

دوست عزیزم این کار در چند مرحله ساده انجام می شود :

۱ - کلیه قسمتهایی که دوستمون gol.mohsen گفتند رو تا قسمت job باید به دقت انجام بدید.

۲- حال چه بخواهید job تعریف کنید چه دستی backup بگیرید باید اول فولدر مقصد را share نموده و security را full اعمال کنید. از sql 2005 به بعد برای backup گیری بر روی شبکه نمی توان از Unc path استفاده کرد و حتما باید فولدر share شده را بر روی کامپیوتر مبدا را Map کنید.

۳- پس از Map کردن فولدر نوبت به اتخاب آن در مسیر بکاپ گیری به عنوان درایو ذخیره بکاپ می رسد اما نکته اینجاست که sql server فولدر Map شده را به عنوان درایو نمی شناسد و ابتدا باید با اسکریپتی که برایتان نوشتم، آن را فعال کنید . پس یک New Query ایجاد و اسکریپت زیر را اجرا کنید :

Use Master

GO

EXEC master.dbo.sp_configure 'show advanced options', 1

RECONFIGURE WITH OVERRIDE

GO

EXEC master.dbo.spconfigure 'xpcmdshell', 1

RECONFIGURE WITH OVERRIDE

GO

use master

--connect map drive with sql server

EXEC XPCMDSHELL 'net use K: \\192.168.1.5\MyBackup'-- password /USER:server name\username'

--Verify drive mapping .It will display all file map drive

EXEC XP_CMDSHELL 'Dir K:'

فقط دقت کنید که من نام درایو map خود را k و نام فولدر map شده را my_backup در نظر گرفتم. آدرس ip مقصد خود را نیز در اسکریپت جایگزین کنید و از backup خود لذت ببرید.

زندگی یک فهم است ... فکر زنجیر کنی یا پرواز ... در همان می مانی !!!

دوستان عزیز...

من در خصوص این تاپیک، تعداد زیادی تاپیک با همین محوریت در همین سایت دیدم و البته روی کل اینترنت. متاسفانه هیچ کدام جوابی برای پرسش من نبودند.

در یک موضوع مشترک، همه روالهای بکاپ گیری درست انجام شده و Maintenance Plan ایجاد شده است. Share Folder هم ایجاد شده و Permission ها هم اکی هستند. اما سناریوی خاص ما این است که کامپیوتر مبدا بکاپ گیری روی یک شبکه Workgroup و کامپیوتر مقصد روی یک Domain Network قرار دارد. حال دو سوال:

1- وضعیت Log On As سرویس SQL نیاز به تغییر دارد؟ الان روی Local Server تنظیم شده است...!

2- وقتی مسیر ذخیره فایل بکاپ را انتخاب می کنیم مشکل عدم دسترسی به درایوهای شبکه داریم. حتی با آدرس UNC هم مشکل عدم دسترسی به آن فولدر مقصد داریم.

دوستان فرموده بودند که شناسه دامین ادمین یا ادمین سیستم مقصد را در Browse انتخاب کنید. در حالی که این امکان فراهم نیست که یوزر دامین را معرفی نماییم و همین طور به شناسه های SAM سیستم مقصد هم دسترسی نداریم.

لطفا راهنمایی بفرمایید.

مچکرم.

دوست عزیزم در پاسخ به سوالات جنابعالی عرض می کنم که :

۱- وقتی دو سیستم که یکی join به domain نیست قرار است به هر طریقی با هم ارتباط برقرار کنند نیاز به user و pass هست. اگر بخواهید از یک کامپیوتر local به یک کامپیوتر تحت domain متصل شوید حتی با UNC Path زمانی که آدرس را وارد می کنید مثل 192.168.1.1 \\ از شما use. و pass ای جهت اتصال به کامپیوتر تحت دامین درخواست می شود. در سرویس sql server قسمت logon as دقیقا همین وظیفه را بر عهده دارد بنابراین حتما باید در قسمت logon as سرویس sql خود user و pass دامینی وارد کنید.

۲-اگر به متن بالای بنده دقت کنید آنجا نیز عرض کردم که برای اینکه sql بتواند درایو های map شده را شناسایی کند نیاز به تغییراتی دارد که من اسکریپت آن را در متن فوق نوشتم. باید ابتدا اسکریپت مذکور را run کنید و sql خود را refresh کنید. در این صورت درایوهای map شده را خواهید دید.

موفق باشید.

زندگی یک فهم است ... فکر زنجیر کنی یا پرواز ... در همان می مانی !!!

ضمن تشکر از پاسختون، همونطور که عرض کردم من این مورد رو بررسی کردم. اما موضوع اینه که یوزر پس دامینی در قسمت Log On As قابل تعریف نیست. یعنی علیرغم این که با آدرس UNC می شود به درایو مورد نظر در سیستم مقصد رسید (با ورود یوزر و پسورد)، اما در قسمت تعریف اکانت Log On As این یوزر قابل تعریف نیست.

همینطور اسکریپت شما مشکل سینتکسی داره...ممنون میشم دقیقترش رو از طریق درج کد پیوست نمایید.

دوست عزیزم برای تعریف user ، دامینی در قسمت logon as کافیست user خود را به صورت domain\user وارد کنید و به راحتی می توانید با user ، دامینی log in کنید.

در خصوص اسکریپت هم حق با شماست اینجا که کپی کردم right to left. شده، چشم اون رو هم در قسمت درج کد قرار می دم.

Use Master
GO

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
GO


use master
--connect map drive with sql server
 EXEC XP_CMDSHELL 'net use K: \\192.168.1.5\my_Backup'
-- password /USER:server name\username'
 --Verify drive mapping .It will display all file map drive
 EXEC XP_CMDSHELL 'Dir K:'
زندگی یک فهم است ... فکر زنجیر کنی یا پرواز ... در همان می مانی !!!

ضمن تشکر مجدد، متاسفانه شما سعی کردین، اما دوباره نه کد به صورت صحیح قابل دسترسی است و نه با فرمت domain\user به سرور مقصد دسترسی یافتیم.

در location فقط نام کامپیوتر مبدا دیده می شود و به هیچ صورتی SQL حاضر نیست دامین را ببیند.

راهنمایی دیگری مقدور هست؟

من اسکریپتی رو که براتون ارسال کردم بارها اجرا کردم و بدون هیچ مشکلی انجام شده.

فکر می کنم بهتره از اون بخشی که با خطا مواجه می شید یک screenshot بگیرید تا دقیقا با هم همسو بشیم تا بتونم کمک بهتری بکنم.

زندگی یک فهم است ... فکر زنجیر کنی یا پرواز ... در همان می مانی !!!

سلام

دوست عزیز جناب frisky_boy

باید خدمتتون عرض کنم که اگه جواب ها رو میخوندید متوجه می شدید که وقتی شما میخواهید روی کامپیوتر دیگری بک آپ بگیرید باید وضعیت سرویس SQL Agent رو به This Account تغییر بدید.

و سپس در قسمت User اکانت دومینی رو همراه با نام دومین وارد کنید. بفرض مثال : sri\administrator

در نهایت یکبار سرویس SQL Agent رو ریستارت کنید.

در ضمن حتما قبل از اینکه مسیر شبکه ای رو به SQL بدید یکبار توی Windows Explorer آی پی کامپیوتر مقصد (در واقع مسیر Share شده برای بک آپ گیری ) رو بزنید ببینید وارد اون کامپیوتر میتونید بشید یا نه؟!!

موفق باشید.

به یاد داشته باش امروز طلوعی دیگر ندارد.

ضمن تشکر از راهنمایی دوستان و عذرخواهی که چند روز نبودم و بحث نیمه کاره رها شد...

خدمت آقای gol.mohsen عرض می کنم که بدیهیه این مورد...اما اگر دقیق خونده باشید عرض کردم اس کیو ال این دامین رو نمی بینه و نمی تونه باهاش ارتباط بگیره و می نویسه این دامین وجود ندارد. در قسمت Browse هم فقط نام خود سرور مبدا هست و لاغیر...

اصلا مشکل همین جاست...وگرنه موردی وجود نداشت که...

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

فقط مشکل تو کانکت شدن اس کیو ال به اون سرور مقصد هست.

دوست عزیز مشکلتون حل شد؟

سعی تو بنّا و سعادت بناست.

ببخشید من احساس می کردم سایت هنوز مشکل داره و سر نزدم. متاسفانه خیر...حل نشده...

vahidgholami

سلام دوست عزیز

به نظرم، شما در ابتدای کار سراغ Agent نرو و یک بکآپ معمولی از دیتابیس روی مسیر مورد نظرت بگیر ببین انجام میشه یا نه، به عکس زیر دقت کنید...

وب سایت توسینسو

pardazandeh

دوست عزیز جناب ali1160kh من روش شما برای ساخت اسکریپت رو میخوام برم فقط خطای یوزر و پسورد و عدم اتصال به سرور مقصد رو دارم

توی اسکریپت به چه صورت و ترتیبی یوزر و پسورد سیستم مقصد رو وارد کنم :

انجام عملیات در یک شبکه دامین هست

سپاسگزارم

حامد خورشید

دوستان سلام

شبکه من work group هست. بدتر از اون سیستم مقصد که میخام بکاپ اونجا نگه داری بشه سیستم عاملش ویندوز 7 .راه حلی هست؟

ممنون میشم کمک کنید

دو روزه دارم فروم بازدید میکنم ولی 10 درصد هم به جواب نرسیدم

سلام و خداقوت

با تشکر از همه دوستان ، راستش من هم این مشکل رو داشتم و با روش دیگه حلش کردم! روشم رو میگم شاید بدرد دوستان بخوره

اول یه job ساده پشتیبان گیری از بانکم گذاشتم در ساعت x در داخل یک فولدر مشخص

دوم اومدم یه بچ فایل ساختم که داخلش یه دستور ساده داس move قرار دادم و گفتم این فایلها رو انتقال بده به محل دیگر در شبکه.

سوم از طریق اسکجول ویندوز اومدم این فایل رو در زمان x+y اجرا کردم.

الان این روش رو حدود 5 ساله بکار بردم و خیلی هم ازش راضیم و تا حالا هیچ مشکلی هم باهاش نداشتم.تازه چند وقتی هم هست که خوشحالم از این روش چون با توجه به گسترش بدافزارهایی که در شبکه خودشون رو انتقال میدند میشه سرور بک آپ رو یه جای خاص و بدون جوین کردن به دامین و کاملا تنها استفاده کرد و بچ فایل رو داخل خود سرور پشتیبان گیری اجرا کرد!!! نیازی هم به map کردن و اشتراک گذاری فولدر نیست!!!

شاید راه کارم بدوی و خیلی ساده باشه ولی خوب سوادم بیشتر قد نمیده!

سعی تو بنّا و سعادت بناست.
rezagh63

سلام، من این مشکل و فارغ این پیچیدگی ها و با نرم افزار kls backup pro ، برطرف کردم. خیلی نرم افزار خوبیه. از هر درایوی چه شبکه چه لوکال، از تمامیه برنامه ها از جمله از دیتابیس های SQL، ..... بروی لوکال و شبکه به صورت زمانبندی شده، کامپرس شده و رمزگذاری شده میتونه بک آپ تهیه کنه.

در یک کلام نرم افزار عالی ایه. :-)

پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....