无法创建启用文件流的DB

时间:2012-05-03 11:48:01

标签: sql-server sql-server-2008 sql-server-express filestream

当我尝试使用带有以下查询的启用了文件流的DB创建简单数据库时:

CREATE DATABASE Archive
ON
PRIMARY ( NAME = Arch1,
FILENAME = 'c:\data\archdat1.mdf'),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = Arch3,
FILENAME = 'c:\data\filestream1')
LOG ON  ( NAME = Archlog1,
FILENAME = 'c:\data\archlog1.ldf')
GO

然后会出现以下错误..

Msg 5120, Level 16, State 106, Line 1

Unable to open the physical file "c:\data\filestream1". Operating system error -2147024891: "0x80070005(failed to retrieve text for this error. Reason: 1815)".

我确信每个人都对“c:\ data \”目录拥有完全控制权限。 我确定文件流已启用级别1

我也尝试将DB文件位置更改为默认的sql数据文件夹相同的结果..

我还尝试手动创建“c:\ data \ filestream1”目录 我会有以下错误:

Msg 5170, Level 16, State 2, Line 1

Cannot create file 'c:\data\filestream1' because it already exists. Change the file path or the file name, and retry the operation.

如果有人知道如何解决这个问题,请帮助我..

提前致谢

1 个答案:

答案 0 :(得分:0)

真正的答案如下:

  1. 确保已启用FileStream。开始/程序/ SQL Server 2008 /配置工具/ SQL Server配置

  2. 点击本地服务并转到“属性”

  3. 单击“FileStream的选项卡”,如果未选中,请选中“为Transact SQL启用FileStream”,选中“为本地文件启用FileStream”。确保在文本框

  4. 中指定了所需的SQLSERVICE
  5. 在LogOn选项卡上,确保使用LOCAL SERVICE启动服务

  6. 点击确定

  7. 您的脚本应该能够创建数据库。如果失败,请转到控制面板/管理工具/服务/

    查找所需的SQL Server,验证登录是否为本地服务,并选中“允许此服务与桌面交互”复选框。