Bevezetés a FILESTREAM - szoftverek

Hogy támogassa a FileStream típus van szükség az adatbázis szintjén, hogy a megfelelő fájl-csoport. Mivel flename ebben a csoportban, ahol egy helyi mappát a fájlrendszerben. Nem tudjuk elfogadni a fájlt önkényes módon, lök Serveru SQL, és azt mondják, nézd, ez a mező faylstrim ilyen felvételt. Mint látni fogjuk, mi csak másolni a fájl mezőbe, és ez lesz a fájlban tárolt, ami elviszi őt az SQL Server, és hívja a szabályaival összhangban.

Ez az, amit után jön adatbázisok létrehozása a c: \ Temp:

Bevezetés a FILESTREAM - szoftverek

Regisztrált a fájlnév filestreamovskoy csoport egy mappát egy helyi meghajtóra. Ha az ajánlat fájlt egy labdát, obmaterili:

adatbázis létrehozása TestFS1 on

primer (név = TestFS_data, fájlnév = 'c: \ Temp \ TestFS_data.mdf'),

filegroup FG1 tartalmaz FILESTREAM

(Name = TestFS_media, filename = '\\ 192.168.0.1 \ c $ \ Temp \ TestFS_media)

jelentkezzen be (name = TestFS_log, filename = "c: \ Temp \ TestFS_log.ldf)

Msg 5135, Level 16, State 2, 1-es vonal

Az útvonal '\\ 192.168.0.1 \ c $ \ Temp \ TestFS_media' nem lehet használni FILESTREAM fájlokat. További információ a támogatott útvonalak, lásd az SQL Server Books Online.

Msg 1802 Level 16, State 2, 1-es vonal

CREATE DATABASE sikerült. Egyes fájlnevek felsorolt ​​nem hozható létre. Ellenőrizze kapcsolatos hibákat.

A megadott útvonal léteznie kell, amíg az n-1-szint, a mi esetünkben - c: \ Temp. Folder TestFS_media nem kellene.

Hozhat létre több fájl csoportok faylstrim típusa:

de csak egy lehet egy mappát regisztrált faylstrimovskoy faylgruppe. Tehát nem lehet csinálni:

filegroup FG1 tartalmaz FILESTREAM

(Name = TestFS_media, fájlnév = 'c: \ Temp \ TestFS_media'),

(Name = aaa, filename = "c: \ aaa)

Ie automatikusan borítani faylstrimovskie fájlokat különböző mappákba nem fog működni.

Miután létrehozott egy adatbázist faylstrimovskoy fájl-csoport, akkor létrehozhat táblázatokat faylstrimovskimi területeken. A CREATE TABLE utasítás típus mező FILESTREAM - egy közönséges BLOB (varbinary (max)) attribútum FILESTREAM.

A jelenlétében FILESTREAM mező a táblázat azt is kötelező jelenléte UniqueIdentifier területen. Lehet nincs alapértelmezett értéke, de három attribútum: egyedi, rowguidcol nem null kötelező neki. Míg a UniqueIdentifier és UniqueIdentifier egyedinek kell lennie, ez a feltétel szerint, például az új rekord nem kap értéket az előzőtől. Ezen túlmenően, az optimalizáló sokkal örömteli érzést, amikor látja, világos egyedi. Képesség rowguidcol lehetővé teszi a hozzáférést a területen nem név szerint, valamint a $ rowguid: pl. válassza $ rowguid Média. Egyértelmű, hogy ezen a területen kellene számú az asztalra. Mi hozza az alapvető fontosságú ezen attribútum, én őszintén szólva nem feltételezik mondani. Egyszerűen vannak olyan helyzetek, hogy szükség van rá, és úgy legyen. Korábban úgy bántak merge-replikáció, most itt faylstrim hozzá.

A jelenléte elsődleges kulcs nem szükséges. Ebben az esetben tudnánk tenni anélkül, hogy a mező id. Hoztam ide a kedvéért, mert Példa írási ahol id = <целое> könnyebb, mint memorizálás GUID.

Utólagosan annak kiderítésére, hogy az attribútum mező FILESTREAM, akkor:

select * from sys.columns ahol object_id = object_id ( 'Media', 'asztal') és system_type_id = type_id ( 'varbinary') és MAX_LENGTH = -1 és is_filestream = 1

Az asztalon létrejön a C: \ Temp \ TestFS_media (fájlnév paraméter csoport FILESTREAM adatbázisok létrehozásakor) volt egy könyvtár nevű néhány Guida megfelelő táblázatot - az egyik még a nevét egy Guido sootvetstvuyushaya területen FILESTREAM ebben a táblázatban (a valamelyest a száma, ilyen mezők).

Bevezetés a FILESTREAM - szoftverek

Bevezetés a FILESTREAM - szoftverek

Bevezetés a FILESTREAM - szoftverek

Most add hozzá a felvétel:

Behelyezés után a lap mappában van három nevű fájlok Guido, amely megfelel a három ki rekordokat. Kevesebb NULLovoe érték fájl nem indul a blob kell valamit, nem üres. Üres string - ez nem üres.

Bevezetés a FILESTREAM - szoftverek

Itt szerkesztette:

tartósított és megnézzük, mi történt:

Bevezetés a FILESTREAM - szoftverek

Példaként hogyan ellenőrzése alatt áll az SQL Server, hogy milyen faylstrimy hát a bázissal együtt. csinál

Ezután indítsa el csökken a bázison, míg egy mappát TestFS_media eltűnik a c: \ Temp az összes fájlt, amely tárolja a mező tartalmát a különböző faylstrim Media tábla bejegyzéseket. Restoration adatbázis:

Bevezetés a FILESTREAM - szoftverek

Itt a MOVE - alapfelszereléseként, a csökkentés azt jelenti, hogy a logikai fájl nevek most megfelelnek a különböző fizikai útvonalat. Azt mondjuk, hogy a c: \ Temp \ TestFS_media összeköltözött: \ aaa. Ugyanakkor a lemezen: automatikusan létrehoz egy mappát aaa, ami kiderült faylstrimovskaya faylgruppa. Ahogyan amikor létrehoz egy adatbázist, mind arra utalnak, az út, léteznie kell a lemezt, a gyökér szintbe n-1, azaz ha azt mondanánk, a mozgásban lévő 'TestFS_media' a 'c: \ aaa \ bbb', nem vesznek fel.

Ahogy HierarchyID, amiről én elég ranted a korábbi bejegyzéseket, és térinformatikai típusok, a beszélgetés, ami még hátravan, a FILESTREAM típust támogatja a szabad SQL Server, ami SQL Express. Sőt, az alap a méretkorlátainak SQL Express nem vonatkozik azokra az adatok, amelyek a faylstrimovskih festékfoltok.

Kapcsolódó cikkek