Sql-Server
SQL Server 在沒有 SQL Server 配置管理器的情況下啟用文件流(因此僅通過命令行)
我在 Windows Server 2019 Core 安裝上安裝了 SQL Server 2017,沒有 GUI。我們的一位使用者想要使用 Filestream。我嘗試遵循此設置,但是,由於它需要 SSCM,因此我無法完成該部分。我可以在 SSMS 中啟用,但是無法設置文件位置等,因此在設置頁面上執行儲存過程命令時出現此錯誤:
無法初始化 FILESTREAM 功能。作業系統管理員必須使用 Configuration Manager 在實例上啟用 FILESTREAM。
當我通過電腦管理視窗遠端連接到 SSCM 並嘗試打開服務時,將不會顯示任何服務。我可以訪問網路選項,但不能訪問服務,所以這些服務可能無法遠端工作?核心安裝和我嘗試使用的 GUI 版本之間的防火牆已關閉。
有人可以像通過 SSCM 一樣遠端啟用 Filestream 並設置所需的參數嗎?
提前致謝。
註冊編輯
您可以更改實例文件流設置的系統資料庫設置。以下是該
master..xp_regwrite
過程的範例。如果為實例禁用了文件流,則會顯示:
用配置管理器查看時也是如此:
通過 SSMS / SQLCMD / …
因此,您可以更改
EnableLevel
Filestream 系統資料庫項的值。請記住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