Sqlserver2008 FileStream解決圖片存儲問題

SQLserver FileStream的出現就是爲了解決對大對象的存儲中一個矛盾。

對於圖片的存儲方式數據庫

第一種:方式是存儲在數據庫裏面,這種方式通常使用image字段,或者varbinary(max)來作。好處是能夠統一備份,但實際上讀取效率比較低。大於1MB的文件就會有問題

第二種:方式是文件存儲在文件系統,而數據庫中存儲了一個路徑。這種方式數據庫壓力減輕了,卻很不方便統一備份和管理。

SQL SERVER 2008的文件流其實就是兩者的統一。文件仍是放在文件系統的,但由數據庫進行管理。能夠統一備份和還原。FILESTREAM不是一個字段類型,它定義在字段後面,聲明該列用於文件流便可。該列依然是用二進制保存的
通常都是在數據庫中要特別添加一個文件組和一個或多個文件用來存儲FileStream的數據的。服務器

具體操做spa

1)啓用服務器實例上的FILESTREAM(文件流)server

打開SQL Server配置管理器,在SQL Server服務上點擊右鍵,而後點擊打開,在你想要啓用FILESTREAM(文件流)的SQL Server實例上點擊右鍵,從右鍵菜單中選擇「屬性」,切換到FILESTREAM(文件流)標籤,檢查「爲Transact-SQL訪問啓用FILESTREAM(文件流)」選項,你也能夠在這個標籤頁爲文件I/O流訪問啓用FILESTREAM(文件流)對象

2)爲數據庫實例啓用FILESTREAM(文件流)圖片

執行系統存儲過程sp_configure,並設置filestream_access_level參數的值爲2效率

EXEC sp_configure filestream_access_level, 2
GO

 
stream

 

filestream_access_level參數有效的值包括:配置

 

◆ 0 在該實例上禁用FILESTREAM(文件流),這是默認值。file

 

◆ 1 爲Transact-SQL訪問啓用FILESTREAM(文件流)

 

◆ 2 爲Transact-SQL和Win32流訪問啓用FILESTREAM(文件流)

通過這兩個步驟後,FILESTREAM特性就被啓用了,再進行導入,就沒問題了

相關文章
相關標籤/搜索