اگر با یک Login که داخل خودِ SQL Server ساختهای (نه یک حساب ویندوزی) تلاش میکنی وصل شوی و با خطای Login failed یا حتی امکان انتخاب گزینهی «SQL Server Authentication» در صفحهی ورود SSMS روبهرو نیستی، تقریباً همیشه علتش این است که سرور روی حالت Windows Authentication Mode تنظیم شده و Mixed Mode (که هر دو روش را فعال میکند) فعال نیست.
در SSMS، در Object Explorer روی نام سرور راستکلیک کن، Properties را بزن و صفحهی Security را باز کن:
بعد از زدن OK، SSMS یک پیام هشدار نشان میدهد که تغییرات فقط بعد از ریاستارت سرویس اعمال میشوند — دقیقاً مرحلهی بعدی.
این مرحله اغلب فراموش میشود و علت اصلی این است که چرا بعد از تغییر تنظیمات، خطا هنوز ادامه دارد. سرویس را از SQL Server Configuration Manager یا services.msc ریاستارت کن:
SQL Server (MSSQLSERVER) را پیدا کرده و Restart کنی.میتوانی وضعیت فعلی Authentication Mode را با کوئری زیر هم بررسی کنی (مقدار ۱ یعنی Windows-only، مقدار ۲ یعنی Mixed Mode):
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode';
این کوئری فقط برای بررسی است؛ تغییر مقدار Authentication Mode باید از طریق GUI (یا Registry با احتیاط) انجام شود، نه مستقیم با T-SQL.
بعد از ریاستارت سرویس، دوباره در SSMS تلاش کن با SQL Server Authentication و یک Login معتبر وصل شوی. اگر همچنان خطا داری، احتمالاً مشکل از خودِ Login (غیرفعال یا رمز اشتباه) است — به راهنمای رفع مشکل Login Failed for User مراجعه کن.
فصل امنیت دورهی SQLFarsi، Login، User، Role و Permission را از پایه توضیح میدهد.
شروع فصل امنیت