Ограничить удаление данных контейнера файлового потока в файловой системе - PullRequest
0 голосов
/ 21 октября 2011

Только что наблюдалось в SQL Server Express 2008 R2, я могу вручную удалить файлы файлового потока для каждой строки таблицы в файловой системе.При удалении приложение выдает ошибку

Произошла ошибка транспортного уровня при получении результатов с сервера.(провайдер: поставщик общей памяти, ошибка: 0 - на другом конце канала нет процесса.)

Есть ли способ ограничить операцию удаления в файловой системе при использовании файлового потока, чтобы избежать этого?

Я следую этой статье Ссылка

В разделе «Потоковый доступ к файловой системе» указано, что

Поскольку файловые операции являются транзакционными,невозможно удалить или переименовать файлы FILESTREAM через файловую систему.

Однако я могу удалить их.

1 Ответ

1 голос
/ 25 октября 2011

По предоставленной вами ссылке

Только учетная запись, под которой запускается учетная запись службы SQL Server, предоставил разрешения NTFS для контейнера FILESTREAM. Мы рекомендуем что никакой другой учетной записи не будет предоставлено разрешение на контейнер данных.

это именно то, что вы видите ...

Это, в свою очередь, означает, что ваша установка небезопасна - учетная запись компьютера и учетная запись службы SQL Server должны отличаться, а учетная запись компьютера НЕ должна иметь доступ к этим частям файловой системы!

...