Megosztás a következőn keresztül:


A FileTable előfeltételeinek engedélyezése

A következőkre vonatkozik:SQL Server

Ismerteti, hogyan engedélyezheti a FileTables létrehozásának és használatának előfeltételeit.

A FileTable előfeltételeinek engedélyezése

A FileTables létrehozásának és használatának előfeltételeinek engedélyezéséhez engedélyezze a következő elemeket:

A FILESTREAM engedélyezése a példány szintjén

A FileTables kibővíti az SQL Server FILESTREAM funkciójának képességeit. A FileTables létrehozása és használata előtt engedélyeznie kell a FILESTREAM-et a fájl I/O-hozzáféréséhez a Windows szintjén és az SQL Server példányán.

A FILESTREAM engedélyezése példányszinten

A FILESTREAM engedélyezéséről további információt A FILESTREAMengedélyezése és konfigurálása című témakörben talál.

Amikor meghívja sp_configure a FILESTREAM példányszintű engedélyezéséhez, a filestream_access_level beállítást 2értékre kell állítania. További információ: FILESTREAM hozzáférési szint (kiszolgálókonfigurációs beállítás).

FILESTREAM engedélyezése a tűzfalon keresztül

További információ a FILESTREAM tűzfalon keresztüli engedélyezéséről: Tűzfal konfigurálása a FILESTREAM-hozzáféréshez.

FILESTREAM-fájlcsoport megadása adatbázisszinten

Mielőtt fájltáblákat hozhat létre egy adatbázisban, az adatbázisnak FILESTREAM fájlcsoporttal kell rendelkeznie. További információ erről az előfeltételről: FILESTREAM-Enabled-adatbázis létrehozása.

Nem tranzakciós hozzáférés engedélyezése adatbázisszinten

A FileTables lehetővé teszi, hogy a Windows-alkalmazások tranzakció nélkül beszerezzék a Windows-fájlkezelőt a FILESTREAM-adatokhoz. Ahhoz, hogy ez a nem tranzakciós hozzáférés engedélyezhető legyen az SQL Serverben tárolt fájlokhoz, meg kell adnia a kívánt nem tranzakciós hozzáférést az adatbázis szintjén minden olyan adatbázishoz, amely a FileTables-t fogja tartalmazni.

Ellenőrizze, hogy engedélyezve van-e a nem tranzakciós hozzáférés az adatbázisokon

A katalógusnézet sys.database_filestream_options (Transact-SQL) lekérdezése után ellenőrizze a non_transacted_access és a non_transacted_access_desc oszlopokat.

SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
    FROM sys.database_filestream_options;
GO

Nem tranzakciós hozzáférés engedélyezése adatbázisszinten

A nem tranzakciós hozzáférés elérhető szintjei a FULL, a READ_ONLY és a KI.

Adja meg a nem tranzakciós hozzáférés szintjét Transact-SQL

Amikor új adatbázisthoz létre, hívja meg a CREATE DATABASE (SQL Server Transact-SQL) utasítást a NON_TRANSACTED_ACCESS FILESTREAM opcióval.

CREATE DATABASE database_name
  WITH FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );

** Meglévő adatbázismódosításakor hívja meg a ALTER DATABASE (Transact-SQL) utasítást a NON_TRANSACTED_ACCESS FILESTREAM beállítással.

ALTER DATABASE database_name
  SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );

Adja meg a nem tranzakciós hozzáférés szintjét az SQL Server Management Studióval

Az Adatbázis tulajdonságai párbeszédpanel Beállítások lapjának FILESTREAM Nem tranzakciós hozzáférés mezőjében megadhatja a nem tranzakciós hozzáférés szintjét. A párbeszédpanelről további információt az Adatbázis tulajdonságai (Beállítások lap)című témakörben talál.

Adja meg a FileTables könyvtárát az adatbázis szintjén

Ha az adatbázis szintjén engedélyezi a nem tranzakciós hozzáférést a fájlokhoz, megadhat egy könyvtárnevet egyidejűleg a DIRECTORY_NAME beállítással. Ha nem ad meg könyvtárnevet, amikor engedélyezi a nem tranzakciós hozzáférést, később meg kell adnia, mielőtt fájltáblákat hozhat létre az adatbázisban.

