Установка SQL Server с общей папкой SMB в качестве хранилища
Применимо к:SQL Server — только Windows
Начиная с выпуска SQL Server 2012 (11.x), системные базы данных (master, model, msdb и tempdb) и пользовательские базы данных Компонент Database Engine можно установить, используя файловый сервер SMB в качестве хранилища. Это относится как к изолированному варианту установки SQL Server , так и к установке кластеров отработки отказа SQL Server .
Примечание
Файловый поток в настоящее время не поддерживается в общей папке SMB.
Рекомендации по установке
Форматы общей папки SMB:
При указании общей папки SMB путь может быть указан в одном из следующих форматов UNC для изолированных баз данных и баз данных FCI:
\\имя_сервера\имя_папки\
\\имя_сервера\имя_папки
Дополнительные сведения об универсальных именах (UNC) см. в статье UNC.
Путь UNC замыкания на себя (путь UNC, где именем сервера является localhost, 127.0.0.1 или имя локального компьютера) не поддерживается. В качестве особого случая SQL Server с использованием кластера файлового сервера, размещенного на том же узле SQL Server , также не поддерживается. Чтобы предотвратить возникновение этой ситуации, рекомендуется создавать SQL Server и кластер файлового сервера на отдельных кластерах Windows.
Следующие форматы UNC-путей не поддерживаются:
циклический путь, например
\\localhost\...\
или\\127.0.0.1\...\
;административные общие папки, например
\\servername\x$
;другие форматы UNC-путей, например
\\?\x:\
;сопоставленные сетевые диски.
Поддерживаемые инструкции языка описания данных DDL.
Следующие инструкции DDL Transact-SQL и хранимые процедуры ядра СУБД поддерживают общие папки SMB.
Варианты установки
На странице "Настройка компонента ядра СУБД" пользовательского интерфейса программы настройки перейдите на вкладку "Каталоги данных" и задайте для параметра "Корневой каталог данных" значение "\\fileserver1\share1".
При установке из командной строки задайте для параметра "/INSTALLSQLDATADIR" значение "\\fileserver1\share1".
Ниже представлен образец синтаксиса для установки SQL Server на отдельном сервере с использованием общей папки SMB.
Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<StrongPassword>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS
Начиная с SQL Server 2022 г. (16.x), ознакомьтесь с условиями лицензионного соглашения на использование программного обеспечения Microsoft SQL Server на aka.ms/useterms.
Установка экземпляра отказоустойчивого кластера SQL Server с одним узлом с компонентами Компонент Database Engine и службами Службы Analysis Services, экземпляр по умолчанию.
setup.exe /q /ACTION=InstallFailoverCluster /InstanceName=MSSQLSERVER /INDICATEPROGRESS /ASSYSADMINACCOUNTS="<DomainName\UserName>" /ASDATADIR=<Drive>:\OLAP\Data /ASLOGDIR=<Drive>:\OLAP\Log /ASBACKUPDIR=<Drive>:\OLAP\Backup /ASCONFIGDIR=<Drive>:\OLAP\Config /ASTEMPDIR=<Drive>:\OLAP\Temp /FAILOVERCLUSTERDISKS="<Cluster Disk Resource Name - for example, 'Disk S:'" /FAILOVERCLUSTERNETWORKNAME="<Insert Network Name>" /FAILOVERCLUSTERIPADDRESSES="IPv4;xx.xxx.xx.xx;Cluster Network;xxx.xxx.xxx.x" /FAILOVERCLUSTERGROUP="MSSQLSERVER" /Features=AS,SQL /ASSVCACCOUNT="<DomainName\UserName>" /ASSVCPASSWORD="xxxxxxxxxxx" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="xxxxxxxxxxx" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="xxxxxxxxxxx" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS
Дополнительные сведения об использовании различных параметров командной строки в SQL Server см. в статье Установка SQL Server 2016 из командной строки.
Рекомендации по операционным системам (сравнение протокола SMB и SQL Server)
Разные версии операционных систем Windows используют разные версии протокола SMB, которые сообщаются SQL Server. Можно выяснить информацию о преимуществах разных версий SMB в отношении SQL Server.
Операционная система | Версия протокола SMB2 | Преимущества для SQL Server |
---|---|---|
Windows Server 2008 с пакетом обновления 2 (SP2) | 2.0 | Повышенная производительность по сравнению с предыдущими версиями SMB. Устойчивость, которая помогает восстанавливать данные при временных проблемах в работе сети. |
Windows Server 2008 R2 с пакетом обновления 1 (SP1), включая Server Core | 2.1 | Поддержка больших MTU, что позволяет передавать большой объем данных, например при резервном копировании и восстановлении SQL. Эту возможность должен включить пользователь. Дополнительные сведения о включении этой возможности см. в статье Новые возможности SMB (https://go.microsoft.com/fwlink/?LinkID=237319). Значительные улучшения производительности, в частности для рабочих нагрузок SQL OLTP. Эти улучшения производительности требуют применения исправления. Дополнительные сведения об этом исправлении см. в этом разделе (https://mskb.pkisolutions.com/kb/2536493). |
Windows Server 2012, включая Server Core | 3.0 | Поддержка прозрачных обработок отказов общих папок с нулевым временем простоев и без необходимости вмешательства администраторов для изменения SQL DBA или администраторов файловых серверов для изменения конфигурации кластеров файловых серверов. Поддержка ввода-вывода с одновременным использованием нескольких сетевых интерфейсов, а также устойчивость к отказу сетевых интерфейсов. Поддержка сетевых интерфейсов с возможностями RDMA. Дополнительные сведения об этих возможностях и протоколе SMB см. в разделе Общие сведения о протоколе SMB (https://go.microsoft.com/fwlink/?LinkId=253174). Поддержка для сервера SoFS с горизонтальным увеличением масштаба и постоянной доступностью. |
Windows Server 2012 R2, включая Server Core | 3.2 | Поддержка прозрачных обработок отказов общих папок с нулевым временем простоев и без необходимости вмешательства администраторов для изменения SQL DBA или администраторов файловых серверов для изменения конфигурации кластеров файловых серверов. Поддержка ввода-вывода с одновременным использованием нескольких сетевых интерфейсов, а также устойчивость к отказу сетевых интерфейсов с помощью SMB Multichannel. Поддержка сетевых интерфейсов с возможностями с помощью SMB Direct. Дополнительные сведения об этих возможностях и протоколе SMB см. в разделе Общие сведения о протоколе SMB (https://go.microsoft.com/fwlink/?LinkId=253174). Поддержка для сервера SoFS с горизонтальным увеличением масштаба и постоянной доступностью. Оптимизировано для небольших произвольных операций ввода-вывода чтения и записи, обычных для SQL Server OLTP. Максимальный размер пакета (MTU) включен по умолчанию, что значительно повышает производительность в больших последовательных передачах, таких как хранилище данных SQL Server или резервное копирование и восстановление базы данных. |
Вопросы безопасности
Учетная запись службы SQL Server и учетная запись агента службы SQL Server должны иметь разрешения «Полный доступ» и разрешения NTFS для общих папок SMB. При использовании файлового сервера SMB в качестве учетной записи службы SQL Server можно использовать учетную запись домена или системы. Дополнительные сведения о разрешениях для общей папки и NTFS см. в статье Разрешения для общей папки и NTFS на файловом сервере (https://go.microsoft.com/fwlink/?LinkId=245535).
Примечание
Разрешения FULL CONTROL и NTFS для общих папок SMB должны действовать только для учетной записи службы SQL Server, учетной записи службы агента SQL Server и пользователей Windows с ролями администратора сервера.
В качестве учетной записи службы SQL Server рекомендуется использовать учетную запись домена. Если в качестве учетной записи службы используется учетная запись системы, предоставьте разрешения для учетной записи компьютера в формате <<имя_домена>>\<<имя_компьютера>>*$*.
Примечание
Если в качестве хранилища задана общая папка SMB, во время установки SQL Server в качестве учетной записи службы необходимо задать учетную запись домена. При использовании общей папки SMB учетную запись системы можно задать в качестве учетной записи службы только после установки SQL Server .
Виртуальные учетные записи не могут проходить проверку подлинности в удаленном расположении. Все виртуальные учетные записи используют разрешение локальной учетной записи. Укажите учетную запись компьютера в формате <имя_домена>\<имя_компьютера>*$*.
Учетная запись, которая использовалась для установки SQL Server, при установке кластера должна иметь разрешения FULL CONTROL к общей папке SMB, используемой в качестве каталога данных, или к любым другим папкам данных (каталог пользовательской базы данных, каталог журналов пользовательской базы данных, папка tempdb, каталог журналов tempdb, папка резервного копирования).
Учетная запись, используемая для установки SQL Server , должна обладать правами SeSecurityPrivilege на файловом сервере SMB. Для предоставления этого права используйте консоль локальной политики безопасности на файловом сервере, чтобы добавить учетную запись установки SQL Server в политику управления журналом аудита и безопасности. Этот параметр находится в разделе «Назначение прав пользователя» в узле «Локальные политики» консоли «Локальная политика безопасности».
Известные проблемы и ограничения
После отсоединения базы данных SQL Server , которая находится в хранилище, подключенном к сети, при попытке повторного присоединения базы данных SQL Server возможны проблемы с разрешением доступа к базе данных. См. дополнительные сведения об ошибке 5120.
Если общая папка SMB используется в качестве хранилища для кластеризованного экземпляра SQL Server, то по умолчанию журнал диагностики отказоустойчивого кластера SQL Server не может быть записан в общий файловый ресурс, так как у библиотеки ресурсов SQL Server нет разрешения на чтение и запись в общий файловый ресурс. Чтобы устранить эту проблему, попробуйте один из следующих методов.
Предоставьте разрешения на чтение и запись в общей папке всем объектам-компьютерам в кластере.
Задайте в качестве расположения журналов диагностики локальный путь к файлу. См. следующий пример.
ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG PATH = 'C:\logs';
Если вы размещаете файлы данных SQL Server в файловых ресурсах SMB, все операции ввода-вывода по файлам будут проходить через сетевой интерфейс на сервере или виртуальной машине. Убедитесь, что пропускной способности сети хватает для поддержки операций ввода-вывода, необходимых для рабочей нагрузки.
Недоступность общей папки, в которой размещаются файлы данных SQL Server, из-за проблем с сетевым подключением или другой ошибки может привести к задержкам операций ввода-вывода или сбоям в SQL Server. Для критически важных рабочих нагрузок убедитесь, что для сети и общей папки предусмотрена избыточность, и что файловый ресурс поддерживает прозрачную отработку отказа SMB 3.0, также известную как постоянная доступность.
См. также раздел
Планирование установки SQL Server
Настройка учетных записей службы Windows и разрешений
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по