Включение и настройка FILESTREAMEnable and configure FILESTREAM

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Перед началом использования хранилища FILESTREAM его необходимо включить в экземпляре компонента Компонент SQL Server Database EngineSQL Server Database Engine.Before you can start to use FILESTREAM, you must enable FILESTREAM on the instance of the Компонент SQL Server Database EngineSQL Server Database Engine. В этом разделе описано, как включить FILESTREAM с помощью диспетчера конфигурации SQL Server.This topic describes how to enable FILESTREAM by using SQL Server Configuration Manager.

Включение FILESTREAMEnabling FILESTREAM

Включение и изменение параметров FILESTREAMTo enable and change FILESTREAM settings

  1. В меню Пуск последовательно укажите пункты Все программы, SQL Server 2017SQL Server 2017, Средства настройкии выберите пункт Диспетчер конфигурации SQL Server.On the Start menu, point to All Programs, point to SQL Server 2017SQL Server 2017, point to Configuration Tools, and then click SQL Server Configuration Manager.

  2. В списке служб щелкните правой кнопкой мыши Службы SQL Serverи выберите команду Открыть.In the list of services, right-click SQL Server Services, and then click Open.

  3. В оснастке Диспетчер конфигурации SQL Server найдите экземпляр SQL ServerSQL Server , в котором нужно включить FILESTREAM.In the SQL Server Configuration Manager snap-in, locate the instance of SQL ServerSQL Server on which you want to enable FILESTREAM.

  4. Щелкните правой кнопкой мыши экземпляр и выберите пункт Свойства.Right-click the instance, and then click Properties.

  5. В диалоговом окне Свойства SQL Server перейдите на вкладку FILESTREAM .In the SQL Server Properties dialog box, click the FILESTREAM tab.

  6. Установите флажок Разрешить FILESTREAM при доступе через Transact-SQL .Select the Enable FILESTREAM for Transact-SQL access check box.

  7. Если нужно считывать и записывать данные FILESTREAM из Windows, установите флажок Разрешить FILESTREAM при потоковом доступе файлового ввода-вывода.If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Введите имя общего ресурса Windows в поле Имя общего ресурса Windows .Enter the name of the Windows share in the Windows Share Name box.

  8. Если удаленные клиенты должны иметь доступ к данным FILESTREAM, хранящимся в этом общем ресурсе, установите флажок Разрешить удаленным клиентам потоковый доступ к данным FILESTREAM.If remote clients must access the FILESTREAM data that is stored on this share, select Allow remote clients to have streaming access to FILESTREAM data.

  9. Нажмите кнопку Применить.Click Apply.

  10. В среде Среда SQL Server Management StudioSQL Server Management Studioнажмите кнопку Создать запрос , чтобы открыть редактор запросов.In Среда SQL Server Management StudioSQL Server Management Studio, click New Query to display the Query Editor.

  11. В редакторе запросов введите следующий код Transact-SQLTransact-SQL :In Query Editor, enter the following Transact-SQLTransact-SQL code:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE  
    
  12. Нажмите кнопку Выполнить.Click Execute.

  13. Перезапустите службу SQL ServerSQL Server .Restart the SQL ServerSQL Server service.

РекомендацииBest practices

Физическая настройка и обслуживаниеPhysical configuration and maintenance

При использовании томов хранилища FILESTREAM обратите внимание на следующие рекомендации.When you set up FILESTREAM storage volumes, consider the following guidelines:

  • Отключите короткие имена файлов на компьютерах с FILESTREAM.Turn off short file names on FILESTREAM computer systems. Короткие имена файлов создаются гораздо дольше.Short file names take significantly longer to create. Отключить короткие имена файлов можно с помощью программы Windows fsutil .To disable short file names, use the Windows fsutil utility.

  • Регулярно выполняйте дефрагментацию на компьютерах с FILESTREAM.Regularly defragment FILESTREAM computer systems.

  • Используйте файловую систему NTFS с кластерами по 64 килобайт.Use 64-KB NTFS clusters. На сжатых томах должна быть файловая система NTFS с кластерами по 4 килобайта.Compressed volumes must be set to 4-KB NTFS clusters.

  • Отключите индексирование на томах FILESTREAM и установите параметр disablelastaccess.Disable indexing on FILESTREAM volumes and set disablelastaccess. Чтобы установить параметр disablelastaccess, воспользуйтесь служебной программой Windows fsutil.To set disablelastaccess, use the Windows fsutil utility.

  • Отключите антивирусное сканирование на томах FILESTREAM, если оно не требуется.Disable antivirus scanning of FILESTREAM volumes when it is not necessary. Если антивирусное сканирование необходимо, не настраивайте политики автоматического удаления зараженных файлов.If antivirus scanning is necessary, avoid setting policies that will automatically delete offending files.

  • Настройте уровень отказоустойчивости и производительности RAID в соответствии с требованиями приложения.Set up and tune the RAID level for fault tolerance and the performance that is required by an application.

Уровень RAIDRAID level Производительность записиWrite performance Производительность чтенияRead performance ОтказоустойчивостьFault tolerance RemarksRemarks
RAID 5RAID 5 НормальныйNormal НормальныйNormal ВысокаяExcellent Производительность лучше, чем у диска или JBOD, но хуже, чем у RAID 0 или RAID 5 с чередованием.Performance is better than one disk or JBOD; and less than RAID 0 or RAID 5 with striping.
RAID 0RAID 0 ВысокаяExcellent ВысокаяExcellent NoneNone
RAID 5 + чередованиеRAID 5 + stripping ВысокаяExcellent ВысокаяExcellent ВысокаяExcellent Самый дорогостоящий вариант.Most expensive option.

Физическая структура базы данныхPhysical database design

При проектировании базы данных FILESTREAM следует учитывать следующие рекомендации.When you design a FILESTREAM database, consider the following guidelines:

  • Столбцу FILESTREAM должен соответствовать столбец типа uniqueidentifierROWGUID.FILESTREAM columns must be accompanied by a corresponding uniqueidentifierROWGUID column. Кроме того, типам таблиц также должен соответствовать уникальный индекс.These kinds of tables must also be accompanied by a unique index. Как правило, этот индекс не является кластеризованным.Typically this index is not a clustered index. Если бизнес-логика базы данных требует использовать кластеризованный индекс, следует убедиться, что значения, которые хранятся в индексе, не являются случайными.If the databases business logic requires a clustered index, you have to make sure that the values stored in the index are not random. Случайные значения приведут к переупорядочению индекса при каждом добавлении или удалении строки в таблице.Random values will cause the index to be reordered every time that a row is added or removed from the table.

  • По соображениям производительности файловые группы и контейнеры FILESTREAM находятся на томах, отличных от тех, где находится операционная система, база данных SQL ServerSQL Server , журнал SQL ServerSQL Server , база данных tempdb или файл подкачки.For performance reasons, FILESTREAM filegroups and containers should reside on volumes other than the operating system, SQL ServerSQL Server database, SQL ServerSQL Server log, tempdb, or paging file.

  • Управление местом на диске и соответствующие политики не поддерживаются FILESTREAM напрямую.Space management and policies are not directly supported by FILESTREAM. Однако можно управлять местом и применять политики косвенно путем присвоения каждой файловой группы FILESTREAM отдельному тому с последующим применением функций управления данного тома.However, you can manage space and apply policies indirectly by assigning each FILESTREAM filegroup to a separate volume and using the volume's management features.