Установка SQL Server с общей папкой SMB в качестве хранилища
Начиная с выпуска SQL Server 2012, системные базы данных (Master, Model, MSDB и TempDB) и пользовательские базы данных компонента Компонент Database Engine можно установить с использованием протокола SMB в качестве хранилища файлового сервера Server Message Block (SMB). Это относится как к изолированному варианту установки SQL Server, так и к установке кластеров отработки отказа SQL Server.
![]() |
---|
Файловый поток в настоящее время не поддерживается в общей папке SMB. |
Рекомендации по установке
Форматы общей папки SMB:
При указании общей папки SMB путь может быть указан в одном из следующих форматов UNC для изолированных баз данных и баз данных FCI:
\\имя_сервера\имя_папки\
\\имя_сервера\имя_папки
Дополнительные сведения об универсальных именах (UNC) см. в разделе 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.
Следующие инструкции Transact-SQL DDL и хранимые процедуры компонента ядра СУБД поддерживают общие папки 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, состоящего из одиночного узла, с компонентом ядра СУБД и службами 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 2012 см. в разделе Установка SQL Server 2012 из командной строки.
Соображения по операционным системам (протокол SMB по сравнению сSQL Server)
В различных операционных системах Windows используются разные версии протокола SMB. Версия протокола SMB прозрачна для SQL Server. Можно выяснить информацию о преимуществах разных версий SMB в отношении SQL Server 2012.
Операционная система |
Версия протокола SMB2 |
Преимущества для SQL Server |
---|---|---|
Windows Server 2008 |
2.0 |
|
Windows Server 2008 R2 |
2.1 |
|
Windows Server 2012 |
3.0 |
|
Windows Server 2012 R2 |
3.02 |
|
Соображения по безопасности
Учетная запись службы SQL Server и учетная запись агента службы SQL Server должны иметь разрешения «Полный доступ» и разрешения NTFS для общих папок SMB. При использовании файлового сервера SMB в качестве учетной записи службы SQL Server можно использовать учетную запись домена или системы. Дополнительные сведения о разрешениях для общей папки и NTFS см. в разделе Разрешения для общей папки и NTFS на файловом сервере (https://go.microsoft.com/fwlink/?LinkId=245535).
Примечание
Общие разрешения на полный доступ и разрешения NTFS для доступа к общим папкам SMB должны быть ограничены: учетной записью службы SQL Server, учетной записью службы агента SQL Server и пользователями Windows с ролями администратора сервера.
В качестве учетной записи службы SQL Server рекомендуется использовать учетную запись домена. Если в качестве учетной записи службы используется учетная запись системы, предоставьте разрешения для учетной записи компьютера в формате: <domain_name>\<computer_name>$.
Примечание
Если в качестве хранилища задана общая папка SMB, во время установки SQL Server в качестве учетной записи службы необходимо задать учетную запись домена. При использовании общей папки SMB учетную запись системы можно задать в качестве учетной записи службы только после установки SQL Server.
Виртуальные учетные записи не могут проходить проверку подлинности в удаленном расположении. Все виртуальные учетные записи используют разрешение локальной учетной записи. Укажите учетную запись компьютера в формате <domain_name>\<computer_name>$.
Учетная запись, которая использовалась для установки SQL Server, при установке кластера должна иметь разрешение «Полный доступ» к общей папке SMB, используемой в качестве каталога данных, или к любым другим папкам данных (каталог пользовательской базы данных, каталог журналов пользовательской базы данных, папка TempDB, каталог журналов TempDB, папка резервного копирования).
Учетная запись, используемая для установки SQL Server, должна обладать правами SeSecurityPrivilege на файловом сервере SMB. Чтобы предоставить это право, используйте консоль локальной политики безопасности на файловом сервере, чтобы добавить учетную запись установки SQL Server в политику управления журналом аудита и безопасности. Этот параметр находится в разделе «Назначение прав пользователя» в узле «Локальные политики» консоли «Локальная политика безопасности».
Известные проблемы
После отсоединения базы данных SQL Server 2012, которая находится в хранилище, подключенном к сети, при попытке повторного присоединения базы данных SQL Server возможны проблемы с разрешением доступа к базе данных. Данная проблема описана в данной статье базы знаний (https://go.microsoft.com/fwlink/?LinkId=237321). Информацию о решении этой проблемы см. в разделе Дополнительные сведения статьи из базы знаний.
Если общая папка SMB используется в качестве хранилища для кластеризованного экземпляра SQL Server, то по умолчанию журнал диагностики отказоустойчивого кластера SQL Server не может быть записан в общий файловый ресурс, так как у библиотеки ресурсов SQL Server нет разрешения на чтение и запись в общий файловый ресурс. Чтобы устранить эту проблему, попробуйте один из следующих методов.
Предоставьте разрешения на чтение и запись в общей папке всем объектам-компьютерам в кластере.
Задайте в качестве расположения журналов диагностики локальный путь к файлу. См. следующий пример.
ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG PATH = 'C:\logs';
См. также
Справочник
Настройка учетных записей службы Windows и разрешений
Основные понятия
Планирование установки SQL Server