Michael Firsov

har DU noen gang tenkt at SQL-serveren din kan fungere som en filserver? Oddsen er at du ikke gjorde det – heller ikke jeg før jeg prøvde En FileTable-funksjon først introdusert I SQL Server 2012. FileTable-funksjonen er neste trinn I FILESTREAM-teknologien som lar deg lagre filer og mapper i de spesielle tabellene, men få tilgang til dem ved hjelp av tradisjonell WINDOWS SMB – protokoll. Med Andre ord, FileTables la OSS bruke SQL-tabeller for ikke-transaksjonstilgang.etter min mening er en av De største fordelene Med FileTables-funksjonen lagring av filattributter(For Eksempel Last-WriteTime, Last_AccessTime, etc.) som gjør det mulig for administratorer å overvåke filtilgangsoperasjoner ved hjelp av de tilsvarende kolonnene i Filtabellene. I denne artikkelen vil jeg gjerne vise deg HVORDAN SQL Server 2012-2016 kan brukes for fillagring og hva overvåking mekanismer kan utnyttes for filer og mapper som ligger i SQL fil aksjer. Noen forutsetninger må være oppfylt Før Filtabeller kan opprettes i en database, og vi vil gå over alle trinnene som kreves for å forberede Filtabeller, deretter opprette flere tabeller og se hvordan vi kan arbeide med Dem.

La oss starte fra å aktivere FILESTREAM FOR SQL 2012 forekomst og opprette en NY filestream database:

https://msdn.microsoft.com/en-us/library/gg509097%28v=sql.120%29.aspx

Jeg Aktiverer FILESTREAM På Windows-nivå

  1. Åpne SQL Configuration manager:
    02
  2. kontroller at følgende avmerkingsbokser Er Valgt:
    03

II Aktiver FILESTREAM PÅ SQL-Forekomstnivå:

  1. i SQL Server Management Studio klikker Du Ny Spørring for å vise Redigeringsprogrammet For Spørring.
  2. i Spørringseditor skriver du Inn Følgende Transact-SQL-kode:
    EXEC sp_configure filestream_access_level, 2
    RECONFIGURE04

III Gi EN FILESTREAM Filgruppe På Databasenivå

før vi kan lage Filtabeller i en database, må databasen ha EN FILESTREAM filgruppe. Hvis du vil Ha mer informasjon om denne forutsetningen, kan Du se Opprette En Filestream-Aktivert Database.
Siden Jeg kommer til å opprette en ny database jeg vil først opprette en mappe som inneholder FileTables:
01
og deretter definere En Filestream filegruppe i denne koden:

OPPRETT DATABASE FILESERVER

PRIMÆR (NAME = FS,
FILENAME = ‘c:\FILESERVER\FSdat.mdf’),
FILGRUPPE FileStreamFS INNEHOLDER FILESTREAM(NAVN = FSgr,
FILNAVN = ‘c:\FILESERVER\fs1’)
LOGG PÅ (NAME = FSlog, FILENAME = ‘ c: \ FILESERVER \FSlog.Ldf’)

Oppmerksomhet! SOM MS sier: «FOR EN FILESTREAM filgruppe refererer FILNAVN til en bane. Banen til den siste mappen må eksistere, og den siste mappen må ikke eksistere.»I den foregående koden, c:\FILESERVER må eksistere, men fs1 må IKKE når du utfører OPPRETT DATABASE-setningen.

05

10

filegroups database egenskapsside viser Nå FileStreamFS filestream FOR filserver database:
07

IV Aktiver Ikke-Transaksjonell Tilgang På Databasenivå

når vi har opprettet databasen, er det siste trinnet i å forberede det For FileTables å aktivere ikke-transaksjonell tilgang på databasenivå.

FileTables la Windows-programmer få En Windows – fil håndtak TIL FILESTREAM data uten å kreve en transaksjon. Hvis du vil tillate denne ikke-transaksjonstilgangen til filer som er lagret I SQL Server, må du angi ønsket nivå for ikke-transaksjonstilgang på databasenivå for hver database som skal inneholde Filtabeller. HVIS vi utfører følgende kode –

VELG DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
fra sys.database_filestream_options;
GO

…vi ser at ingen databaser har ikke-transaksjonstilgang aktivert:
08

for å aktivere ikke-transaksjonell tilgang til filer på databasenivå (FOR FILSERVER – databasen i dette tilfellet) må det spesifiseres et annet alternativ – en katalog For Filtabeller: det er katalogen jeg har opprettet i begynnelsen av artikkelen-c:\FILESERVER, men katalognavnet skal skrives uten stasjonsbokstaven og symbolet»\»:

ENDRE DATABASE FILESERVER
SETT FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N’ FILESERVER’)

09

«i filetable mappehierarkiet blir denne katalogen på databasenivå barnet filestream på forekomst nivå, OG den overordnede av filetab les opprettet i databasen»-DET BETYR FILESERVER vil være undermappe AV MSSQLSERVER DEL SOM JEG IKKE HAR ENDRET DET I TRINN I – 2. Hvis du Vil Ha mer informasjon, kan Du se Arbeide med Kataloger og Baner i FileTables

Utføring av denne koden igjen vil vise at ikke-transaksjonstilgang er aktivert:

VELG DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
FRA sys.database_filestream_options;

09-1

følgende kode viser katalognavnet FOR filserverdatabasen:

Velg DB_NAME ( database_id), direcory_name
FRA sys.database_filestream_options;

11

her er «SQL» fildeling som brukere nå kan bruke til å lagre sine filer og mapper:10-1110-12

Hvis jeg hadde omdøpt STANDARD mssqlserver share til noe som share1 i trinn i-2 ville det ikke vært noen indikasjon på noen sql server involvert – fra brukerens perspektiv ville det bare være En Vanlig fildeling.

Alle forutsetninger for å lage FileTables er oppfylt nå, og vi kan fortsette å lage FileTables.

Arbeide MED SQL Server – Filtabeller-del 2

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.