2008-11-25 6 views
2

La fonctionnalité FILESTREAM de SQL Server 2008 permet le stockage et l'accès efficace aux données BLOB à l'aide d'une combinaison de SQL Server 2008 et du système de fichiers NTFS.Le flux de fichiers de SQL Server 2008

Lorsque vous insérez une ligne dans une table contenant une colonne varbinary avec l'attribut filestream, le fichier (data) est stocké directement dans le système de fichiers et affecté au nouveau nom (par exemple 00000016-00000079-0006).

Est-ce qu'une API de TSQL peut vérifier quel fichier du système de fichiers est associé à la ligne en question?

+0

Je ne pense pas avoir compris la question - le nom de fichier est 00000016-00000079-0006 que vous avez trouvé. Faites simplement un select * à partir de votre table de flux de données, et vous obtiendrez le nom de fichier pour chaque ligne, n'est-ce pas? Qu'essayez-vous de faire? –

+0

Comment avez-vous surmonté l'accès refusé lorsque le flux est enregistré? –

Répondre

2

Le nom de fichier est 00000016-00000079-0006 que vous avez trouvé. Recherchez-le dans le répertoire dans lequel vous avez configuré le stockage FileStream. Faites simplement un select * à partir de votre table de flux de fichiers, et vous obtiendrez le nom de fichier pour chaque ligne.

0

SQL Server et Filestream n'exposent pas le chemin physique, car il peut changer à tout moment en fonction des découpages de partition et d'opérations similaires. Vous pouvez obtenir le chemin logique avec la méthode PathName() et l'ouvrir via les diverses fonctions compatibles Filestream.