PDA

View Full Version : توضیح در ارتباط با یه مرحله از نصب اس کیو ال



مهدی فهمیده غلامی
جمعه 23 مرداد 1383, 07:53 صبح
لطفا در مورد این بخش از نصب اس کیو ال توضیح دهید و تاثیر انرا در انتهای کار بفرمایید.

AminSobati
جمعه 23 مرداد 1383, 14:57 عصر
مهدی جان،
زمانی که SQL Server نصب میشه، حداقل دو سرویس برای شما راه انداری میکنه:
SQL Server و SQL Server Agent
چیزی که ما به اون SQL Server میگیم، یا در حقیقت هسته اصلی SQL Server، همون SQL Server Service هستش، نه SQL Server Agent.
هر سرویس در ویندوز NT، باید تحت اختیارات یک اکانت کار انجام بده. هر سرویس مثل یک کاربر، در صورتی که اجازه داشته باشه میتونه به قسمتهای مختلف هارد دیسک یا به کامپیوترهای دیگه در شبکه دسترسی داشته باشه. به این ترتیب ما میتونیم سطح دسترسی سرویسها در کامپیوتر خودمون یا شبکه رو کنترل کنیم.
حالا ما حداقل دو نوع اکانت در ویندوز داریم: Local System Account و User Account.
Local System یک اکانت داخلی برای ویندوز شما هست که در حد Admin، به تمام کامپیوتر شما دسترسی داره. ولی Login یا Log off کردنش تحت اختیار خود ویندوزه. ضمنا کامپیوترهای دیگه در شبکه، هر کدوم برای خودشون یک Local System Account دارن. پس اگر مثلا قراره SQL Server شما در شبکه به کامپیوترهای دیگه دسترسی داشته باشه، نباید از این نوع اکانت استفاده کنه، چون اونها به سرویس SQL Server شما اجازه ورود(Login) نمیدن، یعنی اصلا Local System شما براشون ناشناختست!
اما User Account همون اکانتیه که شما به تعداد دلخواه روی کامپیوترتون میسازید.
اگر سرویسهای شما از User Account استفاده کنن، و این اکانتها به کامپیوترهای دیگه در شبکه بتونن Login کنن، به تبع اون، سرویسهای شما هم امکان دسترسی به کامپیوترها رو خواهند داشت.
در این قسمت از مرحله نصب، شما میتونین Local System رو برای هر دو سرویس اختصاص بدین، یا برای هر کدوم یک User Account، یا برای یکی User Account و برای دیگری Local System رو انتخاب کنین.
البته اگر در WinXP نصب میکنید، احتمالا در اینجا موقع استفاده از User Account ایراد بگیره. بهتره شما Local System رو در نصب انتخاب کنین، بعد از Setup میتونین اکانت هر سرویس رو تغییر بدین.
موفق باشین،
امین ثباتی MCSD

mhaeri
دوشنبه 26 مرداد 1383, 10:46 صبح
ممنون از توضیح خوبتون
حالا اگر روی یک سیستم بخواییم AD نصب کنیم و sql server نصب کنیم
و بخواهیم این کامپیوتر رو به عنوان یک Domain مستقل در نظر بگیریم که بقیه کامپیوتر ها بتونن بهش متصل بشن آیا در هنگام نصب Sql server توی همین قسمت بالا هم باید تنظیم خاصی انجام داد ؟
یا اینکه از User و Login های خوده sql server بعدا میتونیم استفاده کنیم و اونها رو اونجا تعریف کنیم؟
ممنون

AminSobati
دوشنبه 26 مرداد 1383, 11:32 صبح
دوست عزیزم،
اگر منظورتون اینه که کامپیوترهای دیگه در شبکه به این سرور کانکت بشن، این تنظیم خاصی روی SQL Server نیاز نداره. ولی اگر در در شبکه شما، SQL Serverهای دیگه ای هم وجود دارند که اون SQL Serverها میخوان به SQL Server این سرور اصلی کانکت بشن، در حقیقت به عنوان یک یوزر این کار رو انجام میدن و روی اون SQL Serverها باید سرویس SQL Server و Agent از اکانتی استفاده کنن که سرور شما اون اکانتها رو بشناسه و اجازه Login بده. یعنی هر SQL Server برای خودش باید جداگانه تنظیم بشه. اگر AD نصب میکنید پس Domain رو میتونین راه اندازی کنین و براحتی SQL Serverها قادر هستند از اکانتهای معتبر در Domain استفاده کنند و در شبکه با SQL Serverهای دیگه ارتباط برقرار کنند.
ضمنا هر تنظیمی که در این مرحله از Setup انجام میدین، بعدا قابل تغییره.
اگر نکته مبهمی هست بفرمایید تا بیشتر توضیح بدم.
موفق باشین

