Файловый поток SQL Server 2008: ошибка при создании базы данных с файловым потоком - PullRequest
3 голосов
/ 03 марта 2011

Я выполняю упражнение: Как отсоединить и подключить базу данных с поддержкой FILESTREAM на сервере SQL *

На шаге Создание базы данных с поддержкой 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) ".

Я использую SQL Server 2008 Enterprise (ознакомительная лицензия) в Windows XP Professional. Файловый поток настроен в соответствии с инструкциями Microsoft

Что может быть причиной этой ошибки?

Ответы [ 3 ]

3 голосов
/ 03 марта 2011

Вероятно, это вопрос разрешений.Необходимо предоставить явные разрешения учетной записи службы SQL Server для D:\FileStreamDB.

2 голосов
/ 29 февраля 2012

Вы используете Windows XP .Если вы также используете Сетевая служба или Локальная система в качестве учетной записи SQL Server, вы можете столкнуться с этой ошибкой:

http://connect.microsoft.com/SQLServer/feedback/details/435855/operating-system-error-2147024891-0x80070005-access-is-denied

самое простое решение - использовать другую учетную запись для SQL Server.Второй вариант - загрузить исправление XP, указанное в ссылке.Мне это не нравится;Исправление выпущено в 2010 году и не выглядит обслуживаемым и интегрировано в новые исправления XP.По крайней мере, моя система XP обновлена ​​относительно исправлений, и у меня все еще была проблема.

Я только три часа потратил впустую, ища источник проблемы, прежде чем нашел ссылку, которая подтверждает, что этоошибка в Windows XP.После изменения учетной записи SQL Server теперь она работала сразу.

0 голосов
/ 22 октября 2014

Получена та же ошибка на MS SQL 2014. Проверено ACL три раза.Проблема заключалась в том, что я использовал путь к папке файлового потока через функцию связанных папок в NTFS.Реальный физический путь, основанный на настоящем письме на жестком диске, работает как чудо.

PS Файловые пути для других типов файлов базы данных работают правильно даже через связанные папки.

...