file stream storage

35
5/26/2018 FileStreamStorage-slidepdf.com http://slidepdf.com/reader/full/file-stream-storage 1/35  Техническая статья по SQL Server  Автор: Пол С. Рэндел (Paul S. Randal) (SQLskills.com)  Технические рецензенты:  Александру Чирика (Alexandru Chirica), Аркадий Бржазовски (Arkadi Brjazovski), Прем Мехра (Prem Mehra), Джоанна Омел (Joanna Omel), Майк Рутрафф (Mike Ruthruff), Робин Дхаманкар (Robin Dhamankar) Опубликовано: октябрь 2008 г. Область применения: SQL Server 2008 Сводка. В настоящем техническом документе описывается версия SQL Server 2008 компонента FILESTREAM, который обеспечивает хранение и эффективный доступ к данным больших двоичных объектов с использованием SQL Server 2008 и файловой системы NTFS. Здесь рассматриваются варианты хранения больших двоичных объектов, настройки Windows и SQL Server для работы с данными файлового потока, рекомендации по использованию FILESTREAM совместно с другими компонентами и детали реализации, в частности секционирование и производительность. Технический документ предназначен для архитекторов, ИТ-специалистов и администраторов базы данных, занимающихся анализом или внедрением FILESTREAM. Предполагается, что читатель знаком с Windows и SQL Server и владеет как минимум базовыми знаниями о принципах работы баз данных, в частности транзакциях. Введение В современном обществе данные создаются с невероятной быстротой, а для их хранения и управления ими часто требуются эффективные методы. Для этого существуют различные технологии, и выбор технологии часто зависит от характера данных — структурированных , частично структурированных  или неструктурированных .  Структурированными данными называются данные, которые удобно хранить в реляционной схеме, например это могут быть данные по продажам компании. Их можно хранить в базе данных вместе с таблицами, содержащими сведения о продаваемых компанией товарах, о клиентах и о продажах товаров клиентам. Такие данные можно получать и обрабатывать с помощью полнофункционального языка запросов, например Transact-SQL.

Upload: altiber

Post on 16-Oct-2015

122 views

Category:

Documents


5 download

TRANSCRIPT

SQL Server

: . (Paul S. Randal) (SQLskills.com) : (Alexandru Chirica), (Arkadi Brjazovski), (Prem Mehra), (Joanna Omel), (Mike Ruthruff), (Robin Dhamankar)

: 2008 . : SQL Server 2008

. SQL Server 2008 FILESTREAM, SQL Server 2008 NTFS. , Windows SQL Server , FILESTREAM , . , - , FILESTREAM. , Windows SQL Server , . , . , , . , , . , , . , Transact-SQL. , , , , . XML Microsoft SQL Server, , XQuery. (, ) ( ) , , . , . , , , . , BLOB. SQL Server 2008 FILESTREAM, SQL Server 2008 NTFS. FILESTREAM, , Windows SQL Server , FILESTREAM , , . , . . . . , SQL Server , NTFS. ( ). SQL Server, SQL Server ( ), . , , , SQL Server , SQL Server. . , , , SQL Server. , , (ACL). . , , 256 (, -) , 1 . 256 1 . (, varbinary (max)) 2 . . , SQL Server, ODBC, , . . . , , , . , , , . , . . SQL Server . , , (. . ). , SQL Server. . , , , . . . , , : To BLOB or Not to BLOB: Large Object Storage in a Database or a Filesystem? (Gray, Van Ingen, and Sears). , , .http://research.microsoft.com/research/pubs/view.aspx?msr_tr_id=MSR-TR-2006-45 , , . , FILESTREAM, SQL Server 2008.

SQL Server ( varbinary (max))FILESTREAM

NTFS2 1 NTFS

+

