解決SQLSERVER在還原數據時出現的“FILESTREAM功能被禁用”問題
今天由於測試需要,在網上下載了Adventureworks2008實例數據庫的BAK文件,進行還原時出現了這樣的錯誤“FILESTREAM功能被禁用”,如下圖所示:

遇到上面的問題,我們通常的做法是通過SQLSERVER配置管理器,對SQLSERVER實例服務做如下設置再重啟SQLSERVER實例服務即可成功,如下圖所示:

一般情況通過上面的設置,即可成功還原,但在還原Adventureworks2008數據庫時,通過上面的設置后,還是不能成功還原,錯誤依舊,還得重新找其他可靠方法,通過查看MSDN的幫助文件,得知其因SQLSERVER的訪問級別造成,手動不行,就用命令,通過執行下面的命令后,即可成功還原。
USE master GO EXEC sp_configure filestream_access_level, 2 RECONFIGURE
再次附加,即可成功。

附注:
使用 filestream_access_level 選項可以更改此 SQL Server 實例的 FILESTREAM 訪問級別。
注意 |
|---|
| 必須先啟用 Windows FILESTREAM 管理設置,然后此選項才會生效。 可以在安裝 SQL Server 時啟用這些設置,也可以使用 SQL Server 配置管理器進行啟用。 |
| 值 |
定義 |
|---|---|
| 0 |
為此實例禁用 FILESTREAM 支持。 |
| 1 |
針對 Transact-SQL 訪問啟用 FILESTREAM。 |
| 2 |
針對 Transact-SQL 和 Win32 流訪問啟用 FILESTREAM。 |
在此僅做下記錄,幫助遇到同樣問題的人,少走彎路。
歡迎加入數據庫交流群(多位DBA陣容),群號:190401986 (注:博客園邀請進入)

注意