2013-05-18 9 views
1

Я работаю над созданием FileTable в SQL Server 2012. Я хочу хранить файлы в SAN (Storage Area Network). Я сопоставил его с диском на сервере sql.создать группу файловой системы, указывающую на SAN

Чтобы использовать FileTable, мне нужно настроить группу файловых систем. Я использую следующий сценарий, но не в состоянии получить это правильно:

ALTER DATABASE [MyDatabase] 
ADD FILE 
(
    NAME = FileStreamFile, 
    FILENAME= '\\123.456.789.001\MyFolder', 
    MAXSIZE = UNLIMITED 
    ) 
TO FileGroup MyFileStreamGroup 
END 

Запись у меня есть для FileName всегда кажется, не в состоянии. Как настроить FileStreamGroup на SAN и, в свою очередь, я буду использовать для создания таблицы файлов?

ответ

0

Во-первых, вам нужно создать файловую группу:

ALTER DATABASE [MyDatabase] 
ADD FILEGROUP [MyFileStreamGroup] 

Затем вы можете добавить в него файлы:

ALTER DATABASE [MyDatabase] 
ADD FILE ( 
    NAME = N'NewDataFile' 
    ,FILENAME = N'\\123.456.789.001\MyFolder\NewDataFile.mdf' 
    ,SIZE = 1024KB 
    ,FILEGROWTH = 1024KB 
) TO FILEGROUP [MyFileStreamGroup] 

И, наконец, вы можете создать таблицы:

CREATE TABLE [MyDatabase].[dbo].[NewTable] (
    [Id] int NOT NULL, 
    [Text] varchar(50) NOT NULL 
) ON [MyFileStreamGroup] 

По указывая ON [MyFileStreamGroup], вы вынуждаете его создавать в этой файловой группе, которая, в свою очередь, будет использовать вновь созданный файл на SAN. Если вы не укажете filegrop, таблица окажется в стандартной по умолчанию, которая обычно называется PRIMARY. Если вы хотите, чтобы новая файловая группа будет по умолчанию, вы можете использовать:

ALTER DATABASE [MyDatabase] 
MODIFY FILEGROUP [MyFileStreamGroup] DEFAULT 
+0

Я получаю эту ошибку, когда пытаюсь, что для файла FILESTREAM нельзя использовать «Путь» \\ 123.456.789.001 \ MyFolder \ NewDataFile.mdf. Сведения о поддерживаемых путях см. В электронной документации по SQL Server.2 – amateur

+0

О, Я забыл добавить CONTAINS FILESTREAM в ADD FILEGROUP. Вы правы, я получаю ту же ошибку. Похоже, что на удаленном пути невозможно получить файл данных filestream. Я нашел это: http://www.sqlskills.com/ blogs/paul/misconceptions-around-filestream-storage/который говорит: «Контейнер данных FILESTREAM для базы данных должен быть размещен на томе NTFS на локально подключенном хранилище». – TheQ

1

Как вы нашли, вы не можете поместить FileStream файлы на удаленный диск, используя путь UNC. Лучше всего создать LUN на вашей SAN и подключиться к нему через iSCSI, таким образом диск будет отображаться как локальный для SQL-сервера, но все равно будет физически находиться в SAN.

Возможно, вам захочется поговорить с администратором хранилища об этом.