1. SQL Server 2008FILESTREAM , , , , . , . FILESTREAM FILESTREAM . FILESTREAM FILESTREAM SQL Server 2008. , (. . ) NTFS. API Win32, SQL Server.FILESTREAM , FILESTREAM . SQL Server . FILESTREAM , ( FILESTREAM). FILESTREAM FILESTREAM .FILESTREAM , varbinary (max). FILESTREAM , varbinary (max). , , SQL Server. FILESTREAM varbinary (max) , FILESTREAM. , varbinary (max) SQL Server 2008, 2 . FILESTREAM varbinary (max) ( NTFS). FILESTREAM NTFS, . FILESTREAM SQL Server , FILESTREAM Windows. FILESTREAM UNC. SQL Server FILESTREAM, . , FILESTREAM . FILESTREAM ( , ). , (, FILESTREAM). SQL Server FILESTREAM. FILESTREAM : Transact-SQL API Win32. DML, , , . FILESTREAM , , . FILESTREAM. FILESTREAM FILESTREAM. , FILESTREAM. FILESTREAM Transact-SQL Win32 API. . Transact-SQL Transact-SQL FILESTREAM , . FILESTREAM ( , NULL). Win32 . FILESTREAM . FILESTREAM NULL, , , . Transact-SQL, UPDATE.Write(), FILESTREAM. , FILESTREAM, , FILESTREAM, . FILESTREAM , FILESTREAM. Transact-SQL FILESTREAM . SQL Server 2008 FILESTREAM Transact-SQL (http://msdn.microsoft.com/ru-ru/library/cc645962.aspx). Win32 FILESTREAM , GET_FILESTREAM_TRANSACTION_CONTEXT () , . , . FILESTREAM . NULL, . FILESTREAM. FILESTREAM . PathName UNC- , FILESTREAM . Win32 Win32. NULL, FILESTREAM NULL. , FILESTREAM , Win32. , . Win32 SQL Server. , OpenSqlFilestream Win32 API Win32. , SqlFileStream API. Win32, ReadFile() WriteFile(), . , FILESTREAM . . (.. ). FILESTREAM Transact-SQL, . . , AFTER, , UPDATE. API- Win32 FILESTREAM . SQL Server 2008 FILESTREAM Win32 (http://msdn.microsoft.com/ru-ru/library/cc645940.aspx).

, . , , , , . . . FILESTREAM , FILESTREAM . , FILESTREAM . FILESTREAM FILESTREAM , . FILESTREAM FILESTREAM . . FILESTREAM Win32 API, READ COMMITTED. Transact-SQL REPEATABLE READ . , Transact-SQL READ UNCOMMITTED NOLOCK, FILESTREAM. . , . API ERROR_SHARING_VIOLATION, . , FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT , . SqlFileStream API ReadWrite. , . - , -. FSCTL , , . . FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT SQL Server 2008 (http://technet.microsoft.com/ru-ru/library/cc627407.aspx). FILESTREAM Server Message Block (SMB). , API. , API , API . API CTP- SQL Server 2008. , , ( ), . , , . , ( -), FILESTREAM . FILESTREAM , , . FILESTREAM FILESTREAM, . , , FILESTREAM. : . , FILESTREAM, ( ). . SQL Server FILESTREAM , SQL Server . NTFS ( FILESTREAM). , FILESTREAM ( 1 ). varbinary (max), FILESTREAM Transact-SQL FILESTREAM NTFS. , Win32 FILESTREAM , Transact-SQL varbinary (max) . , (/).

. 1. NTFS , , SQL Server, Win32 FILESTREAM. 4 SQL Server. , , Win32 API SQL Server. , FILESTREAM , API Win32. Windows FILESTREAM , , FILESTREAM, Windows, SQL Server FILESTREAM. , NTFS FILESTREAM. , FILESTREAM Windows. . , SQL Server, , - . , FILESTREAM Win32 API, . . Physical Database Storage Design TechNet (http://www.microsoft.com/technet/prodtechnol/sql/2005/physdbstor.mspx). , -. . Predeployment I/O Best Practices TechNet SQL Server Best Practices (http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx). FILESTREAM, , SQL Server. , FILESTREAM , . , , , , . , . SQL Server, FILESTREAM . FILESTREAM. RAID RAID , , , RAID, , . Physical Database Storage Design RAID RAID. , . RAID , , . , RAID 5 , . , RAID 10 ( ), , 50% RAID . , RAID. RAID , , , . FILESTREAM, FILESTREAM RAID, . . , RAID, , , , . , RAID FILESTREAM , , . , , . , FILESTREAM , , SATA ( SATA), SCSI. , . SCSI IDE/SATA, , . SATA , SCSI, . SATA 10 000 /, 5400 7200 /. SCSI 10 000 15 000 /. , (, ) ( , ). , -. , SATA Native Command Queue (NCQ), SCSI Command Tag Queue (CTQ), - . SCSI , , , . SQL Server , . - . TechNet SQL Server I/O Basics (http://www.microsoft.com/technet/prodtechnol/sql/2005/iobasics.mspx). SCSI SATA , SATA. ( ) . , . , . FILESTREAM . FILESTREAM FILESTREAM , ( ). , , , , FILESTREAM . SATA , , . NTFS. . SCSI , SATA , NTFS . . NTFS (.. FILESTREAM, , ). NTFS, NTFS , SQL Server , FILESTREAM (.. FILESTREAM). NTFS, NTFS , SQL Server , FILESTREAM (.. FILESTREAM ). , , , NTFS SATA, . FILESTREAM SATA , NTFS , FILESTREAM ( DBCC CHECKDB ). , FILESTREAM SATA , SATA . NTFS - , , ( NTFS) . , , FILESTREAM. NTFS . NTFS Technical Reference (http://technet.microsoft.com/ru-ru/library/cc758691.aspx) Working with File Systems (http://technet.microsoft.com/ru-ru/library/bb457112.aspx) TechNet. NTFS NTFS (.. FILESTREAM). NTFS, FILESTREAM. , , FILESTREAM. 8.3 ( ). , 16- . 8.3, 8.3 , . ( 300 000) . , , , , . , , .fsutil behavior set disable8dot3 1. 8.3 NTFS . - 16- , . , , . , . . , , .fsutil behavior set disablelastaccess 1 Windows , . , , ( , ). , . . . , , , , (. . ). , . . Windows Default Cluster Size for FAT and NTFS (NTFS, FAT http://support.microsoft.com/kb/140365). FILESTREAM , 1 . , NTFS FILESTREAM 64 . , NTFS 2 (T) 4 . /A . , :format F: /FS:NTFS /V:MyFILESTREAMContainer /A:64K , . , . , . , . , , , , , , .- , ( ) . , - . , . , , FILESTREAM, - , ., NTFS, . , , . , . , , , NTFS, . , , . , , NTFS 4096 . FILESTREAM, /C. :format F: /FS:NTFS /V:MyFILESTREAMContainer /A:4096 /C , .1. , .2. , .3. , .4. , . .

. 2. Windows

FILESTREAM NTFS, NTFS 1:1. , FILESTREAM SQL Server, NTFS. , FILESTREAM , . , FILESTREAM SQL Server. . FILESTREAM NTFS, FILESTREAM, SQL Server, FILESTREAM . FILESTREAM , , SQL Server., NTFS, FILESTREAM, SQL Server 2008, FILESTREAM SQL Server 2008. FILESTREAM. -, SQL Server . -, , SMB (445) . . . Service Overview and Network Port Requirements for the Windows Server System (http://support.microsoft.com/kb/832017). . FILESTREAM FILESTREAM ( ). , , . ( ). , SQL Server . , . SQL Server DBCC CHECKDB , , Windows . FILESTREAM WindowsFILESTREAM , Windows SQL Server . , , SQL Server Windows. FILESTREAM Windows . Windows . Windows FILESTREAM SQL Server 2008 SQL Server. .1. , Microsoft SQL Server 2008, SQL Server.2. SQL Server, .3. SQL Server SQL Server, FILESTREAM.4. .5. SQL Server FILESTREAM.6. FILESTREAM Transact-SQL.7. FILESTREAM Windows, FILESTREAM -. Windows Windows.8. , FILESTREAM FILESTREAM.9. . FILESTREAM, .

. 3. FILESTREAM SQL Server SQL Server, FILESTREAM. , FILESTREAM FILESTREAM , FILESTREAM SQL Server. , FILESTREAM Windows, SQL Server. SQL Server FILESTREAM . .

. 4. FILESTREAM SQL Server SQL Server FILESTREAM SQL Server, FILESTREAM, Windows, SQL Server. FILESTREAM FILESTREAM, , FILESTREAM. FILESTREAM SQL Server FILESTREAM, , FILESTREAM SQL Server 2008. FILESTREAM (.. Windows). Win32 FILESTREAM, Windows SQL Server. Transact-SQL FILESTREAM, Win32 , Windows, . Windows API - Windows. SQL Server - Windows, . FILESTREAM , SQL Server BUILTIN\Administrators . , , . FILESTREAM SQL Server ( FILESTREAM) SQL Server 2008. , FILESTREAM Windows NTFS, FILESTREAM ( Windows FILESTREAM). SQL Server FILESTREAM sp_configure, filestream_access_level . : 0 FILESTREAM . 1 FILESTREAM Transact-SQL. 2 FILESTREAM Transact-SQL Win32. , FILESTREAM Transact-SQL Win32.

EXEC sp_configure filestream_access_level, 2;GORECONFIGURE;GO

RECONFIGURE , . , FILESTREAM Windows, SQL Server . .

EXEC sp_configure filestream_access_level;GO

FILESTREAM Windows, config_value sp_configure (. . 0) run_value RECONFIGURE. FILESTREAM FILESTREAM Windows SQL Server, FILESTREAM. FILESTREAM . 1:1 FILESTREAM FILESTREAM. FILESTREAM , ALTER DATABASE. FILESTREAM .

ALTER DATABASE Production ADDFILEGROUP FileStreamGroup1 CONTAINS FILESTREAM;GO

CONTAINS FILESTREAM , . FILESTREAM , .

5591, 16, 3, 1 FILESTREAM .

, FILESTREAM Windows SQL Server, . FILESTREAM . , . , . FileStreamGroup1.

ALTER DATABASE Production ADD FILE (NAME = FSGroup1File,FILENAME = 'F:\Production\FSDATA')TO FILEGROUP FileStreamGroup1;GO

FSDATA. , . filestream.hdr. FILESTREAM . $FSLOG. FILESTREAM . , FILESTREAM. , . FILESTREAM FILESTREAM, , FILESTREAM. , FILESTREAM varbinary (max) FILESTREAM. FILESTREAM.

USE Production;GOCREATE TABLE DocumentStore (DocumentID INT IDENTITY PRIMARY KEY,Document VARBINARY (MAX) FILESTREAM NULL,DocGUID UNIQUEIDENTIFIER NOT NULL ROWGUIDCOLUNIQUE DEFAULT NEWID ())FILESTREAM_ON FileStreamGroup1;GO

FILESTREAM, FILESTREAM. FILESTREAM_ON , FILESTREAM, . . FILESTREAM , , FILESTREAM . . FILESTREAM , . , , FILESTREAM, uniqueidentifier ROWGUIDCOL. NULL UNIQUE PRIMARY KEY. GUID , DEFAULT, NEWID () ( NEWSEQUENTIALID (), , ). . CREATE TABLE (Transact-SQL) SQL Server 2008 http://msdn.microsoft.com/ru-ru/library/ms174979.aspx. FILESTREAM FILESTREAM FILESTREAM . , FILESTREAM FILESTREAM. , . , FILESTREAM, FILESTREAM ., , . , Windows SharePoint Services, . FILESTREAM (LSN) . LSN FILESTREAM . , , FILESTREAM. . FULL BULK_LOGGED . . . FILESTREAM , . . . CHECKPOINT SQL Server 2008 (http://msdn.microsoft.com/ru-ru/library/ms189573.aspx). , FILESTREAM , , , , . CHECKPOINT. , FILESTREAM, , FILESTREAM_ON , FILESTREAM, . , , FILESTREAM. ( CREATE TABLE CREATE CLUSTERED INDEX WITH DROP_EXISTING) . FILESTREAM , , , . () .

CREATE PARTITION FUNCTION DocPartFunction (INT)AS RANGE RIGHT FOR VALUES (100000, 200000);GO

CREATE PARTITION SCHEME DocPartScheme ASPARTITION DocPartFunction TO (Data_FG1, Data_FG2, Data_FG3);GO

CREATE PARTITION SCHEME DocFSPartScheme ASPARTITION DocPartFunction TO (FS_FG1, FS_FG2, FS_FG3);GO

CREATE TABLE DocumentStore (DocumentID INT IDENTITY PRIMARY KEY,Document VARBINARY (MAX) FILESTREAM NULL,DocGUID UNIQUEIDENTIFIER NOT NULL ROWGUIDCOLUNIQUE DEFAULT NEWID () ON Data_FG1)ON DocPartScheme (DocumentID)FILESTREAM_ON DocFSPartScheme;GO

, DocumentID , UNIQUE DocGUID, , DocumentID . , , UNIQUE , , . , , .

CREATE TABLE NonPartitionedDocumentStore (DocumentID INT IDENTITY PRIMARY KEY,Document VARBINARY (MAX) FILESTREAM NULL,DocGUID UNIQUEIDENTIFIER NOT NULL ROWGUIDCOLUNIQUE DEFAULT NEWID ());GO

ALTER TABLE DocumentStore SWITCH PARTITION 2 TO NonPartitionedDocumentStore;GO

. 7733, 16, 4, 1ALTER TABLE SWITCH . FileStreamTestDB.dbo.DocumentStore , UQ_Document_8CC1617F60ED59 . .

ALTER INDEX [UQ__Document__8CC331617F60ED59] ON DocumentStore DISABLE;GO

ALTER TABLE FileStreamTest3 SWITCH PARTITION 2 TO NonPartitionedFileStreamTest3;GO

. 4947, 16, 1, 1ALTER TABLE SWITCH . FileStreamTestDB.dbo.DocumentStore UQ_NonParti_8CC3316103317E3D FileStreamTestDB.dbo.NonPartitionedDocumentStore. , , , .

ALTER INDEX [UQ__NonParti__8CC3316103317E3D] ON NonPartitionedDocumentStore DISABLE;GO

ALTER TABLE DocumentStore SWITCH PARTITION 2 TO NonPartitionedDocumentStore;GO

ALTER INDEX [UQ__NonParti__8CC3316103317E3D] ONNonPartitionedDocumentStore REBUILD WITH (ONLINE = ON);ALTER INDEX [UQ__Document__8CC331617F60ED59] ONNonPartitionedDocumentStore REBUILD WITH (ONLINE = ON);GO

FILESTREAM SQL Server 2008. FILESTREAM , FILESTREAM . , - . uniqueidentifier, , , FILESTREAM 16 .

USE master;GO

-- CREATE DATABASE Production ON PRIMARY(NAME = 'Production', FILENAME = 'E:\Production\Production.mdf'),FILEGROUP DataFilegroup1(NAME = 'Data_FG1', FILENAME = 'F:\Production\Data_FG1.ndf'),FILEGROUP DataFilegroup2(NAME = 'Data_FG2', FILENAME = 'G:\Production\Data_FG2.ndf'),FILEGROUP FSFilegroup0 CONTAINS FILESTREAM(NAME = 'FS_FG0', FILENAME = 'H:\Production\FS_FG0'),FILEGROUP FSFilegroup1 CONTAINS FILESTREAM(NAME = 'FS_FG1', FILENAME = 'I:\Production\FS_FG1'),FILEGROUP FSFilegroup2 CONTAINS FILESTREAM(NAME = 'FS_FG2', FILENAME = 'J:\Production\FS_FG2'),FILEGROUP FSFilegroup3 CONTAINS FILESTREAM(NAME = 'FS_FG3', FILENAME = 'K:\Production\FS_FG3'),FILEGROUP FSFilegroup4 CONTAINS FILESTREAM(NAME = 'FS_FG4', FILENAME = 'L:\Production\FS_FG4'),FILEGROUP FSFilegroup5 CONTAINS FILESTREAM(NAME = 'FS_FG5', FILENAME = 'M:\Production\FS_FG5'),FILEGROUP FSFilegroup6 CONTAINS FILESTREAM(NAME = 'FS_FG6', FILENAME = 'N:\Production\FS_FG6'),FILEGROUP FSFilegroup7 CONTAINS FILESTREAM(NAME = 'FS_FG7', FILENAME = 'O:\Production\FS_FG7'),FILEGROUP FSFilegroup8 CONTAINS FILESTREAM(NAME = 'FS_FG8', FILENAME = 'P:\Production\FS_FG8'),FILEGROUP FSFilegroup9 CONTAINS FILESTREAM(NAME = 'FS_FG9', FILENAME = 'Q:\Production\FS_FG9'),FILEGROUP FSFilegroupA CONTAINS FILESTREAM(NAME = 'FS_FGA', FILENAME = 'R:\Production\FS_FGA'),FILEGROUP FSFilegroupB CONTAINS FILESTREAM(NAME = 'FS_FGB', FILENAME = 'S:\Production\FS_FGB'),FILEGROUP FSFilegroupC CONTAINS FILESTREAM(NAME = 'FS_FGC', FILENAME = 'T:\Production\FS_FGC'),FILEGROUP FSFilegroupD CONTAINS FILESTREAM(NAME = 'FS_FGD', FILENAME = 'U:\Production\FS_FGD'),FILEGROUP FSFilegroupE CONTAINS FILESTREAM(NAME = 'FS_FGE', FILENAME = 'V:\Production\FS_FGE'),FILEGROUP FSFilegroupF CONTAINS FILESTREAM(NAME = 'FS_FGF', FILENAME = 'W:\Production\FS_FGF');GO

USE Production;GO

-- 6 GUIDCREATE PARTITION FUNCTION LoadBalance_PF (UNIQUEIDENTIFIER)AS RANGE LEFT FOR VALUES ( CONVERT (uniqueidentifier, '00000000-0000-0000-0000-100000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-200000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-300000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-400000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-500000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-600000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-700000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-800000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-900000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-a00000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-b00000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-c00000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-d00000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-e00000000000'), CONVERT (uniqueidentifier, '00000000-0000-0000-0000-f00000000000'));GO

-- FILESTREAM, 16 FILESTREAMCREATE PARTITION SCHEME LoadBalance_FS_PSAS PARTITION LoadBalance_PF TO (FSFileGroup0, FSFileGroup1, FSFileGroup2, FSFileGroup3,FSFileGroup4, FSFileGroup5, FSFileGroup6, FSFileGroup7,FSFileGroup8, FSFileGroup9, FSFileGroupA, FSFileGroupB,FSFileGroupC, FSFileGroupD, FSFileGroupE, FSFileGroupF);GO

-- CREATE PARTITION SCHEME LoadBalance_Data_PSAS PARTITION LoadBalance_PF TO (DataFileGroup1, DataFileGroup2, DataFileGroup1, DataFileGroup2,DataFileGroup1, DataFileGroup2, DataFileGroup1, DataFileGroup2,DataFileGroup1, DataFileGroup2, DataFileGroup1, DataFileGroup2,DataFileGroup1, DataFileGroup2, DataFileGroup1, DataFileGroup2);GO

-- CREATE TABLE DocumentStore (DocumentID INT IDENTITY,Document VARBINARY (MAX) FILESTREAM NULL,DocGUID UNIQUEIDENTIFIER NOT NULL ROWGUIDCOLDEFAULT NEWID (),CONSTRAINT DocStorePK PRIMARY KEY CLUSTERED (DocGUID),CONSTRAINT DocStoreU UNIQUE (DocGUID))ON LoadBalance_Data_PS (DocGUID)FILESTREAM_ON LoadBalance_FS_PS;GO

.

SET NOCOUNT ON;GO

-- 10 000 DECLARE @count INT = 0;WHILE (@count < 10000)BEGININSERT INTO DocumentStore DEFAULT VALUES;SET @count = @count + 1;END;GO

-- SELECT COUNT ($PARTITION.LoadBalance_PF (DocGUID))FROM DocumentStoreGROUP BY $PARTITION.LoadBalance_PF (DocGUID);GO

631, 641, 661, 640, 649, 637, 618, 618, 576, 608, 595, 645, 640, 616, 602 623 FILESTREAM FS_FG0 FS_FGF. FILESTREAM , FILESTREAM SQL Server. , . . FILESTREAM SQL Server SQL Server 2008 (http://msdn.microsoft.com/ru-ru/library/bb895334.aspx). , FILESTREAM, , : SQL Server, , . , FILESTREAM, . varbinary (max), FILESTREAM, 2 . , FILESTREAM uniqueidentifier. , GUID (.. NEWSEQUENTIALID() NEWID()). FILESTREAM. FILESTREAM . , FILESTREAM, . FILESTREAM SQL Server. , FILESTREAM . FILESTREAM . FILESTREAM Windows, FILESTREAM , . . SQL Server 2008: FILESTREAM (http://msdn.microsoft.com/ru-ru/library/cc645886.aspx). FILESTREAM , varbinary (max). , , FILESTREAM. SQL Server FILESTREAM. FILESTREAM CREATE DATABASE ON, . FILESTREAM, - . FILESTREAM . , FILESTREAM. . , FILESTREAM, FILESTREAM , ., , , FILESTREAM INCLUDE . , FILESTREAM, . FILESTREAM. PRIMARY KEY, FOREIGN KEY UNIQUE FILESTREAM. FILESTREAM, . INSTEAD OF , FILESTREAM. FILESTREAM Win32 API, READ COMMITTED. Transact-SQL REPEATABLE READ . , Transact-SQL READ UNCOMMITTED NOLOCK, FILESTREAM. FILESTREAM (, ). , CONTINUE_AFTER_ERROR BACKUP RESTORE, FILESTREAM ( , CONTINUE_AFTER_ERROR). FILESTREAM, SQL Server Win32. FILESTREAM. -, - SQL Server 2008 , FILESTREAM Windows.SQL Server ExpressSQL Server Express FILESTREAM. 4 FILESTREAM. FILESTREAM SQL Server Express Service Broker, , Service Broker FILESTREAM . , - 4 . , Service Broker FILESTREAM. FILESTREAM FILESTREAM FILESTREAM SQL Server Express. FILESTREAM . , FILESTREAM . , 8.3 NTFS. , NTFS. , FILESTREAM . , FILESTREAM. , FILESTREAM , . , SMB FILESTREAM. Windows Server 2003 ; 60 . . , FILESTREAM ( FILESTREAM). , RAID . , . , FILESTREAM API . SQL Server 2008 FILESTREAM. , . FILESTREAM , FILESTREAM. , FILESTREAM . . , SQL Server , FILESTREAM Windows SQL Server. , FILESTREAM . FILESTREAM. , FILESTREAM. , , . FILESTREAM. FILESTREAM , FILESTREAM . , , , . ( ): FILESTREAM, FILESTREAM. FILESTREAM. , varbinary (max), FILESTREAM. , , AllocationSize API OpenSqlFilestream SqlFilestream. , , NTFS, . FILESTREAM , Transact-SQL, . tempdb, , . FILESTREAM . , . , Win32. , SetFilePointer. FILE_SEQUENTIAL_ONLY. , 60 ( ). FILESTREAM , FILESTREAM. , . FILESTREAM SQL Server 2008, SQL Server 2008 NTFS. . FILESTREAM . FILESTREAM , 1 , Transact-SQL, FILESTREAM. , FILESTREAM . , , FILESTREAM . , . , SQL Server 2008 RTM FILESTREAM, . , (, ). , , , SQL Server, , , , ., FILESTREAM Windows SQL Server, , , . , , .

.http://www.microsoft.com/sqlserver/: - SQL Serverhttp://technet.microsoft.com/ru-ru/sqlserver/: SQL Server http://msdn.microsoft.com/ru-ru/sqlserver/: SQL Server

? , . 1 () 5 () . : - , , - ? - , ? . 35