SQLServer - как задать каталог для FileStream?
От: mDmitriy Россия  
Дата: 08.07.13 07:46
Оценка:
привет всем!

есть такой запрос:
USE MyDB
GO

CREATE TABLE MyFiles AS FILETABLE
  WITH
  (
    FILETABLE_DIRECTORY = 'E:\My\FileStream'
  )
GO

при проверке синтаксиса запроса выдает:

Сообщение 33402, уровень 16, состояние 1, строка 6
Указано недопустимое имя каталога "E:\Altium\FileStream". Укажите допустимое имя каталога Windows.

Все локально, каталог существует, права на него есть.
Э-э... чего ему не хватает? (MS SQL Server 2012)
FileStream
Re: SQLServer - как задать каталог для FileStream?
От: Olaf Россия  
Дата: 08.07.13 08:17
Оценка: 2 (1)
Здравствуйте, mDmitriy, Вы писали:

D>есть такой запрос:

D>...
D>при проверке синтаксиса запроса выдает:

D>
D>Сообщение 33402, уровень 16, состояние 1, строка 6
D>Указано недопустимое имя каталога "E:\Altium\FileStream". Укажите допустимое имя каталога Windows.
D>

D>Все локально, каталог существует, права на него есть.
D>Э-э... чего ему не хватает? (MS SQL Server 2012)

Необходимо указывать конкретный каталог, который будет привязан к файловой таблице, а не полный путь как делаете вы. Каталог на диске создается/удаляется автоматически при создании/удалении FILETABLE.
USE MyDB
GO

CREATE TABLE MyFiles AS FILETABLE
  WITH
  (
    FILETABLE_DIRECTORY = 'MyFileStream'
  )
GO
Re[2]: SQLServer - как задать каталог для FileStream?
От: mDmitriy Россия  
Дата: 08.07.13 08:46
Оценка:
Здравствуйте, Olaf, Вы писали:

O>CREATE TABLE MyFiles AS FILETABLE

O> WITH
O> (
O> FILETABLE_DIRECTORY = 'MyFileStream'
O> )
O>GO
O>[/sql]

Понятно, спасибо!
А где будет располагаться физически этот самый 'MyFileStream'?
Re[3]: SQLServer - как задать каталог для FileStream?
От: Olaf Россия  
Дата: 08.07.13 10:02
Оценка: 72 (2)
Здравствуйте, mDmitriy, Вы писали:

D>А где будет располагаться физически этот самый 'MyFileStream'?


Если говорить про физическое хранение на диске, то файлы будут храниться в FILESTREAM файловой группе, в которой создана ваша FILETABLE. Посмотреть можно через запрос, либо в свойствах БД через SSMS
select db.physical_name, t.name, ft.directory_name
from sys.filetables ft 
join sys.tables t on ft.object_id = t.object_id
join sys.filegroups fg on fg.data_space_id = t.filestream_data_space_id
join sys.database_files db on db.data_space_id = fg.data_space_id
Re[4]: SQLServer - как задать каталог для FileStream?
От: mDmitriy Россия  
Дата: 09.07.13 06:08
Оценка:
Здравствуйте, Olaf, Вы писали:

O>Здравствуйте, mDmitriy, Вы писали:


D>>А где будет располагаться физически этот самый 'MyFileStream'?


O>Если говорить про физическое хранение на диске, то файлы будут храниться в FILESTREAM файловой группе, в которой создана ваша FILETABLE. Посмотреть можно через запрос, либо в свойствах БД через SSMS

O>
O>select db.physical_name, t.name, ft.directory_name
O>from sys.filetables ft 
O>join sys.tables t on ft.object_id = t.object_id
O>join sys.filegroups fg on fg.data_space_id = t.filestream_data_space_id
O>join sys.database_files db on db.data_space_id = fg.data_space_id
O>

Понятно, спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.