رفع مشکل احراز هویت در هنگام اتصال به SQL Server 

مشکل احراز هویت در هنگام اتصال به SQL Server
Avatar
نویسنده: علیرضا برزودی
سه‌شنبه 17 مرداد 1402
مطالعه: ۱۴ دقیقه ۲ نظر ۱۹۳۴ بازدید

مشکل احراز هویت در هنگام اتصال به SQL Server به محض ورودتان به SQL Server ظاهر شده و با اعلام ارور «Login Failed For User» جلوی ورودتان را می‌گیرد. در این مقاله از بلاگ پارس پک، راهکارهای کاربردی برای رفع مشکل اتصال به سرور در SQL Server معرفی کردیم. اگر به‌دنبال رفع خطای 18456 در SQL Server هستید، خواندن این مقاله به شما کمک خواهد کرد.

احراز هویت در SQL Server

SQL Server برای اتصال و ورود به سرور از دو لایه احراز هویت Loging و کاربر دیتابیس استفاده می‌کند. از دو طریق برای ورود به SQL Server می‌توانید اقدام کنید:

  • احراز هویت SQL Server
  • احراز هویت Windows

احراز هویت (SQL Server Authentication)

در این نوع احراز هویت، برای ورود به SQL Server از مشخصات رمز عبور و نام کاربری دیتابیسی استفاده خواهید کرد که مالک آن هستید. رمز عبور و پسورد را نیز هنگام ساخت دیتابیس باید یادداشت کرده باشید.

احراز هویت ویندوز (Windows Authentication)

در این نوع احراز هویت می‌توانید با اعتبار لوکال ویندوز خود برای اتصال به SQL Server استفاده کنید. احراز هویت ویندوز از پروتکل امنیتی به نام kerberos پشتیبانی کرده و ورود به حساب SQL Server را راحت‌تر کرده است.

برای مثال، اگر یک حساب لوکال در ویندوز و پایگاه داده‌‌ای به‌نام myDBserver داشته باشید، مطابق تصویر زیر با نام کاربری و پسورد ویندوز خواهید توانست وارد SQL Server شوید.

آشنایی با Windows Authentication در SQL Server
روش های احراز هویت در SQL Server

حالت پیش‌فرض احراز هویت برای ورود به SQL Server، احراز هویت ویندوز است. این روش احراز هویت علاوه‌بر امنیت بالاتر، به هیچ‌گونه ارائه اعتبار برای ورود به SQL Server نیاز ندارد.

چرا مشکل احراز هویت در هنگام اتصال به SQLserver بوجود می‌آید؟

اگر هنگام اتصال به SQL Server نام دامنه نامشخص باشد، با مشکل احراز هویت هنگام اتصال روبه‌رو خواهید شد. درصورتی‌که نام‌ دامنه را قبلاً مشخص کرده‌اید، مشکل احراز هویت به سطح دسترسی شما به دیتابیس و اطلاعات حساب کاربری ویندوز شما بستگی دارد. به‌طور کلی، دلایل مهمی که مایکروسافت برای ورود ناموفق و بروز مشکل در احراز هویت SQL Server معرفی کرده شامل موارد زیر است:

  • دیتابیس در دسترس نیست یا شما اجازه اتصال به دیتابیس را ندارید.
  • غلط املایی در وارد کردن نام کاربری، رمز عبور، نام دامنه یا نام سرور وجود دارد.
  • تنظیمات فایروال یا آنتی ویروس در اتصال به SQL server اختلال ایجاد کرده است.
  • در احراز هویت با SQL Server Authentication، برنامه‌ SSMS نیاز به‌روزرسانی دارد.
  • برای ورود از روش Windows Authentication استفاده می‌کنید، درحالی‌که احراز هویت با روش SQL Server Authentication تنظیم شده است.
  • برای ورود از SQL Server Authentication استفاده کرده در حالی‌که امکان احراز هویت SQL Server با Windows Authentication تنظیم شده است.