hmm
دوشنبه 26 مرداد 1383, 12:46 عصر
با سلام
من تو شرکت خودمون یک برنامه داریم که از طریق ... windows aut به sqlserver وصل میشه چون ما در شرکتمون domain نصب کردیم فقط کافیه در sqlserver یک یوزر به همان نامی که کاربر به شبکه login میکنه بسازیم و برنامه خوب کار میکنه
جدیدا این برنامه رو در شرکت دیگه ای نصب کردیم که اون شرکت domain نداره ولی میشه از روی هر کامپیوتر sqlserver کامپیوتر دیگه رو attach کرد ولی چون domain نداره نمیشه user تعریف کرد و در نتیجه برنامه کار نمیکنه خب ما به سورس برنامه هم دسترسی نداریم حالا بفرمایید راه حلی وجود داره یا خیر

AminSobati
سه شنبه 27 مرداد 1383, 10:17 صبح
سلام،
در Workgroup این رو تست کنین:
- در سرور، برای هر کلاینت، یک username و password دقیقا با همون username و password که یوزر در کامپیوتر خودش لاگین میکنه بسازین.
- بعد این اکانتها رو در SQL Server تعریف کنین(براش لاگین بسازین)
الان باید کلاینت ها بتونن از Windows Authentication استفاده کنن.
این کار فقط اشکالش اینه که اگر یوزر password روی کامپیوتر خودش رو عوض کنه، شما روی سرور هم باید برای username اون همین تعویض password رو انجام بدین.
امیدوارم این روش جواب بده!

مهدی فهمیده غلامی
چهارشنبه 28 مرداد 1383, 04:19 صبح
با تشکر از توضیح دوستان بلاخص ثباتی عزیز
حقیقتش من منظور شما از User Account و Local System Account
خوب متوجه نشدم.توی ویندوز xp نسخه home edition این قسمت ها رو که گفتی کجا ست؟ در xp که فقط شما متونید از طریق user account کاربر ویندوز xp تعریف کنید.


.
Local System یک اکانت داخلی برای ویندوز شما هست که در حد Admin، به تمام کامپیوتر شما دسترسی داره. ولی Login یا Log off کردنش تحت اختیار خود ویندوزه. ضمنا کامپیوترهای دیگه در شبکه، هر کدوم برای خودشون یک Local System Account دارن. پس اگر مثلا قراره SQL Server شما در شبکه به کامپیوترهای دیگه دسترسی داشته باشه، نباید از این نوع اکانت استفاده کنه، چون اونها به سرویس SQL Server شما اجازه ورود(Login) نمیدن، یعنی اصلا Local System شما براشون ناشناختست!
اما User Account همون اکانتیه که شما به تعداد دلخواه روی کامپیوترتون میسازید.
اگر سرویسهای شما از User Account استفاده کنن، و این اکانتها به کامپیوترهای دیگه در شبکه بتونن Login کنن، به تبع اون، سرویسهای شما هم امکان دسترسی به کامپیوترها رو خواهند داشت.
در این قسمت از مرحله نصب، شما میتونین Local System رو برای هر دو سرویس اختصاص بدین، یا برای هر کدوم یک User Account، یا برای یکی User Account و برای دیگری Local System رو انتخاب کنین.
البته اگر در WinXP نصب میکنید، احتمالا در اینجا موقع استفاده از User Account ایراد بگیره. بهتره شما Local System رو در نصب انتخاب کنین، بعد از Setup میتونین اکانت هر سرویس رو تغییر بدین.

hmm
چهارشنبه 28 مرداد 1383, 06:57 صبح
بعد این اکانتها رو در SQL Server تعریف کنین(براش لاگین بسازین)
چون domain میخواهد نمیشود user تعریف کرد

AminSobati
چهارشنبه 28 مرداد 1383, 08:49 صبح
hmm عزیز،
ساخت لاگین در SQL Server به این نحو که در Post قبلی اشاره شد نیازی به Domain نداره، چون شما دارین برای اکانتهای Local(روی سرور) لاگین میسازین.

