for ejemplo conexion cadena c# iis sql-server-2012 connection-string

c# - ejemplo - System.Data.SqlClient.SqlException: error de inicio de sesión para el usuario



connection string trusted connection (6)

Trabajando con mi proyecto en depuración no tengo problemas. Sin embargo ejecutándolo en IIS estoy recibiendo este error:

System.Data.SqlClient.SqlException: Error de inicio de sesión para el usuario ''dominio / nombre-PC $''.

Traza de pila

[SqlException (0x80131904): Login failed for user ''CAPLUGSLLC/OETINGER-PC$''.] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +6749670 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +815 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4515 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +84 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +53 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +368 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +6777754 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +6778255 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) +878 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +1162 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +72 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +6781425 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +103 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +2105 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +116 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +1089 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +6785863 System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +233 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +278 System.Data.SqlClient.SqlConnection.Open() +239 System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user) +65 System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe() +38 System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode() +30 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +81 System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +54 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +446 System.Linq.Enumerable.ToList(IEnumerable`1 source) +80 MvcMobile.Controllers.HomeController.Index() +38 lambda_method(Closure , ControllerBase , Object[] ) +79 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +261 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39 System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +34 System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +124 System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +839035 System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +15 System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +33 System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +839620 System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +28 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +65 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +51 System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +42 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +51 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288

La solución número uno que puedo encontrar a través de Google es cambiar la configuración avanzada de Identidad del grupo de aplicaciones que no funcionó.

Estoy utilizando IIS 7.5 y me estoy conectando a SQLServer 2012, mi cadena de conexión se encuentra a continuación.

Cadena de conexión

<add name="Caplugs_Nav_DataConnectionString" connectionString="Data Source=01DEV/SQLDEV01;Initial Catalog=Caplugs_Nav_Data;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework" providerName="System.Data.SqlClient" />


Acabo de encontrarme con este error y me llevó días resolverlo. El mensaje de error de la pista roja que se menciona en la pregunta inicial nos lanzó a un bucle, más el registro de errores del Visor de eventos de Windows indicó algo similar:

Login failed for user ''(domain/name-PC)$''. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]

Ninguno de estos era cierto, el usuario tenía todos los permisos necesarios en SQL Server.

En nuestro caso, la solución fue cambiar la identidad del grupo de aplicaciones en IIS a NetworkService .


Numpty aquí utiliza la autenticación SQL

en lugar de Windows (correcto)

al agregar el inicio de sesión a SQL Server, que también le da este error si está usando autenticación de Windows.


Simplemente configure Integrated Security=False y funcionará, de acuerdo con una diferencia de comment entre True y False es:

True ignora User ID y la Password si se proporcionan y utiliza las del proceso en ejecución, SSPI(Security Support Provider Interface ) usará si se proporcionan, por lo que MS prefiere esto. Son equivalentes en el sentido de que usan el mismo mecanismo de seguridad para autenticarse, pero eso es todo.


Suponiendo que pretende utilizar la autenticación de Windows para hacerse pasar por la cuenta de servicio, debe configurar la autenticación de Windows tanto en IIS como en ASP.NET.

En IIS, asegúrese de que el módulo de autenticación de Windows esté agregado y habilitado. También asegúrese de que su grupo de aplicaciones se esté ejecutando bajo una cuenta de dominio, no una cuenta local.

En ASP.NET, asegúrese de que el atributo de modo de autenticación esté establecido en "Windows"

<system.web> <authentication mode="Windows"/> </system.web>


También puede obtener este error si su SQL Server no ha sido configurado para usar la autenticación en modo mixto - ¡en realidad no le dice que esto no está habilitado!


Tuve una experiencia similar y me tomó tiempo resolver el problema. Sin embargo, mi propio caso fue ASP.Net MVC Core y Core framework. Configuración de Trusted_Connection=False; resuelto mi problema

Dentro del archivo appsettings.json

"ConnectionStrings": { "DefaultConnection": "Server=servername; Database=databasename; User Id=userid; Password=password; Trusted_Connection=False; MultipleActiveResultSets=true", },