Как включить filestream в SQL Server: пошаговое руководство для начинающих
EXEC sp_configure 'filestream_access_level', 2;
RECONFIGURE;
Этот запрос включает доступ к Filestream для всего сервера.
3. Создайте файловую группу для Filestream данных. Это можно сделать с помощью следующего запроса:
ALTER DATABASE YourDatabase
ADD FILEGROUP YourFilegroup CONTAINS FILESTREAM;
Здесь "YourDatabase" - это имя вашей базы данных, а "YourFilegroup" - это имя вашей файловой группы для Filestream данных.
4. Добавьте Filestream контейнер в созданную файловую группу. Это можно сделать с помощью следующего запроса:
ALTER DATABASE YourDatabase
ADD FILE (NAME = 'YourFile', FILENAME = 'C:\YourFilePath')
TO FILEGROUP YourFilegroup;
Здесь "YourDatabase" - это имя вашей базы данных, "YourFile" - это имя файла Filestream контейнера, "C:\YourFilePath" - это путь к расположению контейнера на диске, а "YourFilegroup" - это имя вашей файловой группы для Filestream данных.
После выполнения этих шагов Filestream будет включен в вашем SQL Server. Не забудьте перезапустить службу SQL Server, чтобы изменения вступили в силу.
Детальный ответ
Как включить Filestream в SQL Server
Прежде чем мы начнем, давайте подробнее разберемся, что такое Filestream и зачем его включать в SQL Server. Filestream – это технология, предоставляемая SQL Server, которая позволяет хранить и управлять файлами прямо на файловой системе, вместо того чтобы хранить их в базе данных. Это особенно полезно, когда вам нужно использовать большие файлы, например, изображения, видео или документы.
Включение Filestream в SQL Server включает несколько шагов. Давайте рассмотрим их по порядку:
Шаг 1: Убедитесь, что SQL Server установлен с поддержкой Filestream
Прежде чем включить Filestream, вам нужно убедиться, что ваша установленная версия SQL Server поддерживает эту функцию. Версии, начиная с SQL Server 2008, имеют поддержку Filestream. Если у вас установлена более ранняя версия, вам нужно выполнить обновление до более новой версии. Проверить настройки можно в диспетчере конфигурации SQL Server.
Шаг 2: Включите Filestream в конфигурации SQL Server
Перейдите к диспетчеру конфигурации SQL Server и откройте его. Найдите ваш экземпляр SQL Server и щелкните правой кнопкой мыши для выбора "Свойства".
2.1 В появившемся окне "Свойства сервера" перейдите на вкладку "Строки подключения".
2.2 В разделе "Выберите параметр конфигурации" выберите "filestream access level".
2.3 Установите значение "Full access enabled" и нажмите "Применить".
Шаг 3: Создайте файловую группу для Filestream
Откройте SQL Server Management Studio (SSMS) и подключитесь к вашему экземпляру SQL Server.
3.1 Создайте новую базу данных или откройте существующую базу данных, для которой вы хотите включить Filestream. Щелкните правой кнопкой мыши на базе данных и выберите "Свойства".
3.2 В окне "Свойства базы данных" перейдите на вкладку "Файлы".
3.3 Щелкните на кнопке "Добавить файл" в разделе "Файлы".
3.4 В появившемся окне "Тип файла" выберите "Filestream data" и укажите имя файла и путь к папке, где будут храниться ваши файлы Filestream.
3.5 Установите значения для оставшихся параметров по вашему усмотрению и нажмите "OK".
Шаг 4: Настройте базу данных для использования Filestream
Продолжая работать с окном "Свойства базы данных", перейдите на вкладку "Строка подключения".
4.1 В разделе "Свойства" найдите параметр "Разрешенные значения".
4.2 Настройте значение параметра "FILESTREAM" на "True" и нажмите "OK".
Поздравляю! Filestream теперь успешно включен в вашем экземпляре SQL Server. Теперь вы можете использовать эту функциональность для хранения и управления вашими файлами прямо на файловой системе.
Пример использования Filestream
Чтобы продемонстрировать использование Filestream, рассмотрим пример добавления и чтения файла из базы данных SQL Server с помощью Filestream. Вот код:
-- Создание таблицы
CREATE TABLE FilestreamDemo
(
ID INT IDENTITY PRIMARY KEY,
FileName NVARCHAR(100),
FileStreamData VARBINARY(MAX) FILESTREAM
)
-- Добавление файла
INSERT INTO FilestreamDemo (FileName, FileStreamData)
SELECT 'example.jpg', * FROM OPENROWSET(BULK N'C:\filestream\example.jpg', SINGLE_BLOB) AS FileStream
-- Чтение файла
SELECT ID, FileName, GET_FILESTREAM_TRANSACTION_CONTEXT() AS TransactionContext,
(SELECT FileStreamData.PathName() FROM FilestreamDemo AS F WHERE F.ID = FD.ID) AS FilePath
FROM FilestreamDemo AS FD
В этом примере мы создаем таблицу FilestreamDemo с двумя столбцами: FileName для хранения имени файла и FileStreamData VARBINARY(MAX) FILESTREAM для хранения самих данных файла. Затем мы добавляем файл в базу данных с помощью OPENROWSET и затем читаем его с помощью SELECT.
Замените 'C:\filestream\example.jpg' на фактический путь к файлу на вашей файловой системе.
Это только один из множества способов использования Filestream в SQL Server. Используйте его по своему усмотрению, чтобы лучше управлять файлами и повысить производительность вашей базы данных.