مهدی جان،
اکانتهایی که در ویندوز میسازین همون User Accountها هستن. ولی Local System در ویندوز وجود داره و ما نمیسازیمش.
در همین تصویری که اینجا ارسال کردین، به وضوح امکان انتخاب بین Local System و User Account وجود داره. این دیگه به تصمیم شما بستگی داره که از کدومش برای سرویسهای SQL Server استفاده کنین.
اگر نکته مبهمی هست لطفا بنویسید.
موفق باشین..

hmm
پنج شنبه 29 مرداد 1383, 09:01 صبح
hmm عزیز،
ساخت لاگین در SQL Server به این نحو که در Post قبلی اشاره شد نیازی به Domain نداره، چون شما دارین برای اکانتهای Local(روی سرور) لاگین میسازین.

در سرور، برای هر کلاینت، یک username و password دقیقا با همون username و password که یوزر در کامپیوتر خودش لاگین میکنه بسازین.
- بعد این اکانتها رو در SQL Server تعریف کنین(براش لاگین بسازین)
خب حالا که سرور نداریم چیکار کنیم چون sql server رو xp نصبه و ما ویندوز nt نداریم

لطفا اگه میشه در مورد local system بیشتر توضیح بدین اگه ما local system رو انتخاب کنیم بقیه نمیتونن به این سیستم وصل بشن ؟
اگه بیشتر در این مورد توضیح بدین ممنون میشم چون مشکل حاده :oops:

hmm
پنج شنبه 29 مرداد 1383, 09:06 صبح
Local System یک اکانت داخلی برای ویندوز شما هست که در حد Admin، به تمام کامپیوتر شما دسترسی داره. ولی Login یا Log off کردنش تحت اختیار خود ویندوزه. ضمنا کامپیوترهای دیگه در شبکه، هر کدوم برای خودشون یک Local System Account دارن. پس اگر مثلا قراره SQL Server شما در شبکه به کامپیوترهای دیگه دسترسی داشته باشه، نباید از این نوع اکانت استفاده کنه، چون اونها به سرویس SQL Server شما اجازه ورود(Login) نمیدن، یعنی اصلا Local System شما براشون ناشناختست!

در ضمن من local system انتخاب کردم ولی با em میتونم به sql server دستگاه دیگه ای که اون هم local system نصب شده وصل بشم چطوری این امکان داره؟

AminSobati
پنج شنبه 29 مرداد 1383, 10:50 صبح
منظور من از سرور این نبود که حتما ویندوز 2000 یا 2003 سرور نصب کرده باشید! در همون Workgroup هم به هر حال یک کامپیوتری که روی اون SQL Server نصب کردین و بقیه ازش اطلاعات دریافت میکنن رو میتونین سرور در نظر بگیرین.
در مورد Local System، این ارتباطی به لاگین کردن یوزرها به SQL Server ما نداره. این اکانت زمانی مورد استفاده قرار میگره که خود SQL Server ما قصد داره به کامپیوترهای دیگه در شبکه رجوع کنه و کاری انجام بده روی اونها، مثلا روی هاردشون چیزی بنویسه. SQL Server کار رجوع به کامپیوترهای دیگه رو به عوض یک یوزر انجام میده. مسلما اگر از Local System استفاده کنه، کامپیوترهای دیگه بهش اجازه لاگین نمیدن، چون این اکانت رو نمیشناسن(هر ویندوز برای خودش Local System داره و اینجاست که داشتن Domain خیلی اهمیت پیدا میکنه، چون اکانتی که در Domain تعریف شده، همه کامپیوترهای موجود در Domain اون رو میشناسن. پس در این حالت SQL Server باید از Domain Account استفاده کنه که کامپیوترهای دیگه بهش اجازه لاگین بدن) ولی اگر فقط در کار شما فقط نیاز هست که یوزرها به یک SQL Server کانتکت بشن، و SQL Server شما در شبکه نیازی به رجوع به کامپیوترهای دیگه نداره، دیگه اهمیتی نداره که سرویس SQL Server از چه اکانتی استفاده میکنه، حتی شاید اصلا Local System براش بهتر باشه چون با این اکانت رو کامپیوتر خودش (سرور) در حد Admin اختیار داره. اینجا فقط یوزرها هستن که میخوان به SQL Server دسترسی داشته باشن و SQL Server نیازی به رجوع به کامپیوتر یوزرها نداره.
ست کردن اکانت برای Agent Service هم مشمول همین داستانه. مثلا شما یک Job تعریف میکنید که در اون قراره یک backup گرفته بشه و خروجی رو روی یک Folder که Share شده(روی کامپیوتر دیگه) بریزه. انجام Job به عهدهAgent هست. در اینجا اگر Agent از Local System استفاده کنه، طبیعتا نمیتونه به اون Folder دسترسی داشته باشه مگر اینکه یا Agent از اکانتی استفاده کنه که این اکانت اجازه کار روی Folder رو داره یا اگر از Local System استفاده میکنه، برای اون Folder ما تعریف کرده باشیم که EveryOne میتونن روی این Folder دسترسی داشته باشن.
و اما در مورد EM، وقتی شما یک SQL Server دیگه رو به EM اضافه(Register) میکنین، این هم ارتباطی به بحث Local System نداره. چون در طی Register کردن SQL Server، شما خودتون به عنوان یک یوزر هستین که دارین از طریق EM به SQL Server لاگین میکنین. پس مهم نیست که SQL Server از چه اکانتی داره استفاده میکنه و نیازی نداره تا به کامپیوتر شما لاگین کنه.

