Установка SQL Server с общей папкой SMB в качестве хранилища
Начиная с SQL Server 2012 г. системные базы данных (Master, Model, MSDB и TempDB) и пользовательские базы данных ядра СУБД можно устанавливать с файловым сервером SMB в качестве хранилища. Это относится как к изолированному варианту установки SQL Server , так и к установке кластеров отработки отказа SQL Server .
Примечание
Файловый поток в настоящее время не поддерживается в общей папке SMB.
Рекомендации по установке
Форматы общей папки SMB:
При указании общей папки SMB путь может быть указан в одном из следующих форматов UNC для изолированных баз данных и баз данных FCI:
\\имя_сервера\имя_папки\
\\имя_сервера\имя_папки
Дополнительные сведения об универсальном соглашении об именовании см. в разделе UNC (https://go.microsoft.com/fwlink/?LinkId=245534).
Путь 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 с одним узлом с компонентами Компонент 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 2014 см. в статье Установка SQL Server 2014 из командной строки.
Рекомендации по операционной системе (протокол SMB и SQL Server)
Разные операционные системы Windows имеют разные версии протокола SMB, а версия протокола SMB прозрачна для SQL Server. Вы можете ознакомиться с преимуществами различных версий протокола SMB по отношению к SQL Server 2014.
Операционная система | Версия протокола 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://go.microsoft.com/fwlink/?LinkId=237320). |
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 рекомендуется использовать учетную запись домена. Если в качестве учетной записи службы используется системная учетная запись, предоставьте разрешения для учетной записи компьютера в формате domain_name<>\<computer_name>$.
Примечание
- Если в качестве хранилища задана общая папка SMB, во время установки SQL Server в качестве учетной записи службы необходимо задать учетную запись домена. При использовании общей папки SMB учетную запись системы можно задать в качестве учетной записи службы только после установки SQL Server .
- Виртуальные учетные записи не могут проходить проверку подлинности в удаленном расположении. Все виртуальные учетные записи используют разрешение локальной учетной записи. Укажите учетную запись компьютера в формате <имя_домена>\<имя_компьютера>$.
Учетная запись, используемая для установки SQL Server, должна иметь разрешения FULL CONTROL на общую папку SMB, используемую в качестве каталога данных, или любые другие папки данных (каталог базы данных пользователя, каталог журналов пользовательской базы данных, каталог TempDB, каталог журналов TempDB, каталог резервного копирования) во время установки кластера.
Учетная запись, используемая для установки SQL Server , должна обладать правами SeSecurityPrivilege на файловом сервере SMB. Для предоставления этого права используйте консоль локальной политики безопасности на файловом сервере, чтобы добавить учетную запись установки SQL Server в политику управления журналом аудита и безопасности. Этот параметр находится в разделе «Назначение прав пользователя» в узле «Локальные политики» консоли «Локальная политика безопасности».
Известные проблемы
После отсоединения базы данных SQL Server 2014, которая находится в подключенном к сети хранилище, при попытке повторно подключить базу данных SQL Server может возникнуть проблема с разрешениями. Эта проблема описана в этой статье базы знаний (https://go.microsoft.com/fwlink/?LinkId=237321). Информацию о решении этой проблемы см. в разделе Дополнительные сведения статьи из базы знаний.
Некоторые решения сторонних разработчиков, например устройство NetApp, не поддерживают все вызовы API SQL Server. С их помощью вы можете получить следующее:
2015-06-04 13:14:19.97 spid9s Ошибка: 17053, серьезность: 16, состояние: 1.
2015-06-04 13:14:19.97 spid9s DoDevIoCtlOut() GetOverlappedResult() : возникла ошибка операционной системы 1(Неправильная функция.).Для файловой системы NTFS эта ошибка неопасна, но в случае с ReFS она может привести к существенному снижению производительности.
Если общая папка SMB используется в качестве хранилища для кластеризованного экземпляра SQL Server, то по умолчанию журнал диагностики отказоустойчивого кластера SQL Server не может быть записан в общий файловый ресурс, так как у библиотеки ресурсов SQL Server нет разрешения на чтение и запись в общий файловый ресурс. Чтобы устранить эту проблему, попробуйте один из следующих методов.
Предоставьте разрешения на чтение и запись в общей папке всем объектам-компьютерам в кластере.
Задайте в качестве расположения журналов диагностики локальный путь к файлу. См. следующий пример.
ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG PATH = 'C:\logs';
См. также:
Планирование установки SQL Server
Инструкции по установке
Настройка учетных записей службы Windows и разрешений