Установка 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:

  1. CREATE DATABASE (Transact-SQL)

  2. ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)

  5. sp_attach_db (Transact-SQL)

  6. sp_attach_single_file_db (Transact-SQL)

Параметры установки

  • На странице «Настройка компонента ядра СУБД» пользовательского интерфейса программы настройки перейдите на вкладку «Каталоги данных» и задайте для параметра «Корневой каталог данных» значение «\\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

  • Повышенная производительность по сравнению с предыдущими версиями SMB.

  • Надежность, которая помогает восстанавливать данные при временных проблемах в работе сети.

Windows Server 2008 R2

2.1

  • Поддержка больших MTU, что позволяет передавать большой объем данных, например при резервном копировании и восстановлении SQL. Эту возможность должен включить пользователь. Дополнительные сведения о включении этой функции см. в разделе Новые возможности SMB (https://go.microsoft.com/fwlink/?LinkID=237319).

  • Значительные улучшения производительности, в частности для рабочих нагрузок SQL OLTP. Эти улучшения производительности требуют применения исправления. Дополнительные сведения об исправлении см. в разделе здесь (https://go.microsoft.com/fwlink/?LinkId=237320).

Windows Server 2012

3.0

  • Поддержка прозрачных обработок отказов общих папок с нулевым временем простоев и без необходимости вмешательства администраторов для изменения SQL DBA или администраторов файловых серверов для изменения конфигурации кластеров файловых серверов.

  • Поддержка ввода-вывода с одновременным использованием нескольких сетевых интерфейсов, а также устойчивость к отказу сетевых интерфейсов.

  • Поддержка сетевых интерфейсов с возможностями RDMA.

  • Дополнительные сведения об этих возможностях и протоколе SMB см. в разделе Общие сведения о протоколе SMB (https://go.microsoft.com/fwlink/?LinkId=253174).

  • Поддержка сервера SoFS с постоянной доступностью.

Windows Server 2012 R2

3.02

  • Поддержка прозрачных обработок отказов общих папок с нулевым временем простоев и без необходимости вмешательства администраторов для изменения SQL DBA или администраторов файловых серверов для изменения конфигурации кластеров файловых серверов.

  • Поддержка ввода-вывода с одновременным использованием нескольких сетевых интерфейсов, а также устойчивость к отказу сетевых интерфейсов с помощью SMB Multichannel.

  • Поддержка сетевых интерфейсов с возможностями RDMA с помощью SMB Direct.

  • Дополнительные сведения об этих возможностях и протоколе SMB см. в разделе Общие сведения о протоколе SMB (https://go.microsoft.com/fwlink/?LinkId=253174).

  • Поддержка сервера SoFS с постоянной доступностью.

  • Оптимизировано для чтения и записи случайных данных небольшого объема, характерных для SQL Server OLTP.

  • Maximum Transmission Unit (MTU) по умолчанию включено, что значительно повышает производительность таких крупных последовательных передач, как резервное копирование и восстановление хранилища данных SQL Server и базы данных.

Соображения по безопасности

  • Учетная запись службы 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 нет разрешения на чтение и запись в общий файловый ресурс. Чтобы устранить эту проблему, попробуйте один из следующих методов.

    1. Предоставьте разрешения на чтение и запись в общей папке всем объектам-компьютерам в кластере.

    2. Задайте в качестве расположения журналов диагностики локальный путь к файлу. См. следующий пример.

      ALTER SERVER CONFIGURATION
      SET DIAGNOSTICS LOG PATH = 'C:\logs';
      

См. также

Справочник

Настройка учетных записей службы Windows и разрешений

Основные понятия

Планирование установки SQL Server

Другие ресурсы

Инструкции по установке