Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Odmowa dostępu podczas wstawiania pliku do tabeli plików Sql Server 2012 przy użyciu File.CreateFile w witrynie ASP.NET

To jest problem z uprawnieniami. Jednak uprawnienia nie są przyznawane przez NTFS, ale przez SQL Server.

Tożsamość puli aplikacji nie ma domyślnie żadnych uprawnień do bazy danych, więc należy to zmienić.

  1. Dodaj login do SQL Server dla tożsamości puli aplikacji, której używasz dla swojej witryny. Np. "IIS APPPool\MyAppPool"

    USE [master]
    GO
    CREATE LOGIN [IIS APPPOOL\myapppoolname] FROM WINDOWS WITH DEFAULT_DATABASE=[MyDatabase]
    GO
    
  2. Dodaj użytkownika do swojej bazy danych, z którego będzie korzystać ten login

    USE [MyDatabase]
    CREATE USER [MyUserName] FOR LOGIN [IIS APPPool\myapppoolname]
    
  3. Przyznaj użytkownikowi odpowiednie uprawnienia do swojej bazy danych

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

Nie jestem pewien, czy jest to pełny zestaw wymaganych uprawnień, ale stwierdziłem, że wystarczyło, abym mógł zapisać nowy plik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dodać metadane do każdej komórki we wszystkich tabelach relacyjnej bazy danych?

  2. sql wstawiaj do tabeli z wybranymi wartościami wielkości liter

  3. Co uczenie maszynowe oznacza dla specjalistów od baz danych

  4. java.sql.SQLException:nie znaleziono odpowiedniego sterownika dla jdbc:microsoft:sqlserver

  5. Pierwsze spojrzenie na nowy estymator kardynalnych serwerów SQL Server