Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Un veloce post per sottolineare una funzionalità a mio avviso poco pubblicizzata introdotta dal Service Pack 1 di SQL Server 2012. Con FileTable potete esporre il contenuto di una tabella a schema fisso all’accesso non transazionale tipico dei file systems. Non entro nei dettagli, per un approfondimento vi rimando qui: http://msdn.microsoft.com/en-us/library/ff929144.aspx. Voglio solo segnalarvi che, dal SP1 in poi, è possibile specificare una Access Control List più completa ai files. Nello specifico ora possiamo specificare:
- Accesso in sola lettura.
- Accesso in lettura/scrittura.
- Accesso negato.
La matrice dei privilegi diventa quindi la seguente:
Privilegio logico |
GRANT T-SQL |
Privilegio di browse delle cartelle |
SELECT |
Privilegio di lettura |
SELECT |
Privilegio di scrittura di un file |
UPDATE |
Privilegio di creazione di un file |
UPDATE e INSERT |
Privilegio di eliminazione |
DELETE |
Pre service pack era possibile dare solo l'accesso in lettura/scrittura (anche a fronte di un semplice GRANT SELECT).
Da notare un paio di cose interessanti:
- Dato che FileTable utilizza dietro le quinte FileStream per creare un file (anche vuoto) non basta avere il privilegio di INSERT. Bisogna avere anche il privilegio di UPDATE.
- È possibile avere un principal che non può modificare i files ma li può eliminare. Ciò può sembrare bizzarro ma è perfettamente coerente con le logiche dei securable di SQL Server.
Happy coding,