Megosztás:


FileTables (SQL Server)

A következőkre vonatkozik:SQL Server

A FileTable funkció támogatja a Windows-fájlnévteret és a Windows-alkalmazásokkal való kompatibilitást az SQL Serverben tárolt fájladatokhoz. A FileTable lehetővé teszi, hogy az alkalmazás integrálja a tárolási és adatkezelési összetevőket, és integrált SQL Server-szolgáltatásokat biztosít - beleértve a teljes szöveges keresést és a szemantikai keresést - strukturálatlan adatok és metaadatok felett.

Más szóval a fájlokat és dokumentumokat speciális táblákban tárolhatja a FileTables nevű SQL Serverben, de a Windows-alkalmazásokból úgy érheti el őket, mintha a fájlrendszerben tárolták volna őket, anélkül, hogy módosítanák az ügyfélalkalmazásokat.

A FileTable funkció az SQL Server FILESTREAM technológiára épül. A FILESTREAMről további információt a FILESTREAM (SQL Server) című témakörben talál.

A FileTable funkció előnyei

A FileTable funkció céljai a következők:

  • Windows API-kompatibilitás az SQL Server-adatbázisban tárolt fájladatokhoz. A Windows API kompatibilitása a következőket tartalmazza:

    • Nem tranzakciós streamhozzáférés és a FILESTREAM-adatok helyszíni frissítései.

    • Könyvtárak és fájlok hierarchikus névtere.

    • A fájlattribútumok tárolása, például a létrehozás dátuma és a módosított dátum.

    • Windows-fájl- és címtárkezelési API-k támogatása.

  • Kompatibilitás más SQL Server-funkciókkal, például felügyeleti eszközökkel, szolgáltatásokkal és relációs lekérdezési képességekkel a FILESTREAM- és fájlattribútum-adatokon keresztül.

A FileTables így jelentős akadályt elhárít az SQL Server elől, amely az jelenleg fájlként tárolt strukturálatlan adatok tárolását és kezelését akadályozza a fájlszervereken. A vállalatok áthelyezhetik ezeket az adatokat a fájlkiszolgálókról a FileTablesba, hogy kihasználhassák az SQL Server által biztosított integrált felügyeletet és szolgáltatásokat. Ugyanakkor fenntarthatják a Windows-alkalmazások kompatibilitását meglévő Windows-alkalmazásaikhoz, amelyek ezeket az adatokat fájlként látják a fájlrendszerben.

Mi az a FileTable?

Az SQL Server egy speciális fájltáblát, más néven FileTable-t biztosít az adatbázisokban fájl- és címtártárolást igénylő alkalmazásokhoz, Windows API-kompatibilitással és nem tranzakciós hozzáféréssel. A FileTable egy speciális felhasználói tábla, amely egy előre definiált sémával rendelkezik, amely a FILESTREAM-adatokat, valamint a fájl- és könyvtárhierarchia adatait és fájlattribútumait tárolja.

A FileTable a következő funkciókat biztosítja:

  • A Fájltáblák könyvtár- és fájlhierarchiát jelölnek. A hierarchiában lévő összes csomóponthoz kapcsolódó adatokat tárolja a címtárak és az általuk tárolt fájlok esetében. Ez a hierarchia a FileTable létrehozásakor megadott gyökérkönyvtárból indul ki.

  • A FileTable minden sora egy fájlt vagy könyvtárat jelöl.

  • Minden sor a következő elemeket tartalmazza. A FileTable sémájáról további információt a FileTable-séma című témakörben talál.

    • A file_stream streamadatok oszlopa és egy stream_id (GUID) azonosító. (Az file_stream oszlop null értékű egy könyvtárhoz.)

    • path_locator Az aktuális elem (fájl vagy könyvtár) és a címtárhierarchia megjelenítésére és karbantartására szolgáló oszlopok.parent_path_locator

    • 10 fájlattribútum, például a létrehozás dátuma és a módosított dátum, amelyek hasznosak a fájl I/O API-jaiban.

    • Olyan típusoszlop, amely támogatja a fájlok és dokumentumok teljes szöveges keresését és szemantikai keresését.

  • A FileTable bizonyos rendszer által meghatározott korlátozásokat és eseményindítókat kényszerít ki a fájlnévtér szemantikájának fenntartásához.

  • Ha az adatbázis nem tranzakciós hozzáférésre van konfigurálva, a Fájltáblában képviselt fájl- és címtárhierarchia az SQL Server-példányhoz konfigurált FILESTREAM-megosztás alatt lesz közzétéve. Ez fájlrendszer-hozzáférést biztosít Windows-alkalmazásokhoz.

