sql >> Base de Datos >  >> RDS >> Sqlserver

Acceso denegado al insertar un archivo en Sql Server 2012 FileTable usando File.CreateFile en el sitio web de ASP.NET

Este es un problema de permisos. Sin embargo, los permisos no se otorgan a través de NTFS sino a través de SQL Server.

La identidad del grupo de aplicaciones no tiene ningún permiso en su base de datos de forma predeterminada, por lo que debe cambiarse.

  1. Agregue un inicio de sesión en SQL Server para la identidad del grupo de aplicaciones que está utilizando para su sitio web. P.ej. "IIS APPPool\MiAppPool"

    USE [master]
    GO
    CREATE LOGIN [IIS APPPOOL\myapppoolname] FROM WINDOWS WITH DEFAULT_DATABASE=[MyDatabase]
    GO
    
  2. Agregue un usuario a su base de datos que usará este inicio de sesión

    USE [MyDatabase]
    CREATE USER [MyUserName] FOR LOGIN [IIS APPPool\myapppoolname]
    
  3. Otorgue al usuario permisos relevantes en su base de datos

    use [MyDatabase]
    GRANT INSERT TO [MyUserName]
    GRANT SELECT TO [MyUserName]
    GRANT UPDATE TO [MyUserName]
    

No estoy seguro de si este es el conjunto completo de permisos necesarios, pero descubrí que era suficiente para poder guardar un nuevo archivo.