PS:根據微軟官方說法,在這介紹的部份都只是先行預覽的功能,所以實際上的功能還是會以最後的版本為主。
大部份企業的資料都屬於非結構性,意思上代表可以經由Win32 API來進行檔案系統的管理,但是如果你的檔案資料是放在資料庫中時,因為資料庫不支援大部份的Win32 API,所以並無法有效的透過資料庫管理,所以大部份非結構化的資料通常不放置在資料庫中,經由一般的應用程式管理。
FileTable功能上是建構在一個已存在的FILESTREAM上,透過此功能可以有效的儲存非結構化的資料在SQL Server的資料庫中,並提供應用程式進行非交易式的存取,而且可以整合系統管理與資料庫的服務並有效的使用Win32 API來管理資料與檔案。
FileTable 儲存架構
FileTables是一個特別的使用者定義的表格,可以用來儲存FILESTREAM的資料、檔案、目錄架構資訊和檔案屬性資訊等,每個FileTable代表著一個檔案或目錄層級,而每一列則是對應到指定的目錄或檔案中。
FileTables基本上是以Win32 API為底層並透過Windows SMB分享與SQL Server所支援的檔案與目錄管理架構,當一個應用程式在SMB中產生或修改檔案與目錄時,任何的改變將會經由SQL Server自動偵測後反應在FileTable之中。
FileTables同樣支援一般的Transact-SQL存取,可以用相同的方式進行查詢或更新的動作至其他的資料表。資料庫上所有的管理工具,如backup、replication和HADR也是相同的支援。
在FileTable中的每一列包含下列的欄位:
FileTables同樣支援一般的Transact-SQL存取,可以用相同的方式進行查詢或更新的動作至其他的資料表。資料庫上所有的管理工具,如backup、replication和HADR也是相同的支援。
在FileTable中的每一列包含下列的欄位:
- 一個FILESTREAM欄位包含串流資料(stream data)和檔案的編號(GUID). 如果FILESTREAM的欄位為NULL時,代表這是一個目錄。
- 欄位中path_locator與parent_path_locator主要用來維護層級架構,此欄位將會秀出檔案的屬性如建立時間與修改時間等,而這些屬性會經由檔案I/O的API來處理。
- 在Type欄位與Language欄位支援由全文檢索服務(Full-Text Search)來進行處理的動作。
- http://msdn.microsoft.com/en-us/library/ff929068(v=sql.110).aspx
- http://msdn.microsoft.com/en-us/library/ff929144(v=sql.110).aspx
FileTables 欄位參考(Link):
File attribute name
|
type
|
Size
|
Default
|
path_locator
|
hierarchyid
|
variable
|
A hierarchyid value that is a child of this FileNamespace
|
stream_id
|
[uniqueidentifier] rowguidcol
|
A value returned by the NEWID() function.
| |
file_stream
|
varbinary(max) filestream
|
variable
|
NULL
|
file_type
|
nvarchar(255)
|
variable
|
A file system create or rename operation will populate the file extension value from the name.
|
Name
|
nvarchar(255)
|
variable
|
GUID value.
|
parent_path_locator
|
hierarchyid
|
variable
|
A hierarchyid value that corresponds to the root of this FileNamespace.
|
cached_file_size
|
Bigint
| ||
creation_time
|
datetime2
|
8 bytes
|
CurrentTime
|
last_write_time
|
datetime2
|
8 bytes
|
CurrentTime
|
last_access_time
|
datetime2
|
8 bytes
|
CurrentTime
|
is_directory
|
bit
|
1 byte
|
FALSE
|
is_offline
|
bit
|
1 byte
|
FALSE
|
is_hidden
|
bit
|
1 byte
|
FALSE
|
is_readonly
|
bit
|
1 byte
|
FALSE
|
is_archive
|
bit
|
1 byte
|
FALSE
|
is_system
|
bit
|
1 byte
|
FALSE
|
is_temporary
|
bit
|
1 byte
|
FALSE
|
其他相關網址:
- SQL Server 2012 Code Name(Denali) 新功能介紹與預覽
- SQL Server 2012(Code Name Denali) - 新T-SQL語法介紹 – 分頁功能
- SQL Server 2012(Code Name Denali) - 新T-SQL語法介紹 – Sequence
- SQL Server 2012(Code Name Denali) - 新T-SQL語法介紹 – Code Snippet Manager
- SQL Server 2012(Code Name Denali) - 以列為主的新儲存方式(雲端儲存架構)
- SQL Server 2012(Code Name Denali) - FileTable介紹
- 微軟介紹雲端平台就緒的資訊 - TechEd 2011
- SQL Server 2012 (Code Name Denali) - HA 新功能 - AlwaysOn
- SQL Server 2012 (Code Name Denali) - AlwaysOn 安裝與設定教學
沒有留言:
張貼留言