我有 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 Server 服务帐户无法访问文件流数据。尝试使用 SQL Server 配置管理器(不是 Windows 服务管理器!)将 SQL Server 服务帐户更改为内置帐户之一。然后将其更改回原始帐户(您需要在这里知道密码!)。
这应该可以解决任何访问权限问题。但是,它将导致两次服务重新启动。