A FileTables néhány további jellemzője

  • A FileTable-ban tárolt fájl- és könyvtáradatok windowsos megosztáson keresztül érhetők el a Windows API-alapú alkalmazások nem tranzakciós fájlhozzáférése érdekében. Windows-alkalmazások esetén ez úgy néz ki, mint egy normál megosztás a fájljaival és könyvtáraival. Az alkalmazások számos Windows API-t használhatnak a megosztás alatt lévő fájlok és könyvtárak kezeléséhez.

  • A megosztáson keresztül felszínre hozott címtárhierarchia egy tisztán logikai könyvtárstruktúra, amely a FileTable-on belül van fenntartva.

  • A Windows-megosztáson keresztül fájl vagy könyvtár létrehozására vagy módosítására irányuló hívásokat egy SQL Server-összetevő elfogja, és a Fájltábla megfelelő relációs adataiban tükröződik.

  • A Windows API-műveletek nem tranzakciós jellegűek, és nincsenek felhasználói tranzakciókhoz társítva. A FileTable-ban tárolt FILESTREAM-adatokhoz való tranzakciós hozzáférés azonban teljes mértékben támogatott, ahogyan a normál tábla BÁRMELY FILESTREAM oszlopa esetében is. Ha több kapcsolatból gyakran kell módosítania a fájlokat, és gondoskodnia kell a megfelelő fájlvédelemről, használja a tranzakciós FILESTREAM-hozzáférést Az OpenSqlFilestream() használatával, ahelyett, hogy kizárólagos fájlzárolásokat használ a Windows API szintjén.

  • A FileTables a normál Transact-SQL hozzáféréssel is lekérdezhető és frissíthető. Emellett integrálva vannak az SQL Server felügyeleti eszközeivel és olyan funkciókkal, mint a biztonsági mentés.

  • Nem küldhet e-mail-kérelmet a Database Mailen keresztül, és nem csatolhat fájlokat a FILESTREAM könyvtárban (és így a FileTable-ban). A fájlrendszer szűrőillesztője, az RsFx0420 a FILESTREAM mappába be- és kifelé irányuló bejövő I/O-kéréseket vizsgálja. Ha a kérés nem az SQLServer végrehajtható és a FILESTREAM-kódból származik, a rendszer kifejezetten letiltja őket.

További szempontok a FileTables használatához

Adminisztratív szempontok

A FILESTREAM és a FileTables ismertetése

A FileTablest a FILESTREAM-től elkülönítve konfigurálja. Ezért továbbra is használhatja a FILESTREAM szolgáltatást a nem tranzakciós hozzáférés engedélyezése vagy a FileTables létrehozása nélkül.

A FILESTREAM-adatokhoz csak a FileTables használatával lehet nem tranzakciós hozzáféréssel hozzáférni. Ezért ha engedélyezi a nem tranzakciós hozzáférést, a meglévő FILESTREAM-oszlopok és -alkalmazások viselkedése nem lesz hatással.

Tudnivalók a FileTablesról és a nem tranzakciós hozzáférésről

Az adatbázis szintjén engedélyezheti vagy letilthatja a nem tranzakciós hozzáférést.

A nem tranzakciós hozzáféréseket az adatbázis szintjén konfigurálhatja vagy finomhangolhatja kikapcsolásával, illetve írásvédett vagy teljes olvasási/írási hozzáférés engedélyezésével.

A FileTables nem támogatja a memórialeképezett fájlokat

A FileTables nem támogatja a memórialeképezett fájlokat. A Jegyzettömb és a Paint két gyakori példa a memórialeképezett fájlokat használó alkalmazásokra. A Fájltáblában tárolt fájlok megnyitásához nem használhatja ezeket az alkalmazásokat ugyanazon a számítógépen, mint az SQL Server. Ezeket az alkalmazásokat azonban távoli számítógépről is használhatja a FileTable-ban tárolt fájlok megnyitásához, mivel ilyen körülmények között a memórialeképezési funkció nem használható.