A FileTable mappahierarchiában ez az adatbázisszintű könyvtár a FILESTREAM-hez a példány szintjén megadott megosztási név alá tartozik, és az adatbázisban létrehozott FileTable-ek szülője lesz. További információ: Könyvtárak és elérési utak a Fájltáblákban.

Adja meg a FileTables könyvtárát az adatbázis szintjén

A megadott névnek egyedinek kell lennie az adatbázisszintű könyvtárak összes példányán.

Adjon meg egy könyvtárat a FileTables számára Transact-SQL

Amikor új adatbázisthoz létre, hívja meg a CREATE DATABASE (SQL Server Transact-SQL) utasítást a DIRECTORY_NAME FILESTREAM beállítással.

CREATE DATABASE database_name
  WITH FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );
GO

Meglévő adatbázis módosításakor meg kell hívni az ALTER DATABASE (Transact-SQL) utasítást a DIRECTORY_NAME FILESTREAM beállítással. Ha ezekkel a beállításokkal módosítja a címtár nevét, az adatbázisnak kizárólag zároltnak kell lennie, nyitott fájlleírók nélkül.

ALTER DATABASE database_name
    SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );
GO

Amikor csatol egy adatbázist-, hívja meg a CREATE DATABASE (SQL Server Transact-SQL) utasítást a FOR ATTACH opcióval és a DIRECTORY_NAME FILESTREAM opcióval.

CREATE DATABASE database_name
    FOR ATTACH WITH FILESTREAM ( DIRECTORY_NAME = N'directory_name' );
GO

Amikor visszaállítani egy adatbázis-, hívja meg a RESTORE (Transact-SQL) utasítást a DIRECTORY_NAME FILESTREAM beállítással.

RESTORE DATABASE database_name
    WITH FILESTREAM ( DIRECTORY_NAME = N'directory_name' );
GO

A FileTables könyvtárának megadása az SQL Server Management Studióval

A Adatbázis tulajdonságai párbeszédpanel Beállítások lapjának FILESTREAM könyvtárnév mezőjében adhat meg könyvtárnevet. A párbeszédpanelről további információt az Adatbázis tulajdonságai (Beállítások lap)című témakörben talál.

A példány meglévő címtárneveinek megtekintése

A példány meglévő címtárneveinek listájának megtekintéséhez kérdezze le a katalógusnézetet sys.database_filestream_options (Transact-SQL), és ellenőrizze a filestream_database_directory_name oszlopot.

SELECT DB_NAME ( database_id ), directory_name
    FROM sys.database_filestream_options;
GO

Az adatbázisszintű címtárra vonatkozó követelmények és korlátozások

  • A DIRECTORY_NAME beállítása nem kötelező, ha használja a CREATE DATABASE vagy a ALTER DATABASE. Ha nem ad meg értéket a DIRECTORY_NAMEszámára, akkor a címtár neve nulla marad. Az adatbázisban azonban nem hozhat létre Fájltáblákat, amíg meg nem adja a DIRECTORY_NAME értékét az adatbázis szintjén.

  • A megadott címtárnévnek meg kell felelnie a fájlrendszer érvényes könyvtárnévre vonatkozó követelményeinek.

  • Ha az adatbázis Fájltáblákat tartalmaz, a DIRECTORY_NAME nem állíthatja vissza null értékre.

  • Adatbázis csatolása vagy visszaállításakor a művelet meghiúsul, ha az új adatbázis olyan DIRECTORY_NAME értékével rendelkezik, amely már létezik a célpéldányban. Adjon meg egy egyedi értéket DIRECTORY_NAMECREATE DATABASE FOR ATTACH vagy RESTORE DATABASEhívásához.

  • Meglévő adatbázis frissítésekor a DIRECTORY_NAME értéke null.

  • Ha az adatbázis szintjén engedélyezi vagy letiltja a nem tranzakciós hozzáférést, a művelet nem ellenőrzi, hogy a címtár neve meg van-e adva, vagy egyedi-e.

  • Amikor elvet egy, a FileTables számára engedélyezett adatbázist, az adatbázisszintű könyvtár és az alatta lévő összes FileTables könyvtárstruktúrája el lesz távolítva.