PDA

View Full Version : Attach دیتابیس در SQL Server 2000



mehdi58
چهارشنبه 15 اسفند 1386, 13:20 عصر
فرض کنین که یه DB داریم که شامل یه User با نام [ X ] باشه .
حالا این DB رو توی SQL ، Attach می کنم اما وقتی می خوام از طریق Web App ام با اون ارتباط برقرار کنم توی URL پیغام زیر دیده می شه :


SQL Server does not exist or access is denied


از طرفی اگه بخوام بعد ازAttach کردن ، User مربوطه (یعنی [ X ]) رو توی قسمت Security ایجاد کنم موقعیکه می خوام از قسمت Database Access دسترسی این User با DB ام رو برقرار کنم پیغام می ده که User مورد نظر در حال حاضر موجوده !!! ( Error 21002 )
حالا با این اوصاف من باید چیکار کنم ؟

AminSobati
چهارشنبه 15 اسفند 1386, 13:48 عصر
دوست عزیزم،
پیغام SQL Server does not exist or access is denied معمولا بر اثر Connect نشدن به SQL Server رویت میشه. بعید میدونم مشکل از نبودن username باشه. به هر حال دیتابیسی که Username داشته باشه ولی Login نداره، sp_change_users_login میتونه بهتون کمک کنه.

mehdi58
یک شنبه 19 اسفند 1386, 16:39 عصر
آقای ثباتی واقعا عجیبه ، نمی دونم چرا اینطوری میشه !!!
من نحوه ایجاد یه User واسه Application ام ( ASP.NET ) رو توضیح می دم با این فرض که اصلا User ای نداره و من می خوام یه User جدید واسش تعریف کنم ، ببینین کجای کارم اشتباهه :
(( البته بگم که SQL Server 2000 در حالت Mixed Mode نصب شده ))
1. دیتابیسم رو توی Sql ، Attach می کنم
2. می رم به قسمت Security \ Logins \ New Login
3. روی دکمه Browse کنار Name کلیک می کنم و از لیست Names ها ASPNET رو انتخاب می کنم و بعد OK
4. حالا توی کادر Name یه نام دلخواه رو درج می کنم ، مثلا : userlogin
5. به قسمت Database Access مراجعه کرده و DB ام رو از لیست انتخاب می کنم و OK
6. گزینه SQL Server Authentication رو انتخاب می کنم و پسورد رو وارد می کنم و OK
7. وقتی به قسمت Users مربوط به DB ام مراجعه می کنم ، می بینم که userlogin به user ها اضافه شده ، بنابراین Permission های مورد نظرم رو تنظیم می کنم .

خوب حالا توی ASP.NET واسه تست این سه خط کد رو توی PageLoad می نویسم :



Dim strCon As New SqlConnection("server=localhost;uid= userlogin;pwd=xxxx;database=myDB;connect Timeout=30")
strCon.Open()
strCon.Close()


و نتیجه این که پیغام خطایی که قبلا گفتم ظاهر میشه .

باور کنین من چند وقته دارم کار می کنم و هیچ وقت به این مشکل بر نخورده بودم و بارها شده بود که Windows ام رو عوض کرده بودم و بعد از نصب مجدد SQL به همین روشی که خدمتتون عرض کردم تنظیمات رو انجام می دادم اما از وقتی کامپیوترهای اداره Domain شدن این بلا هم سر من اومده ...

AminSobati
دوشنبه 20 اسفند 1386, 08:37 صبح
دوست عزیزم زمانیکه Browse میکنید آیا لیست کاربرهای ویندوز رو مشاهده میکنید؟ شما اگر قصد دارین Login از نوع SQL Authentication بسازید نباید از اولین مرحله Browse کنید. اگر قصد Windows Autnentication دارید پس چرا SQL Authentication رو انتخاب میکنید؟ شاید من متوجه قصد شما نشدم هنوز

mehdi58
دوشنبه 20 اسفند 1386, 15:39 عصر
میشه لطف کنین مراحل کار رو توضیح بدین . ( Login از نوع SQL Authentication)

mehdi58
سه شنبه 21 اسفند 1386, 10:05 صبح
شما اگر قصد دارین Login از نوع SQL Authentication بسازید نباید از اولین مرحله Browse کنید.
شما درست می فرمایید من این کار رو هم انجام دادم واسه اینکه به شک افتاده بودم و اصلا نمی دونستم مشکل از چیه !!!

راستی من توی اینترنت Search کردم و یه جاهایی دیدم که میگه SQL 2000 با Win XP SP2 مشکل داره .
چون من قبلا از Win XP SP1 استفاده می کردم و مشکلی هم نداشتم .

mehdi58
سه شنبه 21 اسفند 1386, 15:41 عصر
توی این تالار جستجو کردم و به یه موضوع جالب رسیدم و اون هم اینکه SQL 2000 و WIN XP SP2 با هم خوب کار نمی کنن و می بایست SQL SP3 رو نصب کرد تا مشکل حل بشه
( Copy right = آقای ثباتی)

حالا علاوه بر سوالات قبلی یه سوال دیگه هم دارم و اون هم اینه که آیا WIN XP SP2 با SQL Server 2005 ویرایش Developer Edition هم همین مشکل رو داره یا خیر ؟ و اینکه تنظیمات خاصی رو واسه فایر وال باید پیاده کرد ؟

reza_rad
سه شنبه 21 اسفند 1386, 18:10 عصر
می بایست SQL SP3 رو نصب کرد تا مشکل حل بشه
درکل همیشه بهتره آخرین سرویس پک رو نصب کنید. فکر کنم sql server 2000 سرویس پک 4 آخرینش باشه.

اما مشکل شما بهتره واضح تر مطرح بشه....
شما Windows Authetication کار می کنید یا sql authentication ؟ می خواهید از لاگین های ویندوزی استفاده کنید یا از یوزر و لاگین های sql server ؟

AminSobati
سه شنبه 21 اسفند 1386, 23:48 عصر
برای ساخت SQL Aut باید در صفحه New Login از ابتدا SQL Aut رو انتخاب و نام Login رو تایپ کنین، سپس Password بدین.
ضمنا Developer Edition برای استفاده در شبکه نیست، یعنی بصورت Remote نمیشه بهش Connect بشین (البته این کار شدنیه ولی با تغییراتی)



توی این تالار جستجو کردم و به یه موضوع جالب رسیدم و اون هم اینکه SQL 2000 و WIN XP SP2 با هم خوب کار نمی کنن و می بایست SQL SP3 رو نصب کرد تا مشکل حل بشه
( Copy right = آقای ثباتی)

در کدوم پست گفته بودم؟!

mehdi58
چهارشنبه 22 اسفند 1386, 09:42 صبح
در کدوم پست گفته بودم؟!

هی جوونی کجایی که یادت به خیر ( 3 سال پیش )

http://barnamenevis.org/forum/showthread.php?t=13282&highlight=%D8%B3%D8%B1%D9%88%DB%8C%D8%B3+%D9%BE%DA %A9

آقای ثباتی عزیز ، درسته که کلاسهای سایبرتک رو تشکیل نمی دین اما بالاخره یه جوری میشه تو همین فروم هم از اطلاعاتتون استفاده کرد .

mehdi58
چهارشنبه 22 اسفند 1386, 09:46 صبح
ضمنا Developer Edition برای استفاده در شبکه نیست، یعنی بصورت Remote نمیشه بهش Connect بشین (البته این کار شدنیه ولی با تغییراتی)

میشه لطف کنین و تغییرات اون رو هم بگین .
متشکرم

reza_rad
چهارشنبه 22 اسفند 1386, 10:31 صبح
میشه لطف کنین و تغییرات اون رو هم بگین .
جستجو می کردید پیدا میشد.

این مراحل را دنبال کنید:
Start
all programs
microsoft sql server 2005
configuration tools
sql server 2005 surface area configuration

surface area configuration for services and connections

روی Instance اس کیو ال سرور تون کلیک کنید
بعد روی Database Engine کلیک کنید
Remote connections

گزینه Local and remote connection رو انتخاب کنید و OK .

AminSobati
چهارشنبه 22 اسفند 1386, 13:51 عصر
علاوه بر پست قبلی، باید پروتکل TCP/IP رو فعال و سرویس SQL Server رو استارت کنین. برای Connect شدن از طریق Management Studio، در صفحه Login روی Options کلیک کنین و برای Protocol مورد TCP/IP رو انتخاب کنین