【SQL Server】開啟好用的 FileTable 設定

【SQL Server】開啟好用的 FileTable 設定
這邊先說明一下本身案例好了:最近公司老闆說系統需要有一個檔案上傳的功能,並且需要檔案管理方便,所以選擇了SQL Server 2012 提供的 FileTable的功能,以API對FileTable進行存取資料,在localhost端的時候可以正常的讀寫FileTable的資料,而發佈到IIS中總是出現錯誤的資訊,後來看到大頭目兼好友的Sky大哥的文章和Study4.TW的成員討論得以順利完成,而這邊紀錄一下自己所處裡的方法與程式碼與大家分享,但因篇幅問題分成兩篇來分享,本篇介紹FileTable的設定方法。
FileTable是SQL Server 2012開始提供的功能,要開啟此功能可以在SQL Server 組態管理員中開啟
【SQL Server 服務】>【SQL Server】(右鍵)>【內容】>【FileStream】

這邊先說明一下本身案例好了:最近公司老闆說系統需要有一個檔案上傳的功能,並且需要檔案管理方便,所以選擇了SQL Server 2012 提供的 FileTable的功能,以API對FileTable進行存取資料,在localhost端的時候可以正常的讀寫FileTable的資料,而發佈到IIS中總是出現錯誤的資訊,後來看到大頭目兼好友的Sky大哥的文章和Study4.TW的成員討論得以順利完成,而這邊紀錄一下自己所處裡的方法與程式碼與大家分享,但因篇幅問題分成兩篇來分享,本篇介紹FileTable的設定方法。

 

FileTable是SQL Server 2012開始提供的功能,要開啟此功能可以在SQL Server 組態管理員中開啟

【SQL Server 服務】>【SQL Server】(右鍵)>【內容】>【FileStream】

image

image

接下來,我們需要開啟FileStream存取的權限

這邊可以透過SSMS的介面操作,也可以透過SQL指令的方式處理這個步驟完成後,需要將您的SQL Server重新啟動

【SQL Server】(右鍵)>【屬性】>【進階】>【FileStream存取層級】(更改為)>【已啟用完整存取】

image

指令如下:

EXEC sp_configure filestream_access_level, 2 
RECONFIGURE

image

重新啟動SQL Server後,先針對您要開啟FileTable的資料庫,設定FileStream

【要開啟FileTable的資料庫】(右鍵)>【屬性】>【檔案群組】>【加入】

image

FileStream設定完畢後,要新增一個FileStream的檔案到資料庫中

【要開啟FileTable的資料庫】(右鍵)>【屬性】>【檔案】>【加入】

檔案類型要選擇【FileStream】再輸入上名稱,新增完畢後切換到選項的頁簽中

 

image

image

按下確認後即可建立FileTable,建立FileTable有兩個方法,一個是使用SQL Server中提供的範本修改或是直接輸入指令

image(取得範本方法)

 

-- =========================================
-- Create FileTable template
-- =========================================
USE <database, sysname, AdventureWorks>
GO

IF OBJECT_ID('<schema_name, sysname, dbo>.<table_name, sysname, sample_filetable>', 'U') IS NOT NULL
  DROP TABLE <schema_name, sysname, dbo>.<table_name, sysname, sample_filetable>
GO

CREATE TABLE <schema_name, sysname, dbo>.<table_name, sysname, sample_filetable> AS FILETABLE
  WITH
  (
    FILETABLE_DIRECTORY = '<file_table_directory_name, sysname, sample_filetable>',
    FILETABLE_COLLATE_FILENAME = <file_table_filename_collation, sysname, database_default>
  )
GO

 

 

CREATE TABLE dbo.FileTable AS FILETABLE
  WITH
  (
    FILETABLE_DIRECTORY = 'FileTable',
    FILETABLE_COLLATE_FILENAME = database_default
  )
GO

上述語法執行後,就可以看到您的FileTable了,在FileTable的資料表案右鍵點選瀏覽FileTable目錄,就可以看到FileTable的UNC路徑,此時您只要把檔案拖曳進到這個資料夾中,資料庫就會同步更新囉!

以上是開啟FileTable的方法

【FileTable】(右鍵)>【瀏覽FileTable目錄】

image

 

 

 

【參考連結】

http://www.dotblogs.com.tw/skychang/archive/2013/06/17/105580.aspx

http://www.dotblogs.com.tw/skychang/archive/2013/07/15/110054.aspx

 


 

大家好我是饅頭,希望大家喜歡我的文章

如果有錯誤的地方請不吝指教 ^_^