PDA

View Full Version : مراحل پیکربندی SQL Server 2005



sahar480
یک شنبه 04 اسفند 1387, 11:09 صبح
با سلام
مراحل config SQL Server 2005 رو بنویسین. می خوام دیتابیسمو تحت شبکه کنم و نرم افزارمو به اشتراک بذارم، باید چه کاری انجام بدم؟
با تشکر

nasr
یک شنبه 04 اسفند 1387, 11:17 صبح
SQL Server کانفیگ خاصی نداره

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

sahar480
یک شنبه 04 اسفند 1387, 12:04 عصر
ممنون از اینکه زود جواب دادین. ممکنه بیشتر توضیح بدین؟؟ برنامم با دلفیه. (delphi7.0) توش ADOConnection دارم... باید این کانکشن (Connection string)رو تغییر بدم؟ ضمنا server name .\SQLEXPRESS تغییر می کنه؟

saied_genius
دوشنبه 05 اسفند 1387, 16:47 عصر
::::::براي فعال كردن remote براي sqlserver بر روي سرور:::::

::اين عمليات بر روي سرور انجام شود::
1- ابتدا firewall سيستم سرور را تنظيم كنيد كه بتواند remote connection را دريافت نمايد.
(با غير فعال كردن firewall زمين تا آسمان متفاوت است.)
: در firewall در قسمت exceptions بر روي add program كليك نماييد و فايل sqlserver را اضافه نماييد. (فايل sqlservr.exe)

2- تشخيص نام sqlserver:
: در پنجره Sql Server Configuration Manager در پنجره سمت چپ بر روي Sql sever 2005 Services كليك كرده و در سمت راست سرويس هاي موجود را مشاهده نماييد.

::نكته::
اگر براي sqlserver خود زمان نصب sqlserver نام (instant) تعريف كرده باشيد در همين جا مشخص مي شود.
يكي از سرويس ها با نام SQL Server است. اگر شما براي آن زمان نصب instant تعريف كرده باشيد نام instant شما داخل پرانتز مي آيد.

مثال:
SQL Server (Myserver)

::توجه::
اگر SQLServer شما express باشد به عنوان instant نصب مي شود و نام SQLEXPRESS داخل پرانتز مي آيد.

3- براي sqlserver خود پورت جهت دريافت remote connection تعريف كنيد.
: در پنجره Sql Server Configuration Manager در سمت چپ بر روي از شاخه SQL Server 2005 Network Configuration بر روي نام سرور خود كليك نماييد (طبق آنچه در شماره 2 گفته شد نام sqlserver خود را تشخيص دهيد.)

مثال:
Protocols for SQLEXPRESS

سپس در پنجره سمت راست بر روي TCP/IP دوبار كليك نماييد تا پنجره مربوطه باز گردد.

در پنجره باز شده در صورتي كه گزينه Enabled برابر No است آن را برابر Yes قرار دهيد.

سپس در همان پنجره به Tab (سربرگ) IP Address برويد و در فيلد يكي مانده به آخر (TCP Dynamic Ports) پورت مورد نظر خود را جهت remote connection تعريف نماييد.

::مهم::
1433 پورت پيش فرض sqlserver است، در صورتي كه مي خواهيد از حالت remote استفاده نماييد حتماً (از لحاظ امنيتي) آنرا تغيير دهيد.

بر روي Apply و سپس Ok كليك نماييد.

**يك پيغام به شما مي دهد دال بر اين كه جهت استفاده از تغييرات بايد سرويس مورد نظر شما يك بار restart شود و شما بر روي Ok كليك نماييد.

4- به شاخه SQL Server 2005 Services در پنجره سمت چپ باز گرديد و از پنجره سمت راست sql server خود را كه قبلاً (طبق توضيحات شماره 2) شناختيد انتخاب و سپس بر روي آن راست كليك كرده و Restart را انتخاب نماييد و پنجره را به طور كلي ببنديد.

5- Connection String:
:در صورتي مي توان به سرور وصل شد كه در سمت سرور، IP سرور به همراه Port ارتباطي را داشته باشيم. سرورهايي كه از آنها هاست مي گيريم مشكلي براي تنظيمات نداريم و خود آنها پورت را به همراه آي پي و user و pass براي ارتباط را به شما مي دهند.
اما اگر خودتان سرور راه اندازي كنيد بايد اين تنظيمات را انجام دهيد. (در صورت نياز به اطلاعات بيشر بگوييد تا بيشتر توضيح دهم.)
************************************************** ************