موفق باشین :)

hmm
شنبه 31 مرداد 1383, 07:14 صبح
منظور من از سرور این نبود که حتما ویندوز 2000 یا 2003 سرور نصب کرده باشید! در همون Workgroup هم به هر حال یک کامپیوتری که روی اون SQL Server نصب کردین و بقیه ازش اطلاعات دریافت میکنن رو میتونین سرور در نظر بگیرین.
عزیز من مگر نه اینکه باید در sql-server یوزر تعریف کنیم خب تعریف این یوز منوط به تعیین یک domain است در حالی که ما domain نداریم (باز هم تاکید میکنم ما حتما باید از windows aut... استفاده کنیم)

AminSobati
شنبه 31 مرداد 1383, 09:26 صبح
زمانی که روی SQL Server میخواین برای یوزرهای تعریف شده در همون ویندوز، لاگین تعریف کنین، نام همون کامپیوتر به عنوان نام domain استفاده میشه.

hmm
شنبه 31 مرداد 1383, 14:47 عصر
ببینید یوزرها در ویندوز xp کامپیوترهای دیگه تعریف میشوند بانک روی ویندوز xp یک کامپیوتر دیگه هست.

AminSobati
یک شنبه 01 شهریور 1383, 17:29 عصر
حرف شما کاملا درسته. لطفا کاری که در تاریخ 27 مرداد post کردم رو امتحان کنین. چون امروز خودم در workgroup تست کردم و 100٪ جواب گرفتم. حتی در workgroup هم میتونین از windows auth استفاده کنین.
اگر نکته مبهمی بود، لطفا بنویسید..

reza1357
یک شنبه 15 شهریور 1383, 13:49 عصر
سلام دوستان
ببخشید من این سوال اینجا می پرسم
من توی نصب sql server در xp بدون سرویس پک مشکل دارم ولی توی سرویس پک 2 مشکلی ندارم ایا این دلیل هست که از نسخه xp باشد.
اگر اطلاعاتی در این زمینه دارید لطفا راهنمایی کنید :roll:

AminSobati
یک شنبه 15 شهریور 1383, 14:26 عصر
دوست عزیزم،
لطفا مشکل رو توضیح بدین.

reza1357
سه شنبه 17 شهریور 1383, 10:53 صبح
سلام
دوست عزیز مشکلم این است که بعد از نصب این پیغام میده تنظیمات رو انجام دادم باز نشد

AminSobati
سه شنبه 17 شهریور 1383, 14:33 عصر
ممنونم از تصویری که گذاشتین،
این نشون میده که Setup با موفقیت کارش رو نتونسته به پایان ببره. اگر خطایی در Setup رخ داده باشه در sqlstp.log یادداشت(Log) میشه. باید این فایل رو مطالعه کرد. بلافاصله بعد از نصب SQL Server، این فایل رو بردارین و اگر مایل بودین به اینجا بفرستین.

موفق باشین

reza1357
چهارشنبه 18 شهریور 1383, 07:32 صبح
دوست عزیز سلام
این فایل را مطالعه کردم و کاری لازم بود انجام داده بودم نشد احتمالا از ویندوزم باشه

AminSobati
چهارشنبه 18 شهریور 1383, 11:01 صبح
برنامه Setup، تمام کارها رو انجام داده ولی فقط در آخرین مرحله که باید سرویس رو config و راه اندازی کنه به مشکل خورده. اگر روی win xp بدون service pack این مشکل پیش اومده، شاید بشه توجیه کرد. ولی حتی اگر service pack 1 رو هم نصب کنید، نباید مشکلی پیش بیاد چون بارها این کار رو انجام دادم.

