Lorsque la fonction FILESTREAM est activée sur Microsoft SQL Server 2012, SQL Server crée un partage «masqué» sur le système. La part est définie comme suit:
Sharename FILESTREAM_SHARE
Path \\?\GLOBALROOT\Device\RsFx0320\<localmachine>\FILESTREAM_SHARE
Remark SQL Server FILESTREAM share
Maximum users unlimited
Users Caching Manual caching of documents
Permissions NT-AUTHORITY\Authenticated Users, FULL
Le nom est le nom du partage que vous fournissez lors de la configuration initiale de FILESTREAM dans le Gestionnaire de configuration SQL Server . Mais à quoi ça sert?
Jusque là
J'ai lu toute la documentation FILESTREAM disponible à partir de:
- FILESTREAM (SQL Server)
- Activer et configurer FILESTREAM
- Créer une base de données compatible FILESTREAM
- Créer une table pour stocker des données FILESTREAM
- ... et tout ce qui s'y rapporte
- Compatibilité FILESTREAM avec d'autres fonctionnalités SQL Server
- FILESTREAM DDL, fonctions, procédures stockées et vues
- Accéder aux données FILESTREAM avec OpenSqlFilestream
- le document SQL Server 2008 - Stockage FILESTREAM dans SQL Server 2008
- et l'article FILESTREAM (OLTP) --- un guide de référence technique pour la conception de solutions OLTP essentielles à la mission qui fait référence à de nombreux autres documents
... mais il n'y avait aucune mention de l'action et ce qu'elle fait ou à quoi elle sert. Vous entrez le nom et SQL Server créera le partage sous le capot.
Base de données compatible FILESTREAM
Lorsque vous créez une base de données compatible FILESTREAM, la base de données fait référence à un groupe de fichiers qui fait référence à un répertoire (recommandé sur un lecteur distinct) qui n'a absolument rien à voir avec le partage, qui a été initialement créé lors de la configuration de FILESTREAM.
Capture d'écran Script de base de données compatible FILESTREAM
Oui, je me rends compte que tous les chemins sont sur C :; ce n'est qu'un exemple
Le livre blanc de Paul Randall et al. poursuit en expliquant que ...
Les données FILESTREAM sont stockées dans le système de fichiers dans un ensemble de répertoires NTFS appelés conteneurs de données, qui correspondent à des groupes de fichiers spéciaux dans la base de données. L'accès transactionnel aux données FILESTREAM est contrôlé par SQL Server et un pilote de filtre de système de fichiers installé dans le cadre de l'activation de FILESTREAM au niveau Windows. L'utilisation d'un pilote de filtre de système de fichiers permet également d'accéder à distance aux données FILESTREAM via un chemin UNC. SQL Server conserve un lien de tri des lignes de table vers les fichiers FILESTREAM qui leur sont associés. Cela signifie que la suppression ou le changement de nom de tout fichier FILESTREAM directement via le système de fichiers entraînera une corruption de la base de données.
... plus bas dans le document (page 14), ils poursuivent ...
Il existe un seul pilote de filtre de système de fichiers FILESTREAM pour chaque volume NTFS qui a un conteneur de données FILESTREAM, et il y en a également un pour chaque version de SQL Server qui a un conteneur de données FILESTREAM sur le volume. Chaque pilote de filtre est responsable de la gestion de tous les conteneurs de données FILESTREAM pour ce volume, pour toutes les instances qui utilisent une version particulière de SQL Server.
Par exemple, un volume NTFS qui héberge trois conteneurs de données FILESTREAM, un pour chacune des trois instances SQL Server 2008, n'aura qu'un seul pilote de filtre de système de fichiers FILESTREAM SQL Server 2008.
Des questions
- C'est agréable de savoir que SQL Server a tout ce qu'il y a de bien et de lié, mais que fait ce partage? S'agit-il du soi-disant "pilote de filtre du système de fichiers"?
- Étant donné que tout utilisateur authentifié peut accéder au «partage», quelles sont les implications en matière de sécurité?
- Le périphérique RsFx0320 est-il un prédécesseur du format de système de fichiers résilient introduit avec Windows Server 2012?
Si vous pouvez fournir des réponses à mes questions, ce serait bien si vous pouviez fournir une référence source.