::اين عمليات بر روي كلاينت انجام شود::
در هر صورت ما نياز به آي پي و پورت داريم . Connection String ما به صورت زير خواهد بود.
(با فرض اينكه آدرس سرور ما 192.168.0.1 باشد)



Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;


يا


Data Source=190.190.200.100\Sqlexpress,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;


**در صورتي كه Alternative دارد


البته Connection String استاندارد طبق زير است، خودم به شخصه استفاده كردم جواب داده (البته شبكه داخلي ، بر روي اينترنت را نمي دانم.)


Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connecti on=False;



Server / Data Source: آي پي سرور به همراه پورت مورد نظر (1433 پورت پيش فرض SQLServer 2005 است)
Network Library: به جاي DBMSSOCN بايد TCP/IP را قرار دهيد چون به احتمال زياد از TCP/IP استفاده مي كنيد.
Initial Catalog: نام ديتابيس خود كه موجود است بر روي سرور و اجازه دسترسي به آن را داريد.
User ID: نام كاربري تعريف شده براي شما بر روي SQLServer سرور.
Password: رمز عبور تعريف شده براي شما بر روي SQLServer سرور.


::اين عمليات بر روي سرور انجام شود::
شايد ساختن user بحث مفصلي (در حد يك كتاب) داشته باشد؛ ولي به طور كلي ساختن آن به صورت زير است.

براي ساختن user:

1- از طريقSql Management Studio سرور مورد نظر را باز كنيد
2- فولدر Security را باز كنيد.
3- بر روي پوشه Logins كليكراست كرده و new Login را كليك نماييد.
4- در قسمت login name نام كاربري مورد نظر خود را وارد نماييد و در قسمت پايين تر در sql server authentication پاسورد و تاييد پسورد خود را وارد نماييد.
5- به قسمت user mapping برويد و ديتابيس مورد نظر خود را (كه مي خواهيد اين كاربر فقط به آن ديتابيس دسترسي داشته باشد) انتخاب نماييد.
6- به قسمت securables (از عنوان هاي سمت چپ) برويد.
7- بر روي add كليك نماييد و گزينه مورد نظر را انتخاب كنيد.
8- بر روي گزينه آخر كه بگذاريد كاربر به تمامي اطلاعات آن سرور كه مربوط به آن ديتابيس است را دسترسي خواهد داشت.
9- در صورتي كه مي خواهيد دسترسي محدودتري داشته باشد از گزينه هاي ديگر استفاده كنيد (كه خود بحث مفصلي دارد http://www.barnamenevis.org/forum/images/icons/icon9.gif).
10- در قسمت status (در سمت چپ) گزينه grant و Enable را (از سمت راست) انتخاب نماييد.
سپس بر روي ok كليك نماييد.

user شما آماده است.

فكر كنم ديگه كامل تر از اين نمي شه توضيح داد ....!!!

مراحل را انجام دهيد. اگر سوالي بود در خدمتم.

موفق باشيد.

a.maleki
دوشنبه 07 اردیبهشت 1388, 08:24 صبح
دوستان من تمام این تنظیمات رو انجام داده ام و از یوزر guest ویندوز برای ساختن لاگین استفاده کرده ام ولی باز کلاینت نمی تونه به بانک وصل بشه
می خواستم تو این بخش بیشتر توضیح بدید
آیا باید حتما از sql server authentication استفاده کنیم
لطفا من و راهنمائی کنید ممنون :گیج::گیج:
در حقیقت این خطا رو به من میده

saied_genius
دوشنبه 07 اردیبهشت 1388, 17:40 عصر
دوستان من تمام این تنظیمات رو انجام داده ام و از یوزر guest ویندوز برای ساختن لاگین استفاده کرده ام ولی باز کلاینت نمی تونه به بانک وصل بشه
می خواستم تو این بخش بیشتر توضیح بدید
آیا باید حتما از sql server authentication استفاده کنیم
لطفا من و راهنمائی کنید ممنون :گیج::گیج:
در حقیقت این خطا رو به من میده


شما اگر دستورات بالا را درست انجام دهيد غير ممکن است که دچار مشکل شويد.

چون ديگر کامل تر از اين نمي شد توضيح داد.

موفق باشيد.

a.maleki
دوشنبه 07 اردیبهشت 1388, 17:43 عصر
والا من خودمم در تعجبم چون قبلا جواب گرفتم اما این بار این پیغام رو مده من خودم احتمال میده برای یوزر باشه میشه اطلاعات بیشتری در مورد یوزرها بدید به خدا بد جوری گیر کردم
ممنون میشم

saied_genius
چهارشنبه 09 اردیبهشت 1388, 01:51 صبح
guest محدوديت دارد. احتمالاً مشکل از آن باشد.

بيشتر توضيح دهيد.

چگونه داريد به ديتابيس وصل مي شويد؟ local يا remote

چگونه user تعريف کرديد ؟

دسترسي يوزر را چگونه تعريف کرديد‌؟

و ....

بيشتر توضيح دهيد ، شايد بتوان بهتر راهنمايي کرد.

موفق باشيد.

saied_genius
چهارشنبه 09 اردیبهشت 1388, 02:08 صبح
در مورد ساختن يوزر (براي اطلاعات بيستر) يه سر به لينک زير بزنيد

http://barnamenevis.org/forum/showthread.php?t=144123

موفق باشيد

a.maleki
چهارشنبه 09 اردیبهشت 1388, 12:23 عصر
دوست عزیز saied_genius واقعا از شما کمال تشکر رو دارم که پیگیر مشکل من هستید


چگونه داريد به ديتابيس وصل مي شويد؟ local يا remote

من طبق آموزشی که شما فرمودید عمل کردم و به صورت ریموت کلاینت هام به بانک وصل میشند


چگونه user تعريف کرديد ؟

طبق گفته شما عمل کردن و فقط به خاطر این که در موقع ساختن یوزر با خطا میده Sql authentication من از win authentication استفاده کردم و یوزر گست رو انتخاب کردم
در خصوص نوع دسترسی که گفتید من چیز زیادی نمی دونم و فقط به روشی که شما گفتید عمل کردم
پیغام خطائی که موقع ساختن sql authentication میده اینه ببینید

ابن هم نوع کانکشینی هستش که من ازش استفاده می کنم


باز هم ممنونم که به من کمک می کند لطفا من را از راهنمایهاتون بی بهره نگذارید

Dim con As SqlConnection
con = New SqlConnection("Data Source=192.168.1.1,1433;Initial Catalog=ROZANE!SCHOOL;Integrated Security=True")

saied_genius
پنج شنبه 10 اردیبهشت 1388, 17:46 عصر
ببينيد دوست عزيز،

1- شما نمي توانيد با Windows Authentication به صورت ريموت وصل شويد.
وقتي مي گوييد Windows Authentication يعني مشخصات همان سيستم و چون داريد ريموت وصل مي شويد فقط سيستمي مي تواند به اين صورت ريموت متصل شود که روي همان سيستم SQL Server نصب است.
در حقيقت با انتخاب Windows Authentication در زمان ساخت user شما اجازه دسترسي را به آن يوزر فقط بر روي همان سيستم مي دهيد.

2- من منظور شما را از اينکه مي گوييد از guest ويندوز براي ساختن user استفاده مي کنم متوجه نمي شوم. بيشتر توضيح دهيد.

موفق باشيد.

a.maleki
شنبه 12 اردیبهشت 1388, 18:03 عصر
saied_genius (http://barnamenevis.org/forum/member.php?u=50269) دوست عزیز من الان یه یوزر sql با نام ROZ ساختم اما حالا این پیغام رو می ده
باید ببخشید شما رو هم خسته کرده ام بازم ببخشید

این پیغام دیگه برای چیه

:عصبانی++::عصبانی++::گریه:

saied_genius
یک شنبه 13 اردیبهشت 1388, 18:18 عصر
خواهش مي کنم دوست عزيز.

تا وقتي که مشکلتان حل نشود من در خدمتم.

اين error به چند دليل امکان دارد.

1- sql server شما خاموش است (که احتمالش ضعيف است)

2- پس از اينکه تنظيماتي که قبلاً گفتم را انجام داديد ، بايد SQL Server را restart کنيد.( که احتمالاً نکرديد.)

3- SQL Server شما براي Remote فعال نيست.(تنظيمات Remote را چک کنيد.)

سعي مي کنم يک لاگين بسازم برايتان بگذارم براي چک کردن.

فعلاً ...

موفق باشيد.

a.maleki
دوشنبه 14 اردیبهشت 1388, 20:41 عصر
دوست عزیز من همه این کارهای که گفتید انجام دادم ولی باز همون پیغام رو میده
چیکار کنم:عصبانی++::گریه::گریه::گیج:

saied_genius
دوشنبه 14 اردیبهشت 1388, 22:26 عصر
ببينيد دوست عزيز ، من هم گيج شدم.

مي شود توضيح دهيد دقيقاً چيکار مي کنيد.

چگونه remote وصل مي شويد؟

سيستم هاي شما روي شبکه Local است يا اينترنت؟

و توضيحات بيشتر بدهيد تا ببينم مشکل از کجاست.

error که نوشته بوديد مربوط به تنظيمات Remote است ولي اگر کامل توضيح دهيد شايد بشود بهتر راهنمايي کرد.

در هر صورت من در خدمتم.

موفق باشيد.

a.maleki
دوشنبه 14 اردیبهشت 1388, 23:05 عصر
دوست عزیز من مراحل ریموت رو اینطوری انجام می دهم
البته شبکه هم local هستش
البته ببخشید که اینطوری فرستادم :خجالت:

saied_genius
سه شنبه 15 اردیبهشت 1388, 15:05 عصر
سلام

پيداش کردم ... :متفکر:

شما در اضافه کردن برنامه به ليست Firewall به جاي SQL Server داريد SQL Server Management Studio را اضافه مي کنيد. (ديدي دقت نکردي من چي گفتم!!!)

اصلاحش کن انشا ا... مشکلت حل مي شود.





::::::براي فعال كردن remote براي sqlserver بر روي سرور:::::

::اين عمليات بر روي سرور انجام شود::
1- ابتدا firewall سيستم سرور را تنظيم كنيد كه بتواند remote connection را دريافت نمايد.
(با غير فعال كردن firewall زمين تا آسمان متفاوت است.)
: در firewall در قسمت exceptions بر روي add program كليك نماييد و فايل sqlserver را اضافه نماييد. (فايل sqlservr.exe)


سوالي بود در خدمتم.

موفق باشيد.

a.maleki
سه شنبه 15 اردیبهشت 1388, 17:46 عصر
آقا سعید دستت درد نکنه و خسته نباشید
دوست عزیز اون فایلی که شما می گفتید من تو این مسیر پیداش کردم آیا درسته ؟


C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn

سوال بعد اینکه بقیه مواردی که گذاشتم درسته یعنی من یه مقدار تو قسمت TCP Dynamic Ports گیجم آیا همون پورت 1433 رو بنویسم کافی هشته یا نه
اگه بیشتر توضیح بدید ممنونت میشم

saied_genius
سه شنبه 15 اردیبهشت 1388, 18:46 عصر
دوست عزیز اون فایلی که شما می گفتید من تو این مسیر پیداش کردم آیا درسته ؟


C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn



بله ، دقيقاً همان است.


بقیه مواردی که گذاشتم درسته یعنی من یه مقدار تو قسمت TCP Dynamic Ports گیجم آیا همون پورت 1433 رو بنویسم کافی هشته یا نه
اگه بیشتر توضیح بدید ممنونت میشم

بقيه تنظيماتت را که ديدم مشکل نداشت.
بيشتر چي رو توضيح بدهم. توضيح خاصي نمي ماند...

اميدوارم مشکلت حل شده باشد.

سوالي باشد من در خدمتم.

موفق باشيد.

taheri-ali
چهارشنبه 16 اردیبهشت 1388, 13:07 عصر
هر دوو تا كامپيوتر رو تو يه work group بذاريد و Ip تو يه كلاس به دوتاشون اختصاص بديد مثلاً
اين شكل:192.168.0.1 و 192.168.0.2

a.maleki
پنج شنبه 17 اردیبهشت 1388, 16:27 عصر
آقا یه سوال دیگه ؟:خجالت:
آیا لازمه که sql server browser فعال باشه یا نه مهم نیست
بعد در خصوص TCP Dynamic Ports که گفتم بایدآیا باید توی قسمت IPALL شماره پورتمون رو وارد کنیم

saied_genius
پنج شنبه 17 اردیبهشت 1388, 18:56 عصر
آیا لازمه که sql server browser فعال باشه یا نه مهم نیست

اهميتش در اين است که اگر بخواهيد بدون وارد نمودن Port و فقط با وارد نمودن نام Instance به صورت Remote وصل شويد با SQL Server Browser امکان دارد ولي از لحاظ امنيتي بهتر است که غير فعال باشد و براي اتصال حتماً شماره پورت را وارد نماييد.



در خصوص TCP Dynamic Ports که گفتم بایدآیا باید توی قسمت IPALL شماره پورتمون رو وارد کنیم

بله.
IPALL يعني تمامي IP هايي که مي خواهند ريموت وصل شوند ، از اين پورت فقط بتوانند وارد شوند.

سوالي بود در خدمتم.

موفق باشيد.

achaemenianboy
یک شنبه 03 خرداد 1388, 21:03 عصر
آقای saied_genius (http://barnamenevis.org/forum/member.php?u=50269)
از زحمات بی وقفه شما ممنونم.
کاری که یک هفته جستجو نتونست انجام بده شما انجام دادید. واقعا ممنونم.
فقط یه سوالی داشتم :
موقعی که ما نرم افزارمونو روی client نصب می کنیم باید چه فایلی از sql server نصب بشه(روی client) آخه من یه جا خوندم که باید یکی از فایلهای sql sqrver نصب بشه، میخواستم ببینم واقعا نیازه؟

saied_genius
دوشنبه 04 خرداد 1388, 13:32 عصر
آقای saied_genius (http://barnamenevis.org/forum/member.php?u=50269)
از زحمات بی وقفه شما ممنونم.
کاری که یک هفته جستجو نتونست انجام بده شما انجام دادید. واقعا ممنونم.

خواهش مي کنم دوست عزيز.

خوشحالم که توانستي مشکلت را حل کني .... خدا را شکر .



موقعی که ما نرم افزارمونو روی client نصب می کنیم باید چه فایلی از sql server نصب بشه(روی client) آخه من یه جا خوندم که باید یکی از فایلهای sql sqrver نصب بشه، میخواستم ببینم واقعا نیازه؟


ببينيد. اگر شما قرار است ديتابيس روي سرور باشد و تمامي اطلاعات آنجا ثبت گردد هيچ نيازي به نصب SQL Server بر روي Client نيست.

آنچه نياز است ، ارتباط نرم افزار شما با آن ديتابيس SQL Server است.
در زبان هاي مورد استفاده اکثر ما ، نيازي به اضافه کردن چيزي نيست.

براي مثال وقتي شما داريد با محيط NET. برنامه مي نويسيد ، شما کلاس هاي مورد نياز براي ارتباط با SQL Server و ديگر نيازها را در محيط برنامه نويسي داريد. پس هنگامي که نرم افزار مي خواهد روي Client نصب شود فقط نياز به NET Framework. دارد (که آنرا هم 100% نصب مي کنيد !).

چيز ديگري نياز نداريد. من قبلاً امتحان کرده ام.

ها .... يک مسئله .....

مگر اينکه شما مواقعي را در نظر بگيريد که سيستم Server شما که SQL Server روي آن نصب است در دسترس نباشد.... در اين صورت بخواهيد اطلاعات را روي Client ثبت کنيد و هنگامي که Server در دسترس بود ، اطلاعات را منتقل نماييد (من يک بار مجبور به چنين کاري بودم) در اين صورت بايد يه جوري اطلاعات را روي سيستم کلاينت نگهداري کنيد تا Server دوباره در دسترس باشد . براي اين کار هم مي توايد اطلاعات را به صورت Text,CSV,XML,ACCESS,EXCEL و يا هر فرمتي که دوست داريد (برايتان راحت تر است) ذخيره کنيد و سپس به Server منتقل کنيد.
که فکر مي کنم اکثر ما ترجيح دهيم يک SQL Server روي کلاينت نصب کنيم و اطلاعات درون آن ذخيره کنيم و سپس منتقل کنيم (شايد راحت تر باشد!).
در هر صورت من حالت هاي ممکن را گفتم ولي در هيچ يک از حالت ها نياز به "يکي از فايل هاي SQL Server" نيست و اگر نياز به SQL Server باشد ، بايد کل آنرا نصب کنيد. که براي Client من ترجيح مي دهم SQL Server EXPRESS را نصب کنيد.

سوالي بود در خدمتم.

موفق باشيد.