Sql-Server

如何修復文件流?

  • May 20, 2013

我有 SQL Server 2008 R2,當我嘗試訪問儲存在文件流中的任何值時,我收到以下錯誤:

Msg 233, Level 20, State 0, Line 0

從伺服器接收結果時發生傳輸級錯誤。(提供者:共享記憶體提供者,錯誤:0 - 管道的另一端沒有程序。)

SQL ERRORLOG 文件中還引發以下錯誤:

SqlDumpExceptionHandler:程序 51 生成致命異常 c0000005 EXCEPTION_ACCESS_VIOLATION。SQL Server 正在終止此程序。

我閱讀了有關該異常的資訊,Microsoft 有它的 KB ( KB972936 ),但在我安裝了它的修補程序後它也沒有工作。

如果我SELECT使用該表中的記錄計數:

SELECT COUNT(1) FROM [Table_Name]

我得到正確的結果。

以下是數據庫文件和文件組的一些詳細資訊。數據庫有 2 個文件,即“行數據”文件和“日誌”文件,其中還應包含“文件流數據”項。

該數據庫具有以下文件組:

  • 行:帶 1 個文件的主
  • 文件流:$$ MyFileName $$有 0 個文件!

這是數據庫屬性頁面的快照

這是完整的 SQL ERRORLOG 文件

該錯誤似乎指向 SQL Server 服務帳戶無法訪問文件流數據。嘗試使用 SQL Server 配置管理器(不是 Windows 服務管理器!)將 SQL Server 服務帳戶更改為內置帳戶之一。然後將其更改回原始帳戶(您需要在這裡知道密碼!)。

這應該可以解決任何訪問權限問題。但是,它將導致兩次服務重新啟動。

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