【发布时间】:2011-03-03 16:02:38
【问题描述】:
我正在做一个练习:How to Detach and Attach a SQL Server FILESTREAM Enabled Database
在步骤创建启用 FILESTREAM 的数据库我执行以下代码
Use Master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'FileStreamDB')
DROP DATABASE FileStreamDB
GO
USE master
GO
CREATE DATABASE [FileStreamDB] ON PRIMARY
( NAME = N'FileStreamDB', FILENAME = N'D:\FileStreamDB\FileStreamDB.mdf',
SIZE = 10MB , MAXSIZE = UNLIMITED, FILEGROWTH = 10% )
LOG ON
( NAME = N'FileStreamDB_log', FILENAME = N'D:\FileStreamDB\FileStreamDB_log.ldf' ,
SIZE = 10MB , MAXSIZE = UNLIMITED , FILEGROWTH = 10%)
GO
ALTER DATABASE [FileStreamDB]
ADD FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM
GO
在我运行最后一步之前一切正常:
ALTER DATABASE [FileStreamDB]
ADD FILE (NAME = N'FileStreamDB_FSData', FILENAME = N'D:\FileStreamDB\FileStreamData')
TO FILEGROUP FileStreamGroup
GO
执行此代码时,我收到以下错误:
消息 5120,第 16 级,状态 106,第 1 行 无法打开物理文件“D:\FileStreamDB\FileStreamData”。 操作系统错误-2147024891: "0x80070005(获取文本失败 对于这个错误。原因:1815)”。
我在 Windows XP Professional 上运行 SQL Server 2008 Enterprise(评估许可证)。文件流配置为microsoft instructions
该错误的原因可能是什么?
【问题讨论】:
-
您是否先在
'D:\FileStreamDB\FileStreamData'创建了一个空文件夹? -
@Martin,不,但如果我这样做,我会收到另一个错误:消息 5170,级别 16,状态 2,第 1 行无法创建文件 'D:\FileStreamDB\FileStreamData',因为它已经存在。更改文件路径或文件名,然后重试操作。
-
我猜乔的答案看起来很可能。
-
@Martin - 谢谢,我会尝试 Joe 的建议
标签: sql-server sql-server-2008 filestream