reza1357
چهارشنبه 18 شهریور 1383, 22:10 عصر
سلام دوست عزیز
اتفاقا ویندوز اکس پی service pack 1 این مشکل را دارد در service pack 2 مشکلی ندارد حتی نسخه معمولی هم چک کردم باز مشکلی نداشت

AminSobati
چهارشنبه 18 شهریور 1383, 23:11 عصر
رضا جان کدوم Edition از 2000 SQL Server رو نصب میکنین؟

reza1357
پنج شنبه 19 شهریور 1383, 06:35 صبح
با سلام و تشکر از جوابتان امین جان :flower:

نسخه Microsoft SQL 2000 Personal Edition نصب می کنم

reza1357
پنج شنبه 19 شهریور 1383, 07:01 صبح
امین جان ویندوز از نو نصب کردم مشکلم حل شد خیلی خیلی ممنون :flower: :gift: :flower:
ولی یک چیز دیگه چرا موقع کار با sql سرعتش خیلی پایین :?:

AminSobati
پنج شنبه 19 شهریور 1383, 11:00 صبح
خوشحالم که مشکل حل شد :)
این کندی رو موقع Query گرفتن احساس میکنین یا در هنگام کار با Enterprise Manager یا ADO؟

reza1357
پنج شنبه 19 شهریور 1383, 15:16 عصر
در هنگام کار با Enterprise Manager

AminSobati
پنج شنبه 19 شهریور 1383, 16:50 عصر
اگر ویندوز رو تازه نصب کردین و سر حاله، شاید از نظر سخت افزاری کمبودی وجود داشته باشه؟
البته دوست عزیز، یک مقدار کندی در Enterprise Manager قابل قبوله ولی نه زیاد از حد. به نظر خودتون برنامه خاصی نصب نکردین که Resource زیادی مصرف کنه؟

reza1357
پنج شنبه 19 شهریور 1383, 20:10 عصر
امین جان سلام
روزهای اول Enterprise Manager سرعت خوب داشت ولی الان هر چیزی که باز کنم حداقل 20 الی 30 ثانیه بعضی وقتها هم خیلی طول میکشه و بعد هم مجبور میشم ان ببندم
برنامه خاصی هم نصب نکردم که بگیم از اون باشه

AminSobati
جمعه 20 شهریور 1383, 00:04 صبح
رضا جان حق با شماست،
یادم افتاد که در XP مشکل مشابه رو تجربه کرده بودم! ولی ظاهرا مشکل به خاطر worm و از این قبیل چیزها بود. حتما Service Pack 3a برای SQL Server رو نصب کنین چون SQL Server بدون Service Pack کاملا آسیب پذیره.

reza1357
جمعه 20 شهریور 1383, 09:10 صبح
سلام امین جان
ویندوز سرور 2003 را نصب کردم سرعت عالی بود
از راهنمایت سیاسگذارم انشالله روزی جبران کنم :flower: :flower: :flower:

AminSobati
جمعه 20 شهریور 1383, 11:30 صبح
خواهش میکنیم رضا جان :)
موفق باشین

reza1357
جمعه 27 شهریور 1383, 09:46 صبح
سلام
امین جان یافتم یافتم
علت کند بودن sql server در ویندوز xp

AminSobati
جمعه 27 شهریور 1383, 13:40 عصر
خیلی عالیه :)
مشکل چی بود

reza1357
جمعه 27 شهریور 1383, 18:15 عصر
در Data Sources (ODBC)->Tracing -> When to Trace ->Start Tracing Now را به Stop Tracing Now تغییر دادم
اگر روی start باشد همان کندی در Enterprise Manager بوجود میاد ولی اگر ان را به Stop تغییر داده شود سرعت کار در Sql خوب میشه
امین جان میشه بگی این Tracing کار چیه هست :?:
با تشکر

AminSobati
جمعه 27 شهریور 1383, 18:57 عصر
oops!
پس شما Trace میکردین! این کار باعث میشه بخشی از فعالیتهای SQL Server (مربوط به ODBC) مرتبا Log بشه که البته یک سری امکانات Debug رو برای برنامه نویس فراهم میکنه. ولی مسلما CPU رو مشغول میکنه و کمی کندی ایجاد میشه :)

reza1357
جمعه 27 شهریور 1383, 22:19 عصر
موقع نصب sql روی start تنطیم میشد
ممنون امین جان
:)

AminSobati
جمعه 27 شهریور 1383, 22:47 عصر
خواهش میکنم و موفق باشی :)