iis - usuario - permisos sql server
Agregar usuario a SQL Server 2008-permiso denegado (3)
Recientemente tuve algunos problemas que creo que podrían ser útiles mediante la depuración de mi aplicación ASP.NET MVC en IIS
en lugar de con el servidor de desarrollo ASP.NET predeterminado. Sin embargo, cuando intento esto, la aplicación no puede acceder al servidor de la base de datos (MS SQL Server 2008 Express); sin embargo, funciona bien en el servidor de desarrollo.
El error que obtengo es
Cannot open database ''myDbName'' requested by the login. The login failed. Login failed for user ''NT INSTANCE/NETWORK SERVICE''.
Supongo que funcionó antes porque el servidor de desarrollo accedió a la base de datos a través de mi cuenta de usuario y no a través del servicio de red como IIS
.
Traté de agregar el usuario NETWORK SERVICE
a la base de datos, pero resulta que no tengo los privilegios de usuario para hacerlo, no importa que mi cuenta de Windows con la que inicio sesión en el servidor sea admin, o que ejecutar el programa en un contexto de administrador. Simplemente no puedo agregar otro usuario a la base de datos.
¿Cómo resuelvo este problema?
NETWORK SERVICE es una cuenta especial. Si su servidor de base de datos está en otra máquina de su servidor IIS, debe agregar la cuenta:
/ $ como usuario para la base de datos. Entonces, si está en un servidor IIS llamado LISA en la red SPRINGFIELD, deberá otorgar acceso a SPRINGFIELD / LISA $ a su base de datos. Tenga en cuenta el signo de dólar que denota a su usuario como una cuenta de máquina y no una persona real.
Si su servidor de base de datos y su servidor IIS son uno y el mismo, otorgue acceso a la cuenta "NT AUTHORITY / NETWORK SERVICE". Ese es el nombre completo de la cuenta. Y eso debería funcionar
Puede cambiar el usuario con el que se ejecuta IIS: es una configuración en las propiedades de ApplicationPool bajo la cual se ejecuta su sitio web.
Hacemos esto todo el tiempo, ya que nos da un mejor control sobre el acceso de los usuarios, esa cuenta de NT INSTANCE / NETWORK SERVICE es demasiado mágica para mi gusto ...
¿Estás ejecutando un sistema de operación no inglés?
Por alguna razón, el nombre de la cuenta de "NT Authority / Network Service" se ha traducido a otros idiomas.
Lamentablemente, muchos programas tienen el nombre de la cuenta codificado con el nombre en inglés, y no encontrarán el servicio de red cuando se ejecutan en versiones extranjeras de Windows.