2018年11月9日 星期五

SQL Server 建立FileTable流程

SQL Server FileTable 啟用方法

設定方式

  1. 先開啟SQL Server Configuration
  2. 在內容內,選FileStream,啟用FileStream TransactionSQL存取及FileStream的IO存取
  3. 在伺服器執行個體上,修改伺服務屬性,將FileStream的存取層級設為已啟用完整存取
  4. 建立一個新的資料庫,在指定資料庫檔案時,先在FileStream的檔案群組中新增一個,然後再新增檔案的部分,新增一個檔案群組是剛剛建的FileStream的檔案群組。
  5. 再到資料庫的選項上面,設定FileStream 的目錄名稱並將非交易式存取設成Full
  6. 在資料庫中新增一個FileTable,透過SSMS可以產生SQL 語法建立,並且要建立Table的名稱和Table變成資料夾的名稱。

路徑說明

從以上的建立,就可以產生一個虛擬的網路路徑,這個路徑是
\電腦名稱<伺服器名稱><資料庫名稱><資料表名稱>
其中在
步驟2會設定 <伺服器名稱>
步驟5會設定 <資料庫名稱>
步驟6會設定 <資料表名稱>

測試效能

  • 雖然可以透過檔案總管直接開啟資料夾後複制檔案,但是複制的時間比沒有設定還要久。
  • 使用 C# 中 File.Copy 將 500GB的檔案從 (25MB x 20) 從資料夾複制到另一個資料夾,需時 ~ 230 ms
  • 用相同的方法,但是改複制到FileTable提供的資料夾,需時 > 2300 ms (有3xxxx, 5xxxx,7xxx,不穩定)

結論

效能影響很大,若對時間有考量,還是試試別的方法吧。

沒有留言:

張貼留言