راهکارهای رفع مشکل احراز هویت در هنگام اتصال به SQL Server

برای رفع مشکل احراز هویت در هنگام اتصال به SQL Server، در این مقاله ۸ راهکار کاربردی شامل موارد زیر ارائه کردیم:

۱. از اجرای SQL Server Browser مطمئن شوید

۲. نرم‌افزار SSMS را مجدداً نصب یا به‌روزرسانی کنید

۳. از احراز هویت SQL Server استفاده کنید

۴. از ایجاد لاگین ادمین در احراز هویت ویندوز مطمئن شوید

۵. امکان اتصال ریموت دسکتاپ به SQL Server را بررسی کنید

۶. بررسی کنید آیا SQL Server با پروتکل TCP/IP پیکربندی شده است یا خیر

۷. تنظیمات فایروال و آنتی‌ویروس ویندوز را بررسی کنید

۸. از اجرا و فعال‌بودن سرویس ویندوز SQL Server Browser مطمئن شوید

در ادامه، هریک از این راهکارها را به‌صورت گام‌به‌گام بررسی خواهیم کرد.

خرید هاست

۱. از اجرای سرویس های مورد نیاز مطمئن شوید

در بررسی مشکل احراز هویت در هنگام اتصال به SQL Server، ساده‌ترین راه برای اطمینان از اجرای صحیح سرویس‌های SQL Server و SQL Server Browser، استفاده از بخش SQL Server Configuration Manager است. برای این منظور، گام‌های زیر را انجام دهید.

برنامه SQL Server Configuration Manager را اجرا کنید. در قسمت سمت چپ صفحه، گزینه SQL Server Services را انتخاب کنید.

رفع مشکل احراز هویت در هنگام اتصال به SQL Server
از بخش SQL Server Configuration Manager برای بررسی اجرای صحیح اس‌کیو‌ال سرور استفاده کنید

همانطور که در تصویر می‌بینید، سرویس‌ها در سمت راست صفحه ظاهر خواهند شد. اگر بر روی سرویس ها علامت سبز وجود داشته باشد، یعنی در حال اجرا هستند. اگر مربع قرمز باشد، یعنی غیرفعال بوده و نیاز است آن را فعال کنید. برای فعال کردن سرویس ها کافیست بر روی آن ها کلیک راست کرده و Start را بزنید.

در برخی مواقع علی‌رغم در حال اجرا بودن سرویس ها، ممکن است Restart کردن آن‌ها، مشکل را رفع کند.

۲. نرم‌افزار SSMS را مجدداً نصب یا به‌روزرسانی کنید

برای احراز هویت SQL Server نیاز است از نرم افزار SQL Server Management Studio یا به‌اختصار SSMS استفاده کنید. اگر آن را روی کامپیوتر خود نصب کردید، یک مرتبه Uninstall و دوباره نصب کنید یا آن را آپدیت کنید.

۳. از احراز هویت SQL server استفاده کنید

به‌جای استفاده از روش احراز هویت ویندوز، می‌توانید از احراز هویت SQL Server استفاده کنید.

آموزش اعتبار سنجی در SQL Server
از احراز هویت اس‌کیو‌ال سرور استفاده کنید

پس از نصب نرم‌افزار را اجرا کنید. صفحه زیر را خواهید دید:

  • Server type: عبارت Database Engine را قرار دهید.
  • Server name: این بخش مربوط به نام سروری بوده که سرویس SQL روی آن نصب شده است. همچنین می‌توانید از «.» یا عبارت localhost برای این بخش استفاده کنید. درصورتی‌که از SQL2000 استفاده می‌کنید، نام سرور \\wincc نیز می‌توانید قرار دهید.
  • Authentication: درصورتی‌که عبارت Windows Authentication را انتخاب کنید، روش احراز هویت ویندوز را برگزیدید. دراین‌صورت، برای ورود نیاز است رمز عبور و نام کاربری سیستم ویندوز را وارد کنید. از آن‌جایی که قصد داریم از احراز هویت SQL server استفاده کنیم، SQL Server Authentication را انتخاب خواهیم کرد.
  • مقادیر Login و Password را که هنگام ساخت دیتابیس یادداشت کرده بودید وارد کرده و درنهایت روی گزینه connect کلیک کنید.

