مرکز آموزش

نحوه رفع خطای Login failed for user SERVERNAME\IWPD در اتصال به دیتابیس

  • login failed IWPD, خطای windows authentication در دیتابیس
  • 130

ممکن است وبسایت یا پروژه خود را به تازگی راه اندازی کرده‌اید و یا در آن تغییراتی ایجاد شده که پس از انتقال به هاست با خطای زیر مواجه شده‌اید:

Microsoft.Data.SqlClient.SqlException (0x80131904): Cannot open database "DBNAME" requested by the login. The login failed.
Login failed for user 'WIN-SERVERID\IWPD_ID(HOSTUSERNAME)'.

 

دلیل خطا

همانطور که می دانید برای دسترسی به دیتابیس‌های MSSQL از دو روش Windows Authentication و SQL Server Authentication استفاده می‌شود. روش اول بدون نیاز به نام کاربری و رمز عبور از طریق دسترسی‌های سطح بالا و روش دوم با استفاده از نام کاربری و رمز عبور دیتابیس انجام می‌شود. خطای فوق زمانی نمایش داده می شود که شما Connection String را به گونه‌ای تعریف کرده‌اید که به جای استفاده از نام کاربری و رمز عبور قصد دارد به اشتباه با دسترسی Windows Authentication اقدام به برقراری ارتباط با دیتابیس کند.

 

 

نحوه رفع خطا

راهکار ساده است. شما بایستی روش را به SQL Server Authentication تغییر دهید تا با استفاده از نام کاربری و رمز عبور دیتابیس فراخوانی شود.
احتمالا در Connection String مقدار integrated security یا Trusted_Connection برابر True است. برای رفع مشکل بایستی مقدار آن را به false تبدیل کنید.

مثال:

<add name="DBContext" connectionString="Data Source=.\SQLSERVERADDRESS;Initial Catalog=DBNAME;Integrated Security=False;User ID=DBUSER;Password=DBPASSWORD;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

یا

  "ConnectionStrings": {
    "DefaultConnection": "Server=.\\SQLSERVERADDRESS;Database=DBNAME; User Id=DBUSER;Password=DBPASSWORD;Integrated Security=False;MultipleActiveResultSets=true"
  },

کار تمام شد!

تمامی حقوق مادی و معنوی این مطلب متعلق به HiSupport است.
کپی برداری از مطالب تنها با ذکر منبع و لینک به وبسایت HiSupport بلامانع است.


آیا این آموزش به شما کمک کرد؟