Sql-Server

SQL Server 在沒有 SQL Server 配置管理器的情況下啟用文件流(因此僅通過命令行)

  • August 18, 2020

我在 Windows Server 2019 Core 安裝上安裝了 SQL Server 2017,沒有 GUI。我們的一位使用者想要使用 Filestream。我嘗試遵循此設置但是,由於它需要 SSCM,因此我無法完成該部分。我可以在 SSMS 中啟用,但是無法設置文件位置等,因此在設置頁面上執行儲存過程命令時出現此錯誤:

無法初始化 FILESTREAM 功能。作業系統管理員必須使用 Configuration Manager 在實例上啟用 FILESTREAM。

當我通過電腦管理視窗遠端連接到 SSCM 並嘗試打開服務時,將不會顯示任何服務。我可以訪問網路選項,但不能訪問服務,所以這些服務可能無法遠端工作?核心安裝和我嘗試使用的 GUI 版本之間的防火牆已關閉。

有人可以像通過 SSCM 一樣遠端啟用 Filestream 並設置所需的參數嗎?

提前致謝。

註冊編輯

您可以更改實例文件流設置的系統資料庫設置。以下是該master..xp_regwrite過程的範例。

如果為實例禁用了文件流,則會顯示:

在此處輸入圖像描述

用配置管理器查看時也是如此:

在此處輸入圖像描述


通過 SSMS / SQLCMD / …

因此,您可以更改EnableLevelFilestream 系統資料庫項的值。請記住MSSQL14.MSSQLSERVER在下面的範例中更改為您的 sql server 實例。

EXEC master..xp_regwrite
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQLServer\Filestream',
'EnableLevel',
'REG_DWORD',
3

這會將值更改為完全文件流訪問:

在此處輸入圖像描述

這可以通過配置管理器進行驗證:

在此處輸入圖像描述

與往常一樣,更改系統資料庫需要您自擔風險。備份系統資料庫也是一個好主意。

更改這些設置後,您必須重新啟動 sql server 實例並配置filestream_access_level.


額外的資訊

2級:

EXEC master..xp_regwrite
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQLServer\Filestream',
'EnableLevel',
'REG_DWORD',
2

在此處輸入圖像描述

正如預期的那樣,第 1 級:

EXEC master..xp_regwrite
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQLServer\Filestream',
'EnableLevel',
'REG_DWORD',
1

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/249847