اگر روش احراز هویت را قبلاً انتخاب کردید، برای تغییر آن می‌توانید روی SQL server راست کلیک کرده و گزینه Properties را انتخاب کنید. دراین‌صورت، پنجره زیر برای شما ظاهر خواهد شد. از بخش Server Authentication می‌توانید روش احراز هویت را تغییر دهید.

انواع احراز هویت در SQL Server
از بخش Server Authentication روش احراز هویت را تغییر دهید

۴. از ایجاد لاگین ادمین در احراز هویت ویندوز مطمئن شوید

یکی از راهکارهای رفع خطای 18456 در SQL Server، اطمینان از لاگین ادمین یا ایجاد یک لاگین جدید است. برای این امر، می‌توانید راهکار زیر را پیش بگیرید:

گام اول: SQL Server Management Studio را باز کنید

در صفحه باز شده، در بخش Object Explorer، پوشه Security را خواهید دید. روی آن راست کلیک کرده و روی گزینه اول یعنی New Login کلیک کنید.

اجباری کردن SQL Authentication در SQL
یک لاگین جدید ایجاد کنید

گام دوم: نام کاربری خود را وارد کنید

در صفحه‌ای که ظاهر شده است، نیاز است نام کاربری ویندوز را وارد کنید. درصورتی‌که اسم موردنظر، کاربر ویندوز نباشد، با ارور مواجه خواهید شد. در بخش Search می‌توانید نام کاربر را جستجو کرده و در قسمت لاگین وارد کنید.

نحوه احراز هویت SQL Server
نام کاربری ویندوز را وارد کنید

در زیر بخش Log In Name، شاهد دو گزینه احراز هویت از طریق Windows و SQL Server خواهید بود. در این قسمت، گزینه Windows Authentication را انتخاب کنید.

گام سوم: نقش و مجوزات لازم برای دسترسی را تکمیل کنید

در این مرحله از بررسی مشکل احراز هویت در هنگام اتصال به SQL Server، نیاز است به لاگین جدید، نقش و مجوز دسترسی دهید. برای این کار، به تب Server Roles در سمت چپ صفحه رفته تا نقش و دسترسی‌ها به‌صورت چک باکس برایتان ظاهر شود. به‌طور پیش‌فرض، تیک‌گزینه Public برای هر لاگین زده شده است. فقط برای امکان دسترسی کاربر به انجام هرگونه فعالیت روی سرور و کنترل روی آن نیاز است تیک‌ گزینه sysadmin را نیز بزنید.

 لاگین در sql server
به کاربر جدید مجوز دسترسی تخصیص دهید

گام چهارم: کاربر ویندوز را در پایگاه داده Map کنید

در این مرحله، می‌خواهیم کاربر ویندوز را به یک پایگاه داده خاص متصل کنیم. برای این کار، روی تب User Mapping کلیک کنید. سپس خواهید دید تمام دیتابیس‌های روی سرور در صفحه مقابل لیست خواهد شد.

برای اتصال لاگین جدید کافی است این کار را با زدن تیک چک‌باکس دیتابیس موردنظرتان انجام دهید.

نرم افزار اتصال به sql server
کاربر ویندوز را به پایگاه داده SQL Server متصل کنید

گام پنجم: به تب Securables بروید

این بخش منابع SQL Server را نشان می‌دهد که با لاگینی که ایجاد کردید، قابل دسترسی خواهد بود. در این قسمت، روی قسمت Search کلیک کنید.

مشکل در کانکت شدن sql server 2019
به تب Securables برویدو روی گزینه Search کلیک کنید

در پاپ‌آپی که برایتان باز می‌شود، روی گزینه The Server Your Server Name کلیک کنید و درنهایت، OK را بزنید. با این کار، تمام مجوزات لازم برای سرور را به شما نشان خواهد داد.

راهنمای کامل نصب SQL Server در سیستم‌عامل دبیان را در مقاله زیر بخوانید.

نصب SQL Server در دبیان

گام ششم: روی تب Status کلیک کنید

با کلیک در این بخش، در قسمت Settings، براساس نیاز خود گزینه Grant یا Deny را بزنید. با انتخاب گزینه Grant، اجازه اتصال به دیتابیس را خواهید داد. قسمت Login را نیز با زدن گزینه Enable فعال کنید. درنهایت، روی گزینه OK بزنید تا لاگین جدید ایجاد شود.

 ارور cannot connect to sql server
روی تب Status کلیک کنید

۵. اجازه اتصال ریموت دسکتاپ به SQL Server را بررسی کنید

برای بررسی این مورد در رفع مشکل احراز هویت در هنگام اتصال به SQL Server، نیاز است روی سرور ویندوز خود راست کلیک کنید و قسمت Properties Option را انتخاب کنید. سپس از طریق Server Properties، به تب Connection رفته و گزینه Allow Remote Connections To This Server را بررسی کنید. درصورتی‌که تیک آن فعال نیست، آن را فعال کنید.

مشکل در وصل شدن در SQL server 2019
اجازه اتصال ریموت دسکتاپ به SQL Server را بررسی کنید

همچنین در قسمت Remote Server Connection می‌توانید ماکزیمم اتصال همزمان و ریموت را بررسی کنید.

آموزش حل مشکل در کانکت شدن sql server 2017
ماکزیمم اتصال همزمان و ریموت را شخصی‌سازی کنید

۶. آیا SQL Server با پروتکل TCP/IP پیکربندی شده است یا خیر؟

برای فعال‌سازی TCP/IP در SQL Server نیاز است مراحل زیر را طی کنید:

گام‌ اول: عبارت SQL Server Configuration Manager جستجو کنید.

در بخش جستجوی سیستم عبارت SQL Server Configuration Manager را تایپ و روی آن کلیک کنید.

گام دوم: روی گزینه SQL Server Network Configuration کلیک کنید

از قسمت سمت چپ این بخش را خواهید دید. آن را باز کرده و در منوی آبشاری که در زیر آن ایجاد می‌شود، روی گزینه Protocols For SQL EXPRESS کلیک کنید.

برطرف کردن خطای لاگین در SQL Server
روی گزینه SQL Server Network Configuration کلیک کنید

گام سوم: TCP/IPرا فعال کنید

در سمت راست این تب و در بخش Protocol، گزینه TCP/IP را خواهید دید. روی آن کلیک کرده و گزینه Enable و Listen All را بررسی کنید. این دو گزینه باید روی yes قرار داشته باشند. سپس مقدار IP Address خود را وارد کنید و درنهایت، قسمت TCP Port را روی مقدار پیش‌فرض ۱۴۳۳ قرار دهید. با کلیک روی OK تغییرات شما ذخیره خواهد شد. در آخر، SQL Server را ری‌استارت کنید.

مشکل در وصل شدن به سرور در SQL Server Management Studio
TCP/IPرا در بخش Protocol فعال کنید

۷. تنظیمات فایروال و آنتی‌ویروس ویندوز را بررسی کنید

در برخی‌مواقع، برای اتصال به SQL Server در ویندوز درصورتی‌که فایروال یا آنتی‌ویروس فعال باشد، امکان ورود و خروج ترافیک SQL را نمی‌دهد؛ بنابراین نیاز است فایروال یا هر نوع نرم‌افزار آنتی‌ویروس را خاموش کنید یا آن را طوری تنظیم کنید که ترافیک SQL را مجاز بداند. برای این منظور می‌توانید از طریق زیر اقدام کنید:

گام اول: وارد کنترل پنل ویندوز شوید

در بخش اول برای بررسی فایروال و مشکل احراز هویت در هنگام اتصال به SQL Server، از طریق کنترل پنل ویندوز، گزینه Windows Firewall را انتخاب کنید.

عدم اتصال به محیط Sql-server management sudio با لاگین جدید
در کنترل پنل گزینه Windows Firewall را انتخاب کنید

گام‌ دوم: به بخش Allow a Program or Feature Through Windows Firewall بروید

در قسمت سمت چپ، روی گزینه آبی Allow a Program or Feature Through Windows Firewall کلیک کنید.

چرا احراز هویت SQL کار نمی‌ کند؟
به بخش Allow a Program or Feature Through Windows Firewall بروید

گام سوم: SQL را به لیست برنامه‌های مجاز فایروال اضافه کنید

در این پنجره، لیستی از برنامه‌های مجاز برای فایروال را مشاهده خواهید کرد. برای اعمال تغییرات روی آیکون Change Settings بزنید.

رفع خطای 18456 در SQL Server
SQL را به لیست برنامه‌های مجاز فایروال اضافه کنید

سپس، در قسمت پایین صفحه، روی گزینه Allow Another Program کلیک کنید.

رفع مشکل احراز هویت در هنگام اتصال به SQL Server
روی گزینه Allow Another Program کلیک کنید

آیکون Browse را انتخاب کرده و به مسیر نصب SQL Server Instance بروید. سپس فایلی به‌نام sqlservr.exe را انتخاب کرده و Open را بزنید.

مشکل اتصال از راه دور به MSSQL
فایل sqlservr.exe را باز کنید

 درنهایت، به پنجره Add a Program بازگشته و فولدر SQL Server Windows NT-64bit را خواهید دید. روی آیکون Add بزنید.

رفع خطای اتصال به سرور در sql server
روی گزینه Add کلیک کنید

گام‌ چهارم: تیک نهایی برنامه را بزنید

در مرحله آخر، نیاز است تیک مربع‌های ردیف SQL Server Windows NT-64bit را زده و آن را فعال کنید. با زدن گزینه OK، سرور SQL نیز به لیست برنامه‌های مجاز فایروال اضافه خواهد شد.

رفع خطای وارد نشدن به SQL Server
آموزش رفع خطای وارد نشدن به SQL Server

۸. از اجرا و فعال‌بودن سرویس ویندوز SQL Server Browser مطمئن شوید

برای اطمینان از اجرای صحیح و فعال بودن سرویس SQL Server Browser نیاز است به‌صورت زیر اقدام کنید:

گام‌ اول: وارد کنترل پنل ویندوز شوید

در کنترل پنل ویندوز روی گزینه System and Security کلیک کنید.

خطاهای رایج اتصال به SQL Server
وارد کنترل پنل ویندوز شوید

گام دوم: روی گزینه Administration Tools کلیک کنید

مشکل خطای اتصال به SQL سرور
روی گزینه Administration Tools کلیک کنید

گام سوم: روی Services دوبار کلیک کنید

مشکل متصل نشدن به SQL Server
روی Services دوبار کلیک کنید

گام چهارم: گزینه SQL Browser را از لیست پیدا کنید

رفع مشکل لاگین به SQL Server در ویندوز 10
گزینه SQL Browser را از لیست پیدا کنید

اگر در بخش Statue مقابل عبارت SQL Server Browser گزینه Running را مشاهده کردید، از ادامه روال چشم‌پوشی کنید. زیرا نشان می‌دهد SQL Server Browser فعال و درحال اجرا است. درغیراین‌صورت، روی آن دوبار کلیک کرده و ادامه روال زیر را پیش بگیرید.

برای آشنایی با نحوه تغییر پورت ریموت دسکتاپ در ویندوز مقاله زیر را از دست ندهید.

تغییر پورت RDP در ویندوز سرور

گام پنجم: بخش General را به‌صورت زیر تکمیل کنید

قسمت Startup Type را روی Automatic قرار داده و روی Apply و سپس Start کلیک کنید.

مشکل وصل نشدن sql server
بخش General را به‌صورت زیر تکمیل کنید

گام ششم: عبارت Running را مقابل SQL Server Browser مشاهده خواهید کرد

رفع مشکل وصل نشدن sql server
عبارت running را مقابل SQL server Browser مشاهده خواهید کرد

جمع‌بندی

مشکل احراز هویت در هنگام اتصال به SQL Server گاهی ناشی از ساده‌ترین امور مانند اختلال در اتصال شبکه یا اشتباه وارد کردن نام دامنه و سرور است. در این مطلب از سری مقاله‌های آموزش برنامه نویسی و  آموزش پایگاه داده بلاگ پارس پک مهم‌ترین راهکارهای کاربردی برای رفع مشکل احراز هویت در هنگام اتصال به SQL Server را باهم بررسی کردیم. درصورتی‌که در زمینه رفع مشکل اتصال به سرور در SQL Server یا نحوه اتصال به SQL Server در شبکه نیاز به راهنمایی دارید، می‌توانید سوالاتتان را در بخش دیدگاه‌ها برای ما ارسال کنید تا کارشناسان پارس پک در سریع‌ترین زمان شما را راهنمایی کنند. همچنین اگر راهکار دیگری برای رفع مشکل احراز هویت در هنگام اتصال به SQL Server می‌شناسید، تجربه‌تان را با ما و سایر کاربران درمیان بگذارید.

سوالات متداول

۱- چرا احراز هویت SQL کار نمی‌کند؟

زمانی‌که بخش امنیتی احراز هویت ویندوز فعال می‌شود، SQL server قادر به تشخیص کاربر نیست. دلایل مختلفی از جمله غیرفعال بودن نام کاربری در سرور یا منقضی شدن رمز عبور باعث این اتفاق خواهد شد.

 ۲- چگونه مشکل احراز هویت در هنگام اتصال به SQL Server را برطرف کنیم؟

راهکارهای کاربردی از جمله بررسی فایروال و آنتی‌ویروس، بررسی فعال بودن روش‌هایی احراز هویت، دسترسی ریموت دسکتاپ و SQL server Browser را می‌توانید در این مقاله مطالعه کنید.

۲ نظر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.

    با سلام و عرض خسته نباشید
    من با windows Authentication به پایگاه داده وصل میشم و به نرم افزار م با ODBC وصل میشم و با SQL هم با رمز و پسورد به SSMS وصل میشم اما در ODBC ای که درست میکنم به ویندوز وصل میشه اما به SQL وصل نمیشه و نرم افزار خطای Bad Data Source میده ،همه ی راه ها رو رفتم . چرا با رمز sa وصل نمیشه که بتونم به کلاینت وصل بشم .

    Reza
    یکشنبه ۹ مهر ۱۴۰۲

      سلام روزتون بخیر
      لطفا مطمئن شید که نام کاربری و رمز درسته
      یبار رمز رو تغییر بدید و با رمز جدید بررسی کنید.
      همینطور مطمئن بشید دسترسی لازم رو دارید.
      توی تنظیمات ODBC، از روش “SQL Server Authentication” به جای “Windows Authentication” استفاده کنید.
      نام کاربری و رمز عبور صحیح را برای SQL Server وارد کنید.
      مطمئن بشید روش احراز هویت توی SQL Server به درستی تنظیم شده باشه.
      برای این کار، به بخش SQL Server Management Studio (SSMS) و بعدش به بخش “Security” برید.

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

      مهسا رحمانی
      چهارشنبه ۲۶ مهر ۱۴۰۲