Разное

Nt service mssqlserver как дать права: Настройка разрешений файловой системы для доступа к компоненту ядра СУБД — SQL Server

20.06.1989

Содержание

Настройка разрешений файловой системы для доступа к компоненту ядра СУБД — SQL Server

  • Статья
  • Чтение занимает 2 мин
Были ли сведения на этой странице полезными?

Оцените свои впечатления

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

В этой статье

Применимо к: SQL Server (все поддерживаемые версии)

В этом разделе описана процедура предоставления компоненту Компонент SQL Server Database Engine доступа к расположению в файловой системе, где хранятся файлы базы данных. Служба компонента Компонент Database Engine должна иметь разрешение файловой системы Windows для доступа к папке, в которой хранятся файлы базы данных. Разрешение на расположение по умолчанию задается во время установки. Если файла базы данных размещаются в другом расположении, то необходимо выполнить эти действия, чтобы предоставить компоненту Компонент Database Engine разрешение полного доступа к этому расположению.

Начиная с версии SQL Server 2012 (11.x) , разрешения назначаются идентификатору безопасности каждой из служб. Эта система позволяет обеспечить изоляцию и всестороннюю защиту службы. Идентификатор безопасности службы создается на основе имени службы и является уникальным для каждой службы. В разделе Настройка учетных записей и разрешений службы Windows описывается идентификатор безопасности каждой службы доступа, а имена перечисляются в разделе

Права и привилегии Windows. Разрешение на доступ к расположению файла назначается именно идентификатору безопасности службы.

Предоставление разрешение на доступ к файловой системе идентификатору безопасности службы

  1. С помощью проводника Windows перейдите в папку файловой системы, в которой находятся файлы базы данных. Правой кнопкой мыши щелкните эту папку и выберите пункт Свойства.

  2. На вкладке Безопасность щелкните Изменить и затем ― Добавить.

  3. В диалоговом окне Выбор пользователей, компьютеров, учетных записей служб или групп щелкните Расположения, в начале списка расположений выберите имя своего компьютера и нажмите кнопку

    ОК.

  4. В поле Введите имена объектов для выбора введите имя идентификатора безопасности службы, указанное в разделе Настройка учетных записей службы и разрешений Windowsэлектронной документации. (В качестве идентификатора безопасности службы компонента Компонент Database Engine используйте NT SERVICE\MSSQLSERVER для экземпляра по умолчанию или NT SERVICE\MSSQL$InstanceName — для именованного экземпляра.)

  5. Щелкните Проверить имена , чтобы проверить введенные данные. Проверка зачастую выявляет ошибки, по ее окончании может появиться сообщение о том, что имя не найдено. При нажатии кнопки

    ОК открывается диалоговое окно Обнаружено несколько имен . Теперь выберите идентификатор безопасности службы MSSQLSERVER или NT SERVICE\MSSQL$InstanceName и нажмите кнопку ОК. Снова нажмите кнопку ОК , чтобы вернуться в диалоговое окно Разрешения .

  6. В поле имен Группа или пользователь выберите имя идентификатора безопасности службы, а затем в поле Разрешения для <name> установите флажок Разрешить для параметра Полный доступ.

  7. Нажмите кнопку Применить, а затем дважды кнопку ОК , чтобы выполнить выход.

См. также:

Управление службами компонента Database Engine
Перемещение системных баз данных
Перемещение пользовательских баз данных

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

  • Статья
  • Чтение занимает 30 мин
Были ли сведения на этой странице полезными?

Оцените свои впечатления

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

Спасибо!

В этой статье

Применимо к: SQL Server (все поддерживаемые версии)

Каждая служба в SQL Server представляет собой процесс или набор процессов для управления проверкой подлинности при выполнении операций SQL Server в операционной системе Windows. В этом разделе описана конфигурация по умолчанию служб данного выпуска SQL Server, а также параметры конфигурации служб SQL Server, которые можно настроить во время установки SQL Server и после нее. Этот раздел дает возможность опытным пользователям детальнее ознакомиться с учетными записями служб.

Большинство служб и их свойств можно настроить с помощью диспетчера конфигурации SQL Server. Ниже приведены расположения последних четырех версий этого диспетчера при установке Windows на диск C.

Версия SQL Serverпуть
SQL Server 2019C:\Windows\SysWOW64\SQLServerManager15.msc
SQL Server 2017C:\Windows\SysWOW64\SQLServerManager14.msc
SQL Server 2016C:\Windows\SysWOW64\SQLServerManager13.msc
SQL Server 2014C:\Windows\SysWOW64\SQLServerManager12.msc
SQL Server 2012C:\Windows\SysWOW64\SQLServerManager11.msc

Службы, устанавливаемые с SQL Server

В зависимости от компонентов, которые выбраны для установки, программа установки SQL Server устанавливает следующие службы.

  • Службы SQL Server Database Services — служба для SQL Server реляционного Компонент Database Engine. Путь к исполняемому файлу: <MSSQLPATH>\MSSQL\Binn\sqlservr.exe.

  • Агент SQL Server — предназначен для выполнения заданий, наблюдения за SQL Server, предупреждения о нештатных ситуациях. Кроме того, позволяет автоматизировать некоторые задачи по администрированию. Служба агента SQL Server присутствует, но отключена на экземплярах SQL Server Express. Путь к исполняемому файлу: <MSSQLPATH>\MSSQL\Binn\sqlagent.exe.

  • Службы Analysis Services  — предоставляет средства оперативной аналитической обработки (OLAP) и средства интеллектуального анализа данных для приложений бизнес-аналитики. Путь к исполняемому файлу: <MSSQLPATH>\OLAP\Bin\msmdsrv.exe.

  • Службы Reporting Services  — предназначены для выполнения, создания, планирования, доставки отчетов и управления ими. Путь к исполняемому файлу: <MSSQLPATH>\Reporting Services\ReportServer\Bin\ReportingServicesService.exe.

  • Службы Integration Services  — обеспечивают поддержку управления хранением и выполнением пакетов служб Службы Integration Services. Путь к исполняемому файлу: <MSSQLPATH>\130\DTS\Binn\MsDtsSrvr.exe.

    Службы Integration Services может включать дополнительные службы для развертываний с горизонтальным увеличением масштаба. См. дополнительные сведения в руководствах по Настройка развертывания служб Integration Services (SSIS) с горизонтальным увеличением масштаба.

  • Обозреватель SQL Server — служба разрешения имен, которая предоставляет клиентским компьютерам сведения о подключении к SQL Server. Путь к исполняемому файлу: c:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe

  • Полнотекстовый поиск

     — быстро создает полнотекстовые индексы содержимого и свойства структурированных и полуструктурированных данных, чтобы обеспечить фильтрацию документа и разбиение по словам для SQL Server.

  • Модуль записи SQL — служит для резервного копирования и восстановления приложений для работы в составе платформы служб теневого копирования томов (VSS).

  • Контроллер распределенного воспроизведения SQL Server — обеспечивает согласование воспроизведения трассировки по нескольким клиентским компьютерам распределенного воспроизведения.

  • Клиент распределенного воспроизведения SQL Server — один или несколько клиентских компьютеров распределенного воспроизведения, работающих вместе с контроллером распределенного воспроизведения для имитации параллельных рабочих нагрузок на экземпляре Компонент SQL Server Database Engine.

  • Панель запуска SQL Server  — доверенная служба, в которой находятся внешние исполняемые файлы, предоставляемые корпорацией Майкрософт, такие как среда выполнения R или Python, установленная как часть служб R Services или служб машинного обучения. Вспомогательные процессы могут запускаться при работе панели запуска, однако они регулируются ресурсами в зависимости от конфигурации отдельного экземпляра. Служба панели запуска выполняется с использованием собственной учетной записи, и каждому вспомогательному процессу для конкретной зарегистрированной среды выполнения присваивается учетная запись пользователя панели запуска. Вспомогательные процессы создаются и удаляются по запросу во время выполнения.

    Панель запуска не может создавать используемые ею учетные записи, если вы установили SQL Server на компьютере, который используется в качестве контроллера домена. Таким образом, программа установки служб R Services (в базе данных) или служб машинного обучения (в базе данных) завершается сбоем на контроллере домена.

  • SQL Server PolyBase Engine — позволяет применять распределенные запросы к внешним источникам данных.

  • Служба перемещения данных SQL Server PolyBase — позволяет перемешать данные между SQL Server и внешними источниками данных, а также между узлами SQL в группах горизонтального масштабирования PolyBase.

Службы CEIP, устанавливаемые с SQL Server

Служба программы улучшения качества программного обеспечения (CEIP) отправляет данные телеметрии обратно в корпорацию Майкрософт.

В зависимости от компонентов, которые выбраны для установки, программа установки SQL Server устанавливает следующие службы CEIP.

  • SQLTELEMETRY  — программа улучшения качества программного обеспечения, которая отправляет данные телеметрии ядра СУБД обратно в корпорацию Майкрософт.
  • SSASTELEMETRY — программа улучшения качества программного обеспечения, которая отправляет данные телеметрии SSAS обратно в корпорацию Майкрософт.
  • SSISTELEMETRY — программа улучшения качества программного обеспечения, которая отправляет данные телеметрии SSIS обратно в корпорацию Майкрософт.

Свойства и настройка служб

В качестве стартовых учетных записей автоматического запуска, используемых для запуска и выполнения SQL Server, могут использоваться учетные записи пользователей домена, учетные записи локальных пользователей, управляемые учетные записи служб, виртуальные учетные записи или встроенные системные учетные записи. Для запуска и выполнения каждая служба SQL Server должна иметь стартовую учетную запись автоматического запуска, настраиваемую во время установки.

В этом разделе описываются учетные записи, которые могут быть настроены для запуска служб SQL Server, значения, используемые при установке SQL Server по умолчанию, понятие удостоверений безопасности служб, параметры запуска и настройка брандмауэра.

Учетные записи служб по умолчанию

В следующей таблице перечислены учетные записи служб по умолчанию, используемые программой установки при установке всех компонентов. Перечисленные учетные записи по умолчанию являются рекомендуемыми, если не указано иное.

Изолированный сервер или контроллер домена

* Если требуются ресурсы за пределами компьютера SQL Server, Microsoft рекомендует использовать управляемую учетную запись службы (MSA), которой предоставлены следующие необходимые разрешения. ** При установке на контроллере домена виртуальная учетная запись не поддерживается как учетная запись службы.

Экземпляр отказоустойчивого кластера SQL Server

Изменение свойств учетной записи

Важно!

  • Всегда используйте средства SQL Server, такие как диспетчер конфигурации SQL Server, для изменения учетной записи, используемой Компонент SQL Server Database Engine или службами агента SQL Server, или для изменения пароля учетной записи. В дополнение к изменению имени учетной записи диспетчер конфигурации SQL Server выполняет дополнительную настройку, например обновление локального хранилища безопасности Windows, которое защищает главный ключ службы для Компонент Database Engine. Другие средства, такие как диспетчер управления службами Windows, могут изменить имя учетной записи, но не изменяют все необходимые параметры.
  • Для экземпляров служб Службы Analysis Services , развертываемых на ферме SharePoint, изменение учетных записей сервера для приложений Служба Power Pivot и Службы Analysis Servicesследует всегда выполнять с помощью центра администрирования SharePoint. Связанные настройки и разрешения обновляются для обеспечения возможности использования новых учетных данных при работе с центром администрирования.
  • Чтобы изменить параметры служб Службы Reporting Services , используйте средство настройки служб Reporting Services.

Управляемые учетные записи служб, групповые управляемые учетные записи служб и виртуальные учетные записи

Управляемые учетные записи служб, групповые управляемые учетные записи служб и виртуальные учетные записи разработаны для обеспечения важных приложений, таких как SQL Server, с изоляцией собственных учетных записей, устраняя необходимость в ручном администрировании имени участника-службы (SPN) и учетных данных для этих учетных записей. Это намного упрощает долгосрочное управление пользователями учетных записей служб, паролями и именами SPN.

  • Управляемые учетные записи служб

    Управляемая учетная запись службы (MSA) — это тип учетной записи домена, создаваемый и управляемый контроллером домена. Она назначается отдельному компьютеру-участнику для использования при запуске службы. Управление паролем осуществляет автоматически контроллер домена. MSA нельзя использовать для входа на компьютер, но компьютер может использовать MSA для запуска службы Windows. MSA имеет возможность зарегистрировать имя участника-службы (SPN) в Active Directory при наличии разрешений на чтение и запись servicePrincipalName. Учетной записи MSA присваивается имя с суффиксом $ , например DOMAIN\ACCOUNTNAME$ . При указании MSA следует оставить поле пароля пустым. Поскольку учетная запись MSA назначается одному компьютеру, ее нельзя использовать на разных узлах кластера Windows.

    Примечание

    Учетная запись MSA должна быть создана в Active Directory администратором домена до того, как ее сможет использовать программа установки SQL Server для служб SQL Server.

  • Групповые управляемые учетные записи служб

    Групповая управляемая учетная запись службы (gMSA) — это управляемая учетная запись службы для нескольких серверов. Windows управляет такой учетной записью для служб, работающих на группе серверов. Active Directory обновляет пароль групповой управляемой учетной записи службы автоматически, не перезапуская при этом службы. Службы SQL Server можно настроить для использования основного экземпляра групповой управляемой учетной записи службы. Начиная с версии SQL Server 2014, SQL Server поддерживает групповые управляемые учетные записи службы для изолированных экземпляров, а с версии SQL Server 2016 — для экземпляров отказоустойчивого кластера и для групп доступности.

    Для работы с gMSA в SQL Server 2014 или более поздней версии требуется ОС Windows Server 2012 R2 или более поздней версии. Серверам с Windows Server 2012 R2 должно быть выделено 2998082 КБ , чтобы службы могли выполнять вход после изменения пароля, не нарушая работу системы.

    Дополнительные сведения см. в разделе Групповые управляемые учетные записи служб

    Примечание

    Учетная запись gMSA должна быть создана в Active Directory администратором домена до того, как ее сможет использовать программа установки SQL Server для служб SQL Server.

  • Virtual Accounts

    Виртуальные учетные записи (начиная с Windows Server 2008 R2 и Windows 7) — это управляемые локальные учетные записи , которые предоставляют следующие возможности для упрощения администрирования служб. Управление виртуальной учетной записью осуществляется автоматически, и она может получать доступ к сети в среде домена. Если установка SQL Server выполняется со значением по умолчанию для учетных записей служб, используется виртуальная учетная запись с именем, соответствующим имени экземпляра, в формате NT SERVICE\ <SERVICENAME> . Службы, запускаемые от имени виртуальных учетных записей, получают доступ к сетевым ресурсам с использованием учетных данных учетной записи компьютера в формате <имя_домена> \ <имя_компьютера> $ . При указании виртуальной учетной записи для запуска SQL Server оставьте поле пароля пустым. Если для виртуальной учетной записи не удалось зарегистрировать имя участника-службы (SPN), выполните регистрацию вручную. Дополнительные сведения о регистрации SPN вручную см. в статье Регистрация имени участника-службы для соединений Kerberos.

    Примечание

    Виртуальные учетные записи не могут использоваться для экземпляра отказоустойчивого кластера SQL Server, так как у виртуальной учетной записи будет отличаться идентификатор безопасности на каждом узле кластера.

    В следующей таблице перечислены примеры имен виртуальных учетных записей.

    СлужбаИмя виртуальной учетной записи
    Экземпляр по умолчанию службы компонента Компонент Database EngineNT SERVICE\MSSQLSERVER
    Именованный экземпляр службы компонента Компонент Database Engine с именем PAYROLLNT SERVICE\MSSQL$PAYROLL
    Служба агента SQL Server на экземпляре SQL Server по умолчаниюNT SERVICE\SQLSERVERAGENT
    Служба агента SQL Server на экземпляре SQL Server с именем PAYROLLNT SERVICE\SQLAGENT$PAYROLL

Дополнительные сведения об управляемых учетных записях служб и виртуальных учетных записях см. в разделе Основные понятия управляемых учетных записей служб и виртуальных учетных записейПошагового руководства по учетным записям служб , а также в документе Вопросы и ответы по управляемым учетным записям служб.

Примечание

Всегда запускайте службы SQL Server с наименьшими пользовательскими правами. По возможности используйте управляемую учетную запись службы, групповую управляемую учетную запись службы или виртуальную учетную запись. Если использование управляемых учетных записей служб, групповых управляемых учетных записей служб и виртуальных учетных записей невозможно, используйте специальную учетную запись пользователя с ограниченными правами доступа или учетную запись домена вместо общей учетной записи для служб SQL Server. Используйте отдельные учетные записи для разных служб SQL Server. Не предоставляйте дополнительные разрешения учетной записи службы SQL Server или группам службы. Разрешения идентификатору безопасности службы будут предоставлены через членство в группе или напрямую самому идентификатору службы там, где поддерживается идентификатор службы.

Автоматический запуск

Кроме учетной записи каждая служба имеет три возможных типа запуска, которыми могут управлять пользователи.

  • Отключено . Служба установлена, но в данный момент не запущена.
  • Вручную. Служба установлена, но будет запущена тогда, когда потребуется другой службе или приложению.
  • Автоматически . Служба автоматически запускается операционной системой.

Тип запуска выбирается во время установки. При установке именованного экземпляра службу обозревателя SQL Server следует настроить на автоматический запуск.

Настройка служб во время автоматической установки

В таблице ниже приведены службы SQL Server, которые могут быть настроены в ходе установки. Для автоматической установки можно задать параметры в файле конфигурации или командной строке.

Имя службы SQL ServerПараметры для автоматической установки*
MSSQLSERVERSQLSVCACCOUNT, SQLSVCPASSWORD, SQLSVCSTARTUPTYPE
SQLServerAgent**AGTSVCACCOUNT, AGTSVCPASSWORD, AGTSVCSTARTUPTYPE
MSSQLServerOLAPServiceASSVCACCOUNT, ASSVCPASSWORD, ASSVCSTARTUPTYPE
ReportServerRSSVCACCOUNT, RSSVCPASSWORD, RSSVCSTARTUPTYPE
Службы Integration ServicesISSVCACCOUNT, ISSVCPASSWORD, ISSVCSTARTUPTYPE
Контроллер распределенного воспроизведения SQL ServerDRU_CTLR, CTLRSVCACCOUNT, CTLRSVCPASSWORD, CTLRSTARTUPTYPE, CTLRUSERS
Клиент распределенного воспроизведения SQL ServerDRU_CLT, CLTSVCACCOUNT, CLTSVCPASSWORD, CLTSTARTUPTYPE, CLTCTLRNAME, CLTWORKINGDIR, CLTRESULTDIR
R Services или службы машинного обучения (Майкрософт)EXTSVCACCOUNT, EXTSVCPASSWORD, ADVANCEDANALYTICS***
Ядро PolyBasePBENGSVCACCOUNT, PBENGSVCPASSWORD, PBENGSVCSTARTUPTYPE, PBDMSSVCACCOUNT, PBDMSSVCPASSWORD, PBDMSSVCSTARTUPTYPE, PBSCALEOUT, PBPORTRANGE

* Дополнительные сведения и примеры синтаксиса для автоматической установки см. в руководстве по установке SQL Server 2016 из командной строки.

**Служба агента SQL Server отключена на экземплярах SQL Server Express и SQL Server Express с дополнительными службами.

***Настройка учетной записи для панели запуска с помощью одних только параметров сейчас не поддерживается. Используйте диспетчер конфигурации SQL Server, чтобы изменить учетную запись и другие параметры службы.

Порт брандмауэра

Обычно при начальной установке компонента Компонент Database Engine к нему можно подключаться с помощью таких средств, как среда SQL Server Management Studio, установленных на том же компьютере, что и SQL Server. Программа установки SQL Server не открывает порты в брандмауэре Windows. Соединение с другими компьютерами может оказаться невозможным, пока компонент Компонент Database Engine будет настроен для прослушивания TCP-порта, закрытого для соединений в брандмауэре Windows. Дополнительные сведения см. в статье Настройка брандмауэра Windows для разрешения доступа к SQL Server.

Разрешения службы

В этом разделе описаны разрешения, которые настраивает программа установки SQL Server для идентификаторов безопасности служб SQL Server.

Настройка служб и управление доступом

SQL Server позволяет обеспечить изоляцию и всестороннюю защиту, предоставляя идентификатор безопасности для каждой службы. Идентификатор безопасности службы создается на основе имени службы и является уникальным для этой службы. Например, именем идентификатора безопасности службы для именованного экземпляра службы Компонент Database Engine может быть NT Service\MSSQL$ <InstanceName> . Изоляция служб обеспечивает доступ к конкретным объектам без необходимости использования учетной записи с высоким уровнем привилегий или ослабления защиты этих объектов. Используя запись управления доступом, содержащую идентификатор безопасности службы, служба SQL Server может ограничить доступ к своим ресурсам.

Примечание

В Windows 7 и Windows Server 2008 R2 (и более поздних версиях) удостоверением безопасности службы может быть виртуальная учетная запись, используемая этой службой.

Для большинства компонентов SQL Server настраивает список управления доступом для учетной записи службы непосредственно, поэтому изменение учетной записи службы можно выполнить без необходимости повторения обработки списка управления доступом к ресурсу.

При установке служб Службы SSASсоздается удостоверение безопасности для службы Службы Analysis Services . Создается локальная группа Windows с именем в формате SQLServerMSASUser$ имя_компьютера $ имя_экземпляра. Удостоверению безопасности службы NT SERVICE\MSSQLServerOLAPService предоставляется членство в локальной группе Windows, а локальной группе Windows — соответствующие разрешения в списке управления доступом. В случае изменения учетной записи, используемой для запуска службы Службы Analysis Services, диспетчер конфигурации SQL Server должен изменить некоторые разрешения Windows (например, право на вход в качестве службы), но разрешения, назначенные локальной группе Windows, будут все равно доступны без обновления, так как идентификатор безопасности службы не был изменен. Этот метод позволяет переименовывать службу Службы Analysis Services во время обновлений.

Во время установки SQL Server программа установки создает локальную группу Windows для Службы SSAS и службы обозревателя SQL Server. Для этих служб SQL Server настраивает список управления доступом к локальным группам Windows.

В зависимости от конфигурации службы учетная запись службы или ее идентификатор безопасности добавляется как элемент группы служб во время установки или обновления.

Права доступа и права Windows

Учетной записи, назначенной для запуска службы, необходимы разрешения на запуск, остановку и приостановку службы. Они автоматически назначаются программой установки SQL Server. Сначала установите средства администрирования удаленного сервера (RSAT). См. раздел Средства администрирования удаленного сервера для Windows 10.

В следующей таблице перечислены разрешения, которые запрашивает программа установки SQL Server для удостоверений безопасности служб или локальных групп Windows, используемых компонентами SQL Server.

Служба SQL ServerРазрешения, предоставляемые программой установки SQL Server
Компонент SQL Server Database Engine:

(Все права предоставляются удостоверению безопасности службы. Экземпляр по умолчанию: NT SERVICE\MSSQLSERVER. Именованный экземпляр: NT Service\MSSQLServer$ ИмяЭкземпляра.)

Вход в систему в качестве службы (SeServiceLogonRight)

Замена токена уровня процесса (SeAssignPrimaryTokenPrivilege)

Обход проходной проверки (SeChangeNotifyPrivilege)

Назначение квот памяти процессам (SeIncreaseQuotaPrivilege)

Разрешение на запуск модуля записи SQL Writer

Разрешение на чтение службы журнала событий

Разрешение на чтение службы удаленного вызова процедур (RPC)

Агент SQL Server: *

(Все права предоставляются удостоверению безопасности службы. Экземпляр по умолчанию: NT Service\SQLSERVERAGENT. Именованный экземпляр: NT Service\SQLAGENT$ имя_экземпляра.)

Вход в систему в качестве службы (SeServiceLogonRight)

Замена токена уровня процесса (SeAssignPrimaryTokenPrivilege)

Обход проходной проверки (SeChangeNotifyPrivilege)

Назначение квот памяти процессам (SeIncreaseQuotaPrivilege)

Службы SSAS:

(Все права предоставляются локальной группе Windows. Экземпляр по умолчанию: SQLServerMSASUser$ имя_компьютера $MSSQLSERVER. Именованный экземпляр: SQLServerMSASUser$ имя_компьютера $ имя_экземпляра. Экземпляр Power Pivot для SharePoint: SQLServerMSASUser$ имя_компьютера $ PowerPivot.)

Вход в систему в качестве службы (SeServiceLogonRight)

Только для табличного режима:

Увеличение рабочего набора процесса (SeIncreaseWorkingSetPrivilege)

Назначение квот памяти процессам (SeIncreaseQuotaPrivilege)

Блокировка страниц в памяти (SeLockMemoryPrivilege) — это право доступа требуется только в случае полного отключения функции разбиения по страницам.

Только для установок отказоустойчивого кластера:

Увеличение приоритета планирования (SeIncreaseBasePriorityPrivilege)

Службы SSRS:

(Все права предоставляются удостоверению безопасности службы. Экземпляр по умолчанию: NT SERVICE\ReportServer. Именованный экземпляр: NT SERVICE\ReportServer$ имя_экземпляра.)

Вход в систему в качестве службы (SeServiceLogonRight)
Integration Services:

(Все права предоставляются удостоверению безопасности службы. Экземпляр по умолчанию и именованный экземпляр: NT SERVICE\MsDtsServer130. У Службы Integration Services нет отдельного процесса для именованного экземпляра.)

Вход в систему в качестве службы (SeServiceLogonRight)

Разрешение на запись в журнал событий приложений

Обход проходной проверки (SeChangeNotifyPrivilege)

Олицетворение клиента после проверки подлинности (SeImpersonatePrivilege)

Полнотекстовый поиск:

(Все права предоставляются удостоверению безопасности службы. Экземпляр по умолчанию: NT Service\MSSQLFDLauncher. Именованный экземпляр: NT Service\ MSSQLFDLauncher$ имя_экземпляра.)

Вход в систему в качестве службы (SeServiceLogonRight)

Назначение квот памяти процессам (SeIncreaseQuotaPrivilege)

Обход проходной проверки (SeChangeNotifyPrivilege)

Обозреватель SQL Server:

(Все права предоставляются локальной группе Windows. Именованный экземпляр или экземпляр по умолчанию: SQLServer2005SQLBrowserUser $имя_компьютера. В обозревателе SQL Server нет отдельного процесса для именованного экземпляра.)

Вход в систему в качестве службы (SeServiceLogonRight)
Модуль записи VSS SQL Server:

(Все права предоставляются удостоверению безопасности службы. Именованный экземпляр или экземпляр по умолчанию: NT Service\SQLWriter. В модуле записи VSS SQL Server нет отдельного процесса для именованного экземпляра.)

Служба SQLWriter запускается под учетной записью LOCAL SYSTEM, которая имеет все необходимые разрешения. Программа установки SQL Server не проверяет и не предоставляет разрешения для данной службы.
Контроллер распределенного воспроизведения SQL Server:Вход в систему в качестве службы (SeServiceLogonRight)
Клиент распределенного воспроизведения SQL Server:Вход в систему в качестве службы (SeServiceLogonRight)
Ядро PolyBase и DMSВход в систему в качестве службы (SeServiceLogonRight)
Панель запуска:Вход в систему в качестве службы (SeServiceLogonRight)

Замена токена уровня процесса (SeAssignPrimaryTokenPrivilege)

Обход проходной проверки (SeChangeNotifyPrivilege)

Назначение квот памяти процессам (SeIncreaseQuotaPrivilege)

R Services или службы машинного обучения (Майкрософт): SQLRUserGroup (SQL 2016 и 2017)Не имеют разрешения Локальный вход в систему по умолчанию.
Службы машинного обучения: все пакеты приложений [AppContainer] (SQL 2019)Разрешения READ и EXECUTE для каталогов Binn, R_Services и PYTHON_Services SQL Server

*Служба агента SQL Server отключена на экземплярах SQL Server Express.

Разрешения файловой системы, предоставляемые для SQL Server согласно SID-идентификаторам служб или локальным группам Windows

Учетные записи служб SQL Server должны иметь доступ к ресурсам. Списки управления доступом задаются для каждого удостоверения безопасности службы или локальной группы Windows.

Важно!

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

В следующей таблице показаны списки управления доступом, настраиваемые программой установки SQL Server.

Учетная запись службы дляФайлы и папкиДоступ
MSSQLServerInstid\MSSQL\backupПолный доступ
Instid\MSSQL\binnЧтение и выполнение
Instid\MSSQL\dataПолный доступ
Instid\MSSQL\FTDataПолный доступ
Instid\MSSQL\InstallЧтение и выполнение
Instid\MSSQL\LogПолный доступ
Instid\MSSQL\RepldataПолный доступ
130\sharedЧтение и выполнение
Instid\MSSQL\Template Data (толькоSQL Server Express )Чтение
SQLServerAgent*Instid\MSSQL\binnПолный доступ
Instid\MSSQL\LogЧтение, запись, удаление и выполнение
130\comЧтение и выполнение
130\sharedЧтение и выполнение
130\shared\ErrordumpsЧтение и запись
ServerName\EventLogПолный доступ
FTSInstid\MSSQL\FTDataПолный доступ
Instid\MSSQL\FTRefЧтение и выполнение
130\sharedЧтение и выполнение
130\shared\ErrordumpsЧтение и запись
Instid\MSSQL\InstallЧтение и выполнение
Instid\MSSQL\jobsЧтение и запись
MSSQLServerOLAPService130\shared\ASConfigПолный доступ
Instid\OLAPЧтение и выполнение
Instid\Olap\DataПолный доступ
Instid\Olap\LogЧтение и запись
Instid\OLAP\BackupЧтение и запись
Instid\OLAP\TempЧтение и запись
130\shared\ErrordumpsЧтение и запись
ReportServerInstid\Reporting Services\Log FilesЧтение, запись и удаление
Instid\Reporting Services\ReportServerЧтение и выполнение
Instid\Reporting Services\ReportServer\global.asaxПолный доступ
Instid\Reporting Services\ReportServer\rsreportserver.configЧтение
Instid\Reporting Services\RSTempfilesЧтение, запись, выполнение и удаление
Instid\Reporting Services\RSWebAppЧтение и выполнение
130\sharedЧтение и выполнение
130\shared\ErrordumpsЧтение и запись
MSDTSServer100130\dts\binn\MsDtsSrvr.ini.xmlЧтение
130\dts\binnЧтение и выполнение
130\sharedЧтение и выполнение
130\shared\ErrordumpsЧтение и запись
Обозреватель SQL Server130\shared\ASConfigЧтение
130\sharedЧтение и выполнение
130\shared\ErrordumpsЧтение и запись
SQLWriterн/д (запускается с учетной записью локальной системы)
ПользовательInstid\MSSQL\binnЧтение и выполнение
Instid\Reporting Services\ReportServerЧтение и выполнение, список содержимого папки
Instid\Reporting Services\ReportServer\global.asaxЧтение
Instid\Reporting Services\RSWebAppЧтение и выполнение, список содержимого папки
130\dtsЧтение и выполнение
130\toolsЧтение и выполнение
100\toolsЧтение и выполнение
90\toolsЧтение и выполнение
80\toolsЧтение и выполнение
130\sdkЧтение
Microsoft SQL Server\130\Setup BootstrapЧтение и выполнение
Контроллер распределенного воспроизведения SQL Server<ToolsDir>\DReplayController\Log\ (пустой каталог)Чтение и выполнение, список содержимого папки
<ToolsDir>\DReplayController\DReplayController.exeЧтение и выполнение, список содержимого папки
<ToolsDir>\DReplayController\resources|Чтение, выполнение, просмотр содержимого папки
<ToolsDir>\DReplayController\{все DLL-библиотеки}Чтение и выполнение, список содержимого папки
<ToolsDir>\DReplayController\DReplayController.configЧтение и выполнение, список содержимого папки
<ToolsDir>\DReplayController\IRTemplate.tdfЧтение и выполнение, список содержимого папки
<ToolsDir>\DReplayController\IRDefinition.xmlЧтение и выполнение, список содержимого папки
Клиент распределенного воспроизведения SQL Server<ToolsDir>\DReplayClient\Log|Чтение, выполнение, просмотр содержимого папки
<ToolsDir>\DReplayClient\DReplayClient.exeЧтение и выполнение, список содержимого папки
<ToolsDir>\DReplayClient\resources|Чтение, выполнение, просмотр содержимого папки
<ToolsDir>\DReplayClient\ (все DLL-библиотеки)Чтение и выполнение, список содержимого папки
<ToolsDir>\DReplayClient\DReplayClient.configЧтение и выполнение, список содержимого папки
<ToolsDir>\DReplayClient\IRTemplate.tdfЧтение и выполнение, список содержимого папки
<ToolsDir>\DReplayClient\IRDefinition.xmlЧтение и выполнение, список содержимого папки
Панель запуска%binnЧтение и выполнение
ExtensiblilityDataПолный доступ
Log\ExtensibilityLogПолный доступ

*Служба агента SQL Server отключена на экземплярах SQL Server Express и SQL Server Express с дополнительными службами.

Когда файлы базы данных хранятся в определяемом пользователем расположении, идентификатору безопасности службы необходимо предоставить доступ к этому расположению. Дополнительные сведения о предоставлении разрешений файловой системы идентификаторам безопасности служб см. в статье Настройка разрешений файловой системы для доступа к компоненту ядра СУБД.

Разрешения файловой системы, предоставляемые другим учетным записям или группам Windows

Некоторые управляющие разрешения на доступ могут быть предоставлены для встроенных и других учетных записей служб SQL Server. В следующей таблице перечислены дополнительные списки управления доступом, настраиваемые программой установки SQL Server.

Запрашивающий компонентУчетная записьРесурсРазрешения
MSSQLServerПользователи журнала производительностиInstid\MSSQL\binnПросмотр содержимого папки
пользователи системного монитора.Instid\MSSQL\binnПросмотр содержимого папки
Пользователи журнала производительности, пользователи системного монитора\WINNT\system32\sqlctr130.dllЧтение и выполнение
Только администратор\\.\root\Microsoft\SqlServer\ServerEvents\<имя_экземпляра_SQL>*Полный доступ
Администраторы, система\tools\binn\schemas\sqlserver\2004\07\showplanПолный доступ
Пользователи\tools\binn\schemas\sqlserver\2004\07\showplanЧтение и выполнение
Службы Reporting ServicesУчетная запись службы Windows для сервера отчетов<install> \Reporting Services\LogFilesDELETE

READ_CONTROL

SYNCHRONIZE

FILE_GENERIC_READ

FILE_GENERIC_WRITE

FILE_READ_DATA

FILE_WRITE_DATA

FILE_APPEND_DATA

FILE_READ_EA

FILE_WRITE_EA

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

Учетная запись службы Windows для сервера отчетов<install> \Reporting Services\ReportServerЧтение
Учетная запись службы Windows для сервера отчетов<install> \Reporting Services\ReportServer\global.asaxПолное
Учетная запись службы Windows для сервера отчетов<install> \Reporting Services\RSWebAppЧтение и выполнение
Все<install> \Reporting Services\ReportServer\global.asaxREAD_CONTROL

FILE_READ_DATA

FILE_READ_EA

FILE_READ_ATTRIBUTES

Учетная запись службы Windows для сервера отчетов<install> \Reporting Services\ReportServer\rsreportserver.configDELETE

READ_CONTROL

SYNCHRONIZE

FILE_GENERIC_READ

FILE_GENERIC_WRITE

FILE_READ_DATA

FILE_WRITE_DATA

FILE_APPEND_DATA

FILE_READ_EA

FILE_WRITE_EA

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

ВсеРазделы реестра сервера отчетов (куст Instid)Запрос значения

Перечисление подразделов

Уведомление

Управление чтением

Пользователь служб терминалаРазделы реестра сервера отчетов (куст Instid)Запрос значения

Установка значения

Создание подраздела

Перечисление подразделов

Уведомление

DELETE

Управление чтением

Опытные пользователиРазделы реестра сервера отчетов (куст Instid)Запрос значения

Установка значения

Создание подраздела

Перечисление подразделов

Уведомление

DELETE

Управление чтением

* Это пространство имен поставщика WMI.

Разрешения файловой системы, связанные с нестандартными дисковыми расположениями

Диском по умолчанию для установки является systemdrive, обычно это диск C. В этом разделе содержатся дополнительные рекомендации, относящиеся к установке базы данных tempdb или пользовательских баз данных в необычных расположениях.

Диск не по умолчанию

При установке на локальный диск, который не является диском по умолчанию, удостоверение безопасности службы должно иметь доступ к расположению файлов. Программа установки SQL Server предоставляет необходимые права доступа.

Общая сетевая папка

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

Примечание

Виртуальные учетные записи не могут проходить проверку подлинности в удаленном расположении. Все виртуальные учетные записи используют разрешение локальной учетной записи. Укажите учетную запись компьютера в формате <имя_домена> \ <имя_компьютера> $ .

Обзор дополнительных вопросов

В следующей таблице перечислены разрешения, которые необходимы службам SQL Server для поддержки дополнительных функций.

Служба или приложениеФункциональностьТребуемое разрешение
SQL Server (MSSQLSERVER)Запись в почтовый слот с помощью xp_sendmail.Разрешения на запись по сети.
SQL Server (MSSQLSERVER)Запуск xp_cmdshell пользователем, не являющимся администратором SQL Server.Работа в качестве части операционной системы, а также замена токена уровня процесса.
SQL Server Agent (MSSQLSERVER)Использование функции автоматического перезапуска.Должен быть членом локальной группы «Администраторы».
Помощник по настройкеКомпонент Database EngineПозволяет настраивать базы данных для оптимальной производительности запросов.При первом запуске приложение должно быть инициализировано пользователем с учетными данными системного администратора. После этого пользователи dbo могут при использовании помощника по настройке компонента Компонент Database Engine настраивать только те таблицы, владельцами которых они являются. Дополнительные сведения см. в статье «Инициализация помощника по настройке Компонент Database Engine при первом использовании» в электронной документации по SQL Server.

Важно!

Перед обновлением SQL Server, включите агент SQL Server и проверьте необходимые настройки конфигурации по умолчанию: является ли учетная запись службы агента SQL Server членом предопределенной роли сервера SQL Server sysadmin.

Разрешения для реестра

В разделе HKLM\Software\Microsoft\Microsoft SQL Server\ <ИД_экземпляра> создается куст реестра для компонентов, привязанных к экземпляру. Например.

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL13.MyInstance
  • HKLM\Software\Microsoft\Microsoft SQL Server\MSASSQL13.MyInstance
  • HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.130

В реестре также хранится сопоставление идентификаторов экземпляров с именами экземпляров. Сопоставление идентификатора экземпляра с именем экземпляра осуществляется следующим образом:

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL] «InstanceName»=»MSSQL13»
  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] «InstanceName»=»MSASSQL13»
  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] «InstanceName»=»MSRSSQL13»

WMI

Инструментарий управления Windows (WMI) должен иметь возможность подключиться к компоненту Компонент Database Engine. Для этого компонент предоставляет удостоверение безопасности службы поставщика WMI ( NT SERVICE\winmgmt Компонент Database Engine).

Поставщику SQL WMI необходимы следующие минимальные разрешения:

  • Членство в предопределенных ролях db_ddladmin или db_owner базы данных msdb.

  • Разрешение CREATE DDL EVENT NOTIFICATION на сервере.

  • Разрешение CREATE TRACE EVENT NOTIFICATION компонента Компонент Database Engine.

  • Разрешение уровня сервера VIEW ANY DATABASE .

    Программа установки SQL Server создает пространство имен SQL WMI и предоставляет разрешение на чтение идентификатору безопасности службы агента SQL Server.

Именованные каналы

Во всех видах установки программа установки SQL Server предоставляет доступ к компоненту Компонент SQL Server Database Engine через протокол общей памяти, который является локальным именованным каналом.

Подготовка

В этом разделе описывается подготовка учетных записей в разных компонентах SQL Server.

Подготовка ядра СУБД к работе

Следующие учетные записи добавляются в качестве имен входа в компонент Компонент SQL Server Database Engine.

Участники Windows

Во время установки программе установки SQL Server требуется наличие как минимум одной учетной записи пользователя, являющейся членом предопределенной роли сервера sysadmin.

Учетная запись sa

Учетная запись sa всегда присутствует в качестве имени входа в компонент Компонент Database Engine и является членом предопределенной роли сервера sysadmin . Если компонент Компонент Database Engine установлен с использованием только проверки подлинности Windows (то есть проверка подлинности SQL Server не включена), имя входа sa все равно будет присутствовать, но будет отключено, а пароль будет сложным и случайным. Дополнительные сведения о включении учетной записи sa см. в статье Изменение режима проверки подлинности сервера.

Вход на SQL Server и права доступа для удостоверений безопасности служб

Идентификатор безопасности службы (порой также называемый субъектом безопасности службы (SID)) для службы SQL Server подготавливается как имя входа Компонент Database Engine. Имя входа удостоверения безопасности службы является членом предопределенной роли сервера sysadmin . Сведения об удостоверениях безопасности служб см. в Использование идентификаторов безопасности для предоставления разрешений службам в SQL Server.

Вход и права доступа агента SQL Server

Идентификатор безопасности службы агента SQL Server подготавливается в качестве имени входа Компонент Database Engine. Имя входа удостоверения безопасности службы является членом предопределенной роли сервера sysadmin .

Группы доступности AlwaysOn и отказоустойчивый кластер SQL — привилегии

При установке компонента Компонент Database Engine в качестве Группы доступности AlwaysOn или отказоустойчивого кластера SQL (SQL FCI) учетная запись LOCAL SYSTEM предоставляется компоненту Компонент Database Engine. Имени входа LOCAL SYSTEM предоставляется разрешение ALTER ANY AVAILABILITY GROUP (для Группы доступности AlwaysOn) и разрешение VIEW SERVER STATE (для SQL FCI).

Модуль записи SQL и права доступа

Идентификатор безопасности службы модуля записи VSS в SQL Server подготавливается в качестве имени входа Компонент Database Engine. Имя входа удостоверения безопасности службы является членом предопределенной роли сервера sysadmin .

SQL WMI и права доступа

Программа установки SQL Server подготавливает учетную запись NT SERVICE\Winmgmt как имя входа Компонент Database Engine и добавляет ее к фиксированной роли сервера sysadmin.

Подготовка служб SSRS

Учетная запись, указанная во время установки, предоставляется в качестве члена роли базы данных RSExecRole . Дополнительные сведения см. в разделе Настройка учетной записи службы сервера отчетов (диспетчер конфигурации служб SSRS).

Подготовка служб SSAS

Требования к учетной записи службыСлужбы SSAS различаются в зависимости от способа развертывания сервера. При установке Power Pivot для SharePoint программе установки SQL Server требуется, чтобы служба Службы Analysis Services запускалась с использованием учетной записи домена. Учетные записи домена необходимы для поддержки механизма управляемых учетных записей, встроенного в SharePoint. По этой причине программа установки SQL Server не предоставляет учетную запись службы по умолчанию, например виртуальную учетную запись, для установки Power Pivot для SharePoint. Дополнительные сведения о подготовке Power Pivot для SharePoint см. в статье Настройка учетных записей служб Power Pivot.

Для всех других случаев автономной установки служб Службы SSAS можно предоставить службу для запуска под учетной записью домена, встроенной системной учетной записью, управляемой или виртуальной учетной записью. Дополнительные сведения о подготовке учетных записей см. в статье Настройка учетных записей службы (службы Analysis Services).

Для кластерной установки необходимо указать учетную запись домена или встроенную системную учетную запись. Ни управляемые, ни виртуальные учетные записи не поддерживаются для отказоустойчивых кластеров служб Службы SSAS .

Для установки служб Службы SSAS необходимо указать системного администратора экземпляра Службы Analysis Services . Права администратора предоставляются роли Сервер служб Analysis Services.

Подготовка служб SSRS

Учетная запись, указанная во время установки, предоставляется компоненту Компонент Database Engine в качестве члена роли базы данных RSExecRole . Дополнительные сведения см. в разделе Настройка учетной записи службы сервера отчетов (диспетчер конфигурации служб SSRS).

Обновление с предыдущих версий

В этом разделе описываются изменения, внесенные во время обновления предыдущей версии SQL Server.

  • Для SQL Server 2019 (15.x) требуется поддерживаемая операционная система. Для предыдущих версий SQL Server, работающих в более низкой версии операционной системы, необходимо обновить операционную систему, прежде чем обновлять SQL Server.

  • Во время обновления SQL Server 2005 (9.x) до SQL Server 2019 (15.x) программа установки настраивает экземпляр SQL Server следующим образом.

    • Компонент Компонент Database Engine запускается в контексте безопасности удостоверения безопасности службы. Идентификатору безопасности службы предоставляется доступ к папкам с файлами экземпляра SQL Server (например, DATA), а также к разделам реестра SQL Server.
    • Удостоверение безопасности службы компонента Компонент Database Engine предоставляется компоненту Компонент Database Engine в качестве члена предопределенной роли сервера sysadmin .
    • Идентификатор безопасности службы добавляется в локальные группы Windows для SQL Server, если SQL Server не является экземпляром отказоустойчивого кластера.
    • Ресурсы SQL Server остаются предоставленными локальным группам Windows для SQL Server.
    • Локальная группа Windows для служб переименовывается с SQLServer2005MSSQLUser$ <имя_компьютера> $ <имя_экземпляра> на SQLServerMSSQLUser$ <имя_компьютера> $ <имя_экземпляра> . Расположения файлов перенесенных баз данных имеют записи управления доступом (ACE) для локальных групп Windows. Расположения файлов для новых баз данных имеют записи ACE для идентификатора безопасности службы.
  • Во время обновления с SQL Server 2008 программа установки SQL Server сохраняет запись ACE для идентификатора безопасности службы SQL Server 2008.

  • Для экземпляра отказоустойчивого кластера SQL Server записи ACE учетной записи домена, настроенные для службы, сохраняются.

Приложение

В данном разделе содержатся дополнительные сведения о службах SQL Server.

Описание учетных записей служб

Учетной записью службы является учетная запись, используемая для запуска службы Windows, например Компонент SQL Server Database Engine. При запуске SQL Server не требуется добавлять учетную запись службы в качестве имени входа для SQL Server в дополнение к идентификатору безопасности службы, который имеется всегда и является членом предопределенной роли сервера sysadmin.

Учетные записи, доступные в любой операционной системе

В дополнение к новым управляемым учетным записям служб, групповым управляемым учетным записям служб и виртуальным учетным записям, описанным выше, могут использоваться следующие учетные записи.

Учетная запись пользователя домена

Если служба должна взаимодействовать с сетевыми службами, получать доступ к ресурсам домена (например, к общей папке) либо использовать соединения связанного сервера с другими компьютерами, работающими под управлением SQL Server, используйте учетную запись домена с минимальными правами доступа. Многие операции межсерверного взаимодействия могут быть выполнены только от учетной записи пользователя домена. Эта учетная запись должна быть создана предварительно администрацией домена в используемой среде.

Примечание

При настройке SQL Server на использование учетной записи домена можно изолировать права доступа для службы, при этом придется управлять паролями вручную или создать пользовательское решение для управления паролями. Эта стратегия помогает повысить безопасность многих серверных приложений, но повышает сложность и требует дополнительного администрирования. В этих случаях развертывания администраторы служб тратят значительное количество времени на выполнение задач обслуживания, таких как управление паролями служб и именами участников-служб (SPN), необходимыми для проверки подлинности Kerberos. Кроме того, задачи обслуживания могут нарушить работу службы.

Локальные учетные записи пользователей

Если компьютер не является частью домена, рекомендуется использовать учетную запись локального пользователя, не имеющую разрешений администратора Windows.

Учетная запись локальной службы

Учетная запись локальной службы является встроенной и имеет тот же уровень доступа к ресурсам и объектам, что и члены группы «Пользователи». Такой ограниченный доступ помогает защитить систему в случае нарушения безопасности отдельных служб или процессов. Службы, запускаемые с учетной записью локальной службы, получают доступ к сетевым ресурсам в качестве нулевого сеанса без использования учетных данных.

Примечание

Учетная запись локальной службы не поддерживается для служб SQL Server и агента SQL Server. Локальная служба не поддерживается в качестве учетной записи для запуска этих служб, так как это общая служба, а любые другие службы, работающие под учетной записью локальной службы, получили бы доступ с правами администратора к SQL Server. Фактическое имя этой учетной записи — NT AUTHORITY\LOCAL SERVICE.

Учетная запись сетевой службы

Встроенная учетная запись сетевой службы имеет более высокий уровень доступа к ресурсам и объектам, чем члены группы «Пользователи». Службы, запущенные из-под учетной записи сетевой службы, производят доступ к сетевым ресурсам с помощью данных учетной записи компьютера в формате <имя_домена> \ <имя_компьютера> $ . Фактическое имя этой учетной записи — NT AUTHORITY\NETWORK SERVICE.

Учетная запись локальной системы

Локальная система — это встроенная учетная запись, обладающая очень высокими правами доступа. Она имеет обширные права и выступает в качестве компьютера сети. Фактическое имя этой учетной записи — NT AUTHORITY\SYSTEM.

Идентификация зависимых и не зависимых от экземпляра служб

Служба, связанная с экземпляром, относится к конкретному экземпляру SQL Server, и ей выделяется отдельный куст реестра. Запустив программу установки SQL Server для каждого компонента или службы, можно установить несколько копий служб, связанных с экземплярами. Службы, не связанные с экземплярами, являются общими для всех установленных экземпляров SQL Server. Они устанавливаются всего один раз, их параллельная установка не допускается.

В число служб SQL Server, связанных с экземпляром, входят следующие.

  • SQL Server

  • Агент SQL Server

    Необходимо помнить, что служба агента SQL Server отключена в экземплярах SQL Server Express и SQL Server Express с дополнительными службами.

  • Службы Analysis Services*

  • Службы Reporting Services

  • Полнотекстовый поиск

    В число служб SQL Server, не связанных с экземпляром, входят следующие.

  • Службы Integration Services

  • Обозреватель SQL Server

  • Модуль записи SQL

* Службы Analysis Services в режиме интеграции с SharePoint работают в виде единичного именованного экземпляра Power Pivot. Имя экземпляра фиксировано. Другое имя указать нельзя. На каждом физическом сервере можно установить только один экземпляр служб Analysis Services, работающих какPower Pivot.

Локализованные имена служб

В следующей таблице показаны имена служб, отображаемые в локализованных версиях Windows.

ЯзыкИмя для Local ServiceИмя сетевой службыИмя Local SystemИмя группы администраторов
Английский

Китайский (упрощенный)

Китайский (традиционный)

Корейский

Японский

NT AUTHORITY\LOCAL SERVICENT AUTHORITY\NETWORK SERVICENT AUTHORITY\SYSTEMBUILTIN\Administrators
НемецкийNT-AUTORITДT\LOKALER DIENSTNT-AUTORITДT\NETZWERKDIENSTNT-AUTORITДT\SYSTEMVORDEFINIERT\Administratoren
ФранцузскийAUTORITE NT\SERVICE LOCALAUTORITE NT\SERVICE RЙSEAUAUTORITE NT\SYSTEMBUILTIN\Administrators
ИтальянскийNT AUTHORITY\SERVIZIO LOCALENT AUTHORITY\SERVIZIO DI RETENT AUTHORITY\SYSTEMBUILTIN\Administrators
ИспанскийNT AUTHORITY\SERVICIO LOCNT AUTHORITY\SERVICIO DE REDNT AUTHORITY\SYSTEMBUILTIN\Administradores
РусскийNT AUTHORITY\LOCAL SERVICENT AUTHORITY\NETWORK SERVICENT AUTHORITY\СИСТЕМАBUILTIN\Администраторы

См. также

Доступ к сетевой папке под NT AUTHORITYNetworkService

В рамках одного из проектов пришлось настраивать приложение, которое должно было выполнять резервное копирование базы данных на удаленном сервере MS SQL в файловое хранилище на другом сервере. Для доступа к удаленному хранилищу используется аккаунт, под которым работает MS SQL. В нашем случае MS SQL был запущен под локальной учетной записью Network Service (NT AUTHORITY\NetworkService). Естественно, у этой локальной учетной записи нет никаких полномочий на удаленной шаре. Можно кончено было переключить MS SQL на работу под доменной учетной записью (или сервисной управляемой учетной записью), однако можно настроить удаленный доступ к шаре и под NT AUTHORITY\NetworkService.

    Содержание:

  • Как разрешить доступ к другому компьютеры под учеткой NetworkService
  • А что с другими локальными аккаунтами?

Как разрешить доступ к другому компьютеры под учеткой NetworkService

  1. Откройте свойства папки, к которой нужно открыть доступ.
  2. Перейдите на вкладку Security и нажмите кнопку Edit.
  3. В окне со списком разрешений нажмите кнопку Add.
  4. Нажмите на кнопку Object Types и списке доступных типов объектов доступа выберите опцию Computers и нажмите OK.
  5. Укажите имя компьютера, который под учетной записью NetworkService должен обращаться к данному компьютеру. Нажмите Check Name и в списке найденных объектов выберите нужный. Обратите внимание, что в конце сетевого имени компьютера стоит знак $.
  6. Выберите необходимые разрешения (чтение, запись, полный контроль и т.д.)Нажмите OK.

Если нужно предоставить доступ нескольким компьютерам, проще всего объединить их одной группой и предоставлять доступ уже группе. Создайте новую группу в AD и добавьте в нее все учетные записи компьютеров, которые должны обращаться к сетевому ресурсу с правами Network Service. В свойствах папки предоставьте необходимые разрешения группе.

А что с другими локальными аккаунтами?

При предоставлении доступа к ресурсу через учетную запись компьютера, предоставляется ли доступ всем остальным локальным учетным записям? Нет – доступ будет возможен только для учетных записей System и Network Service. Всем локальным учетным записям, которыми нужно разрешить доступ к сетевому ресурсу, придется предоставлять доступ индивидуально.

Учетная запись службы SQL Server Windows привилегии и права

Мне часто приходится настраивать MS SQL Server, и я спрашиваю себя, может ли кто-нибудь дать совет по настройке учетных записей, с которыми должны работать службы. ИМО, это было смутно задокументировано Microsoft, хотя они указывают вам правильное направление, мне никогда не удавалось найти какие-либо конкретные примеры.

На самом деле это довольно тщательно документировано: http://msdn.microsoft.com/en-us/library/ms143504.aspx

Есть ли какая-то часть, в которой вы не уверены?

Для простых развертываний \ сред разработки можно использовать виртуальную учетную запись по умолчанию, которую использует установщик: например, NT SERVICE \ MSSQLSERVER

Это будет зависеть от окружающей среды. Лично я ненавижу находить сервер, настроенный с использованием локальной учетной записи, и просить получить доступ к сетевым ресурсам в будущем, среди прочих вопросов.

Для производственных и доменных сред рекомендуется использовать либо управляемую учетную запись службы, либо создать учетную запись пользователя домена (не администратора) для каждой службы.

Опять же, зависит, но в целом я бы согласился (контрпримером были бы группы доступности, в которых имеет смысл использовать одну учетную запись домена во всех случаях).

Предположительно, если вы используете учетную запись домена во время установки, установщик установит для вас все необходимые разрешения.

Если нет сбоя и т. Д., Это будет сделано. Я не уверен, почему «якобы» часть.

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

При изменении любой службы для SQL Server всегда используйте SSCM. Всегда. Период. Это установит права доступа для новой учетной записи к основам. Если бы до того, как использовалась локальная системная учетная запись и было получено неограниченное разрешение на все в системе, я бы ожидал, что что-то не получит разрешения после изменения из-за более жесткого контроля безопасности. Это не ошибка SQL Server SSCM, а ошибка администратора в том, что он не предоставил надлежащие разрешения EXTRA (например, доступ к сетевому ресурсу, папкам с ограниченным доступом, элементам вне области установки SQL Server и т. Д.)

Я только что попытался изменить учетную запись службы в существующей установке на учетную запись домена, и это дало бы мне ошибку входа в систему, пока я не предоставлю учетной записи разрешение «вход в систему как служба», что противоречит той части, где диспетчер конфигурации SQL Server будет устанавливать любые необходимые разрешения. (Хотя я не уверен, что GPO мог помешать настройке этой локальной политики безопасности)

Похоже, что объект групповой политики вызывает проблемы (IMHO). Не будет в первый раз 🙂

Итак, мой вопрос: если вы создаете новую учетную запись пользователя домена для каждого из процессов SQL Server, какие разрешения должны быть установлены для каждой учетной записи?

Я бы явно установил любые разрешения, помимо тех, которые указаны в указанной выше ссылке msdn (также предоставленной @joeqwerty и в вашем OP). Например, в папке «backup» на общем сетевом ресурсе добавлен новый диск для хранения новых баз данных (где установка уже была запущена, но диск не существует) и т. Д.

Но мне неясно, нужно ли это делать вручную для пользователя, которого я создаю для запуска службы, или нужно ли с помощью диспетчера конфигурации SQL автоматически устанавливать эти разрешения.

Если с сервером что-то не сломано, их не нужно вводить вручную.

Как восстановить право собственности SQL Server, когда учетная запись NT больше не действительна



У меня есть локальный SQL Server Express 2005, для которого я не знаю пароля SA. Я всегда подключался к своему логину NT и использовал его, когда создавал базу данных, к которой хочу получить доступ сейчас.

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

Я могу получить доступ к серверу через студию управления, но больше не мой пользователь DB. Меня тоже больше не признают администратором сервера. Очевидно, что локальные администраторы NT автоматически не сопоставляются с администраторами SQL.

Есть ли способ сделать это на данном этапе? Могу ли я каким-то образом восстановить доступ к уровню доступа SA?

Заранее спасибо.

sql-server sql-server-2005 permissions sa
Поделиться Источник vorai     03 августа 2015 в 14:10

2 ответа



Поделиться Thomas Tschernich     03 августа 2015 в 14:31



0

вы можете найти это решение элегантным: https://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/#комментарии Для меня он не работал с SQL2016, но, как утверждает автор, он работал для него в более старых версиях MS SQL. Цитаты (из приведенной выше ссылки): Благодаря Марку Русиновичу из Sysinternals fame, есть очень безболезненный способ решить эту проблему без каких-либо простоев: PsExec. Хотя это не было одной из его основных целей проектирования, PsExec позволяет запускать программы от имени учетной записи NT AUTHORITY\SYSTEM, которая — в отличие от учетных записей администратора «regular» — имеет неотъемлемый доступ к SQL Server. PsExec -s -i «C:\Program файлов (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe» Теперь вы можете перейти в раздел Безопасность > Логины и добавить свою учетную запись как sysadmin, добавить другие учетные записи администратора, обновить пароль sa и сделать все остальное, что вам нужно сделать, чтобы сделать ваш экземпляр управляемым. Как вы можете видеть, я смог подключиться таким образом к экземплярам SQL Server 2008 и SQL Server 2012 из экземпляра Management Studio 2012.

Поделиться Teo     17 апреля 2019 в 11:05


Похожие вопросы:


Передача права собственности на документ Google добавить-в другую учетную запись?

Я разрабатываю надстройку для Google Docs, используя редактор сценариев внутри Google Docs. Пришло время моей команде подать заявку в магазин. Обычно мы отправляем сообщения с одного основного…


Google Drive API право собственности на файлы, загруженные из учетной записи службы

Мы используем учетную запись службы для загрузки файлов с сервера, и она достигла своего предела квоты хранения. Все файлы были добавлены в папку, созданную другим пользователем (учетная запись…


SQL server: можно ли сопоставить учетные записи NT с учетными записями сервера SQL

В нашей базе данных у нас есть учетная запись сервера SQL, которая имеет правильные роли для доступа к некоторым базам данных. Теперь мы переходим на аутентификацию windows, и мне было интересно,…


Восстановить Проблему SQL Server Версии?

Я получаю следующую ошибку. Не удалось восстановить сервер Недавно я обновил SQL Server 2005 Express до SQL Server 2008 Express. Я сделал резервную копию на производственном сервере, имея SQL Server…


В SugarCRM передача права собственности на учетную запись другому пользователю не обновляет право собственности на контакт

Я использую SugarCRM v6.x и обнаружил, что при передаче права собственности на учетную запись новому торговому представителю (поле assigned_user_id) контакты и другие связанные дочерние записи также…


Хранятся ли авторизованные пользователи NT в таблице Microsoft SQL Server?

Я использую Microsoft SQL Server 2008. При создании пользовательских отчетов мне нужно указать конкретные параметры, основанные на вошедшем в систему пользователе. Вот почему мое приложение требует…


Обнаружение того, что учетная запись, выбранная через AccountPicker, все еще действительна без разрешения GET_ACCOUNTS

В моем приложении я использую AccountPicker.newChooseAccountIntent() , чтобы заставить пользователя выбрать учетную запись, а затем использую GoogleAuthUtil.getToken() , чтобы получить токен…


SQL Server задание не выполнено — учетная запись заблокирована

В настоящее время у нас есть задание SQL Server 2012, которое не выполняется из-за блокировки учетной записи. Сообщение, найденное в средстве просмотра событий, выглядит следующим образом: SQL…


Как добавить запись TXT в зону, чтобы доказать право собственности

Как добавить запись TXT в зону google dns, чтобы доказать право собственности на домен? Я пытаюсь настроить knative на использование letsencrypt и вижу, что мне нужно сделать некоторую настройку TXT…


Windows учетная запись для SQL Server резервного копирования

Что такое учетная запись Windows, используемая для выполнения резервного копирования SQL Server? Это тот, под которым работает служба SQL (как nt service\mssqlserver )? Но что делать, если резервное…

SQL 2014 Always On при работе от NT Service\MSSQLSERVER

SQL 2014 уже вполне нормально работает от учёток вида NT Service\MSSQLSERVER, даже в кластере, сделав создание доменной учётки для работы SQL излишним. Процесс в картинках описан, например, здесь: http://stevenpoitras.com/2014/02/configure-sql-db-availability-group/ или здесь https://devops.profitbricks.com/tutorials/configure-a-sql-2014-alwayson-availability-group-cluster/

Но есть тонкости — для настройки AlwaysOn надо дать права компьютерным учёткам кластера на подключение к Endpoint для репликации, иначе мастер настройки Always On застревает на последнем шаге, а в лог SQL пишется “Database Mirroring login attempt by user ‘DOMAIN\COMPUTER$’ failed with error: ‘Connection handshake failed. The login ‘DOMAIN\COMPUTER$’ does not have CONNECT permission on the endpoint. State 84.”
Собственно наличие и имя Endpoint можно посмотреть в св-вах любой БД — страница Mirroring — сверху мастер Configure Security, там на втором шаге оно и будет. Обычно (но не всегда) это «Hadr_endpoint». Ну или так select * from sys.endpoints, там, типично, последняя строка.
Можно дать права и через этот мастер (насколько понимаю, имена учёток компьютеров придется вбивать руками, из AD оно не даст выбрать объекты компьютеров), ну или вот так, скриптом. На самом деле нужны права крест-накрест, но тогда надо два скрипта и следить, на каком сервере запускаешь, поэтому проще так:

use [master]
go
create login [DOMAIN\server1$] from windows
create login [DOMAIN\server2$] from windows
go
grant connect on endpoint::Hadr_endpoint to [DOMAIN\server1$]
grant connect on endpoint::Hadr_endpoint to [DOMAIN\server2$]
go

После этого обычно всё работает и от сервисных учёток SQL.

PS Простые грабли: Не забываем открыть tcp 1433 и 5022 в файрволле, банально, но про второй порт можно забыть. Для успешного создания Listener надо создать в домене учётку компьютера с таким именем и дать полные права на нее для учётки компьютера с кластерным именем (которую кластер научился создавать уже очень давно). И ещё одна мелкая пакость — в том-же мастере настройки, во вкладке настройки Listener, кнопка добавления статического ip (add) бывает скрыта, пока не увеличишь размер окна, а полосы прокрутки справа нет. Привет дизайнерам UI!

Немножко всего .. из жизни администратора ms sql server

Чтобы запускать хранимую процедуру xp_cmdshell, нужно иметь разрешения CONTROL  SERVER на сервер, т.е быть в роли sysadmins. Пользователям MS SQL Server-а, которые не входят в данную роль, предоставить права  на выполнение данной процедуры  будет мало только дать права на выполнение данной процедуры, но и нужно создать учетную запись-посредник для процедуры xp_cmdshell.

Для начала предоставим учетной записи права на выполнение xp_cmdshell:

use [master]

GO

GRANT EXECUTE ON [sys].[xp_cmdshell] TO [test_user]

GO

Без них будет ошибка :

Сообщение 229, уровень 14, состояние 5, процедура xp_cmdshell, строка 1

Запрещено разрешение «EXECUTE» на объект «xp_cmdshell» базы данных «mssqlsystemresource», схемы «sys».

Затем создадим учетную запись посредник. Создается она двумя способами:

1)      Через процедуру sp_xp_cmdshell_proxy_account, пример

EXEC sp_xp_cmdshell_proxy_account ‘user_name’,’Password’

Где  user_name должно быть либо Windows учетная запись сервера, либо учетная запись домена.

2)      Через консоль Microsoft Management Studio

Свойство сервера -> Безопастность

 

Поставить галочку «Включить серверную учетную запись — посредник»

Прописать учетную запись и пароль.

Все, после этого наша учетная запись может запускать процедуру xp_cmdshell.

Несколько слов по выбору учетной записи посредника – выбирайте её исходя из требуемых прав и разрешений в сети и на сервере.

Кстати, сначала надо разрешить вообще запускать процедуру xp_cmdshell, командой

exec sp_configure ‘xp_cmdshell’,1

go

reconfigure

по умолчанию данный параметр вылючен.

Кстати, написание данного поста меня натолкнул админ 1с, когда я ему переносил БД 1с и он поросил права sysadmin-а, т.к в коде  использовал процедуру xp_cmdshell, пришлость права порезать и предоставить только необходимые.

Вот так, нечего иметь слишком большие права.

Настройка разрешений файловой системы для доступа к ядру СУБД — SQL Server

  • Статья
  • 2 минуты на чтение
Полезна ли эта страница?

Пожалуйста, оцените свой опыт

да Нет

Любая дополнительная обратная связь?

Отзыв будет отправлен в Microsoft: при нажатии кнопки отправки ваш отзыв будет использован для улучшения продуктов и услуг Microsoft.Политика конфиденциальности.

Представлять на рассмотрение

В этой статье

Применяется к: SQL Server (все поддерживаемые версии)

В этом разделе описывается, как предоставить файловой системе SQL Server Database Engine доступ к расположению, в котором хранятся файлы базы данных. Служба компонента Database Engine должна иметь разрешение файловой системы Windows на доступ к папке с файлами, в которой хранятся файлы базы данных.Разрешение на расположение по умолчанию настраивается во время установки. Если вы поместите файлы базы данных в другое место, вам может потребоваться выполнить следующие действия, чтобы предоставить компоненту Database Engine разрешение на полный доступ к этому расположению.

Начиная с SQL Server 2012 (11.x) разрешения назначаются SID каждой службы для каждой из ее служб. Эта система помогает обеспечить изоляцию служб и глубокую защиту. SID для каждой службы является производным от имени службы и уникален для каждой службы.В разделе Настройка учетных записей и разрешений службы Windows описывается SID для каждой службы и приводятся имена в разделе Привилегии и права Windows . Это SID для каждой службы, которому должно быть назначено разрешение на доступ к местоположению файла.

Предоставление разрешения файловой системы для SID для каждой службы

  1. С помощью проводника Windows перейдите к расположению файловой системы, где хранятся файлы базы данных. Щелкните правой кнопкой мыши папку файловой системы и выберите Свойства .

  2. На вкладке Безопасность щелкните Изменить , а затем Добавить .

  3. В диалоговом окне Select Users, Computer, Service Account или Groups щелкните Locations , вверху списка расположений выберите имя своего компьютера и нажмите OK .

  4. В поле Введите имена объектов для выбора введите имя SID для каждой службы, указанное в разделе электронной документации Настройка учетных записей служб Windows и разрешений .(Для компонента Database Engine для имени SID службы используйте NT SERVICE\MSSQLSERVER для экземпляра по умолчанию или NT SERVICE\MSSQL$InstanceName для именованного экземпляра.)

  5. Щелкните Check Names , чтобы подтвердить ввод. (Если проверка не пройдена, может быть указано, что имя не найдено. Когда вы нажмете OK , появится диалоговое окно Multiple Names Found . Теперь выберите имя SID для каждой службы, либо MSSQLSERVER , либо NT. SERVICE\MSSQL$InstanceName , а затем нажмите OK .Щелкните OK еще раз, чтобы вернуться в диалоговое окно Разрешения .)

  6. В поле Имена групп или пользователей выберите имя SID для каждой службы, а затем в поле Разрешения для <имя> установите флажок Разрешить для Полный доступ .

  7. Щелкните Применить , а затем дважды щелкните OK для выхода.

См. также

Управление службами ядра базы данных
Перемещение системных баз данных
Перемещение пользовательских баз данных

sql server — Предоставление доступа к файловой системе виртуальной учетной записи SQLSERVERAGENT

Чтобы конкретно ответить на ваш вопрос , вот как вы предоставляете права доступа к диску для встроенной учетной записи агента SQL Server.Но читайте дальше, пока я отвечаю на то, что считаю настоящей проблемой:

.

1.> Щелкните правой кнопкой мыши свой диск, выберите свойства, выберите безопасность, нажмите кнопку «Добавить» и введите учетную запись SQLSERVERAGENT (убедитесь, что ваш домен не выбран в текстовом поле «Из этого местоположения», а выбрано имя вашего компьютера):

2.> Нажмите кнопку «Проверить имена», чтобы убедиться, что учетная запись действительна:

3.> Теперь добавьте необходимые права доступа к файлу для учетной записи SQLSERVERAGENT.В целях устранения неполадок вы можете предоставить полный доступ, а затем уменьшить его позже по мере необходимости:

.

При этом вам, вероятно, просто нужно использовать Диспетчер конфигурации SQL Server, чтобы повторно добавить пользователя агента SQL — в соответствии с комментариями, которые я видел о msdb и логинах. Диспетчер конфигураций вносит больше изменений в SQL Server, чем с помощью апплета служб Windows, поэтому для изменения ЛЮБОЙ службы SQL всегда следует использовать диспетчер конфигураций.

Это устранит проблему, если кто-то мог изменить учетную запись в службах Windows, что привело к сбою службы при запуске.Вам нужно сбросить его в Configuration Manager. Это позволяет Configuration Manager добавлять в SQL Server столь необходимые разрешения для управления базой данных MSDB для учетной записи локальной службы (NT SERVICE\SQLSERVERAGENT), в то время как изменение учетных записей в апплете служб Windows не делает этого.

Внимание: Версии SQL Server Express выше 2000 не включают агент SQL. Может показаться, что некоторые его аспекты присутствуют, но их нельзя использовать в экспресс-версии продукта.

Для начала откройте диспетчер конфигурации SQL Server и дважды щелкните службу агента SQL Server в службах SQL Server.Выберите переключатель «Встроенная учетная запись», выберите «Локальная служба» и нажмите кнопку «Применить». Важно : если вы уже видите, что эта учетная запись выбрана, выберите другую учетную запись и нажмите кнопку «Применить». Затем измените его обратно на «Локальная служба» и нажмите кнопку «Применить», чтобы позволить Configuration Manager добавить правильные разрешения MSDB для запуска службы агента SQL. Теперь перезапустите агент SQL Server, чтобы применить этот новый параметр.

Конфигурация

— привилегии и права Windows учетной записи службы SQL Server

Мне довольно часто приходится настраивать MS SQL Server, и мне интересно, может ли кто-нибудь предоставить рекомендации по настройке учетных записей, от имени которых должны работать службы.IMO это было неопределенно задокументировано Microsoft, хотя они указывают вы в правильном направлении, я никогда не мог найти конкретных Примеры.

На самом деле это довольно тщательно задокументировано: http://msdn.microsoft.com/en-us/library/ms143504.aspx

Есть ли что-то, в чем вы не уверены?

Для простых сред развертывания\разработки можно использовать виртуальная учетная запись по умолчанию, которую использует установщик: например. NT СЕРВИС\МССКЛСЕРВЕР

Это будет зависеть от среды.Я лично ненавижу находить сервер, который кто-то настраивает, используя локальную учетную запись, и просить получить доступ к сетевым ресурсам когда-нибудь в будущем, среди прочего.

Для производства и доменных сред рекомендуется использовать либо управляемую учетную запись службы, либо создайте учетную запись пользователя домена (не администратор) для каждой службы.

Опять же, зависит, но в целом я соглашусь (контрпримером могут быть группы доступности, где имеет смысл использовать одну учетную запись домена для всех экземпляров).

Предположительно, если вы используете доменную учетную запись во время установки, установщик установит для вас все необходимые разрешения.

Если нет сбоя и т. д., так и будет. Я не уверен, почему часть «Якобы».

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

При изменении любых служб для SQL Server всегда используйте SSCM. Всегда. Период. Он установит базовые разрешения для новой учетной записи. Если до того, как использовалась локальная системная учетная запись и имелось неограниченное разрешение на все в системе, я бы ожидал, что что-то не сможет разрешить разрешения после изменения из-за более жесткого контроля безопасности. Это не ошибка SQL Server SSCM, это ошибка администратора в том, что он не предоставил надлежащие ДОПОЛНИТЕЛЬНЫЕ разрешения (например, доступ к сетевому ресурсу, папкам с ограниченным доступом, элементам, не входящим в сферу установки SQL Server, и т. д.)

Я только что попытался изменить учетную запись службы в существующей установке на доменной учетной записи, и это приведет к сбою входа в систему, пока я не предоставлю разрешение учетной записи «вход в качестве службы», что противоречит части где менеджер конфигурации SQL Server установит все необходимые разрешения. (Хотя я не уверен, что объект групповой политики мог помешать установка этой локальной политики безопасности)

Похоже, проблема связана с объектом групповой политики (ИМХО). Не в первый раз 🙂

Итак, мой вопрос: если вы создаете новую учетную запись пользователя домена для каждого из SQL Server обрабатывает, какие разрешения должны быть установлены для каждого Счет?

Я бы явно установил любые разрешения, кроме тех, которые указаны в ссылке msdn, которую я указал выше (также предоставленной @joeqwerty и в вашем ОП).Например, в папке «резервной копии» на общем сетевом ресурсе, на новом диске, добавленном для хранения новых баз данных (где программа установки уже была запущена, но диск не существовал) и т. д.

Но мне не ясно, стоит ли мне это делать вручную для пользователя, которого я создаю для запуска службы, или с помощью диспетчер конфигурации SQL должен автоматически устанавливать эти разрешения.

Если что-то серьезно не сломалось на сервере, их не нужно задавать вручную.

Учетная запись службы SQL Server и SID для каждой службы

Начиная с Windows Vista и Windows Server 2008, были реализованы некоторые усовершенствования, чтобы ужесточить («усилить») доступ к ресурсам системных служб и изоляцию привилегий. SID для каждой службы введен, чтобы позволить службе работать без учетной записи службы с высоким уровнем привилегий и изолировать доступ к ресурсам службы от другой службы.

Ранее для запуска службы можно было использовать пять различных типов учетных записей; учетная запись пользователя домена (DOMAIN\USERACCOUNT), локальная учетная запись пользователя (COMPUTER\USERACCOUNT), учетная запись локальной службы, учетная запись сетевой службы и учетная запись локальной системы.

Локальная служба ( NT AUTHORITY\LOCAL SERVICE ) — встроенная учетная запись. Он имеет тот же уровень доступа, что и группа пользователей, прошедших проверку подлинности. Он обращается к сетевому ресурсу без учетных данных.
Network Service ( NT AUTHORITY\NETWORK SERVICE ) — встроенная учетная запись, аналогичная локальной службе. Он обращается к сетевому ресурсу с учетными данными компьютера.
Локальная система ( NT AUTHORITY\SYSTEM ) — мощная встроенная учетная запись с полным доступом к компьютеру.Он обращается к сетевому ресурсу с учетными данными компьютера.

Поскольку локальная служба, сетевая служба и локальная система с высоким уровнем привилегий являются общей учетной записью службы, которая может использоваться многими службами, компрометация этой службы может привести к доступу к ресурсам, не связанным с соответствующей службой. SID для каждой службы введен для разделения доступа к ресурсам каждой отдельной службой. SID для каждой службы является производным от имени службы и уникален для службы. Доступ к ресурсам может быть изменен непосредственно в списках управления доступом (ACL) объекта, относящихся к SID для каждой службы, а не к учетной записи службы.Это позволяет службе работать с учетной записью службы с низким уровнем привилегий.

По умолчанию службы SQL Server включают SID для каждой службы и работают под неограниченным SID для каждой службы. Это означает, что и учетная запись службы, и SID для каждой службы добавляются в токен процесса службы. Служба имеет доступ к ресурсам, предоставленным как учетной записи службы , так и SID для каждой службы.

** При предоставлении дополнительного разрешения не предоставлять сервисному аккаунту. Вместо этого разрешение должно быть предоставлено через группу безопасности или непосредственно для SID для каждой службы.

Использование командной строки для определения типа SID,
sc qsidtype MSSQLSERVER

Или идентификация через реестр по адресу, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER

90 SQL016 Для отображения стандартного сервера S, экземпляра SQL016
sc показывает ID MSSQLSERVER


В Windows 7 и Windows Server 2008 R2 для упрощения администрирования SPN и управления учетными данными (паролями) были введены два новых типа учетных записей служб:

управляемая учетная запись службы (MSA) — учетная запись, созданная доменом для запуска службы на одном компьютере.Пароль управляется автоматически контроллером домена. Невозможно использовать для входа в компьютер, но можно использовать для запуска службы. Имя в формате ДОМЕН\ИМЯ АККАУНТА $ . Автоматически управляйте учетными данными (паролем) и именем участника-службы (SPN) с помощью Active Directory. Эта учетная запись предпочтительнее для доступа к сетевым ресурсам по сравнению с виртуальной учетной записью.

Виртуальная учетная запись — управляемая локальная учетная запись с автоматически управляемым паролем. Служба, работающая с виртуальной учетной записью, может получить доступ к сетевому ресурсу с учетными данными своего компьютера ДОМЕН\ИМЯ_КОМПЬЮТЕРА $ .Имя виртуальной учетной записи имеет формат NT SERVICE\ SERVICENAME (например, NT SERVICE\MSSQLSERVER )

В Windows 7, Windows Server 2008 R2 и более поздних версиях SID для каждой службы может быть виртуальной учетной записью, используемой для службы. (Поскольку SID для каждой службы является производным от имени службы, формат имени аналогичен виртуальной учетной записи)

Ниже приведен список SQL Server 2012 Службы по умолчанию учетная запись службы и имя SID для каждой службы (в Windows Vista, Windows Server 2008 и выше)

SQL Server Database Database Engine
Сервисный SID Имя
Экземпляр по умолчанию — NT SERVICE \ MSSQLSERVER
NT SERVICE \ MSSQL $ Instancename

SID — привилегия Windows и Право
SeserviceLogonright
SESERVICELOGONRAGE
SEASSignPrimaryTokenPrivilege
SechangenotifyPrivilege3 SeincresenceQuotaPRivilege

** За инициализация мгновенного файла, включить это разрешение на SID
SemanageVolumePrivilege

Услуги службы по умолчанию
Автономный (Windows Vista и Windows Server 2008) Сетевой сервис
Автономный (Windows) 7/8 и Windows Server 2008 R2/2012) Виртуальная учетная запись / MSA
Экземпляр отказоустойчивого кластера (FCI) (Windows Server 2008) Пользователь домена
Экземпляр отказоустойчивого кластера (FCI) (Windows Server 2008 R2/2012) Пользователь домена

Агент SQL Server
Имя SID каждой службы по умолчанию
Экземпляр по умолчанию — NT Service \ SQLSERVERAGENT
Имя экземпляра — NT Service \ SQLAgent $ InstanceName

SID — Windows Privilege и правой
SeServiceLoginRight
SeAssignPrimaryTokenPrivilege
SeChangeNotifyPrivilege
SeIncreaseQuotaPrivilege

По умолчанию учетная запись службы
Standalone (Windows Vista и Windows Server 2008) Сетевая служба
Автономная (Windows 7/8 и Windows Server 2008 R2/2012) Виртуальная учетная запись/MSA
FCI (Windows Server 2008) Пользователь домена
FCI (Windows Server 2008 R2/2012) Пользователь домена

SSRS
Имя SID для каждой службы
Экземпляр по умолчанию — NT SERVICE\ReportServer
Экземпляр Имя — NT Service \ $ InstanceName

SID — Privilege

SID — Windows SeserviceLogonright

Услуги службы по умолчанию
Автономный (Windows Vista и Windows Server 2008) Сетевой сервис
Автономный (Windows 7/8 и Windows Server 2008 R2/2012) Виртуальная учетная запись / MSA
FCI (Windows Server 2008) Сетевая служба
FCI (Windows Server 2008 R2/2012) Виртуальная учетная запись

SSIS
Имя SID для каждой службы
Экземпляр по умолчанию/Именованный экземпляр — NT Service \ msdtsserver110

SID — привилегия Windows и правый
SeserviceLoginright
SESHANGENOTIFYPRIVILEGE

9 Учет службы по умолчанию

Служба службы по умолчанию
Автономный (Windows Vista и Windows Server 2008) Сетевой сервис
Автономный (Windows 7 и Windows Server 2008 R2) Виртуальная учетная запись / MSA
Экземпляр отказоустойчивого кластера (FCI) (Windows Server 2008) Сетевая служба
Экземпляр отказоустойчивого кластера (FCI) (Windows Server 2008 R2) Виртуальная учетная запись

Полнотекстовый поиск
Имя SID для каждой службы
Экземпляр по умолчанию — NT SERVICE\MSSQLFDLauncher Name 90sSQLFDLauncher 90s NT Service \ mssqlfdlauncher $ Instancename

SID — привилегия Windows и правый
SESERVICELOGONRIGHT
SEINCREASEQUELIVILIVILEGE
SechangenotifyPrivilege

Услуги по умолчанию
Автономный (Windows Vista и Windows Server 2008) и Windows Server 2008 R2/2012) Виртуальная учетная запись
FCI (Windows Server 2008) Локальная служба
FCI (Windows Server 2008 R2/2012) Виртуальная учетная запись

Модуль записи VSS SQL Server
Экземпляр по умолчанию/Именованный — NT SERVICE\SQLWriter

Учетная запись службы по умолчанию
NT AUTHORITY\SYSTEM

SSAs SSAS 9023 SID SID
NT Service \ MSSQLSERVEROLAPSERVICE

Экземпляр Security Windows0 Экземпляр по умолчанию — SQLSERVERMSASUSER $ Computername $ MSSQLSERVER 9023 InstanceName
PowerPivot SharePoint Exstance — SQLSERVERMSSUSUSER $ Комптар $ PowerPivot

Группа по безопасности Windows — Windows Privilege и правый0
SeserviceLogonright

Услуги службы по умолчанию
Автономный (Windows Vista и Windows Server 2008) Сетевой сервис
Автономный (Windows 7/8, Windows Server 2008 R2/2012) Виртуальная учетная запись / MSA
FCI (Windows Server 2008) Пользователь домена
FCI (Windows Server 2008 R2/2012) Пользователь домена

Браузер SQL Server
Per- Имя SID службы
NT SERVICE\SQLBrowser

Windows Security Group
по умолчанию / названный экземпляр — SQLSERVER2005SQLBrowserUser2005sqlbrowserUser $ Computermerame

Windows Security Group — Windows Privilege и правый
SESERVICELOGONRRIGHT

Услуги обслуживания по умолчанию SQL Инструмент управления Windows (WMI)
Имя SID для каждой службы
NT SERVICE\winmgmt

Более подробную информацию можно найти в этой статье MSDN о настройке учетных записей и разрешений службы Windows и системной службы,

sql server — Как дать MSSQL$SQL2016 разрешения на запись в папку

Утро,

Я наткнулся на кирпичную стену, и мне нужно указать правильное направление.Что я пытаюсь сделать, так это дать моему экземпляру SQL Server разрешение на создание файлов MDB/LDB в каталоге на новом жестком диске, который я установил на своем локальном компьютере, без использования Everyone.

Когда я пытаюсь создать новую базу данных в папке (через студию управления), я получаю следующую ошибку:

  ===================================

Не удалось создать базу данных TestDatabase1. (Майкрософт.SqlServer.Smo)

------------------------------
Чтобы получить помощь, нажмите: http://go.microsoft.com /fwlink?ProdName=Microsoft+SQL+Server&ProdVer=13.0.16106.4+((SSMS_Rel_16_5).170125-2137)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Database&LinkId=20476

------------------------------
Расположение программы:

   в Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()
   в Microsoft.SqlServer.Management.SqlManagerUI.CreateDatabaseData.DatabasePrototype.ApplyChanges(Control marshallingControl)
   в Майкрософт.SqlServer.Management.SqlManagerUI.CreateDatabase.DoPreProcessExecution (тип запуска runType, режим выполнения и результат выполнения)
   в Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.DoPreProcessExecutionAndRunViews(RunType runType)
   в Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.ExecuteForSql (PreProcessExecutionInfo, информация о выполнении, режим выполнения и результат выполнения)
   в Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.Microsoft.SqlServer.Management.SqlMgmt.IExecutionAwareSqlControlCollection.PreProcessExecution (PreProcessExecutionInfo, информация о выполнении, ExecutionMode и результат выполнения)
   в Microsoft.SqlServer.Management.SqlMgmt.ViewSwitcherControlsManager.RunNow (RunType runType, отправитель объекта)

====================================

Возникло исключение при выполнении инструкции или пакета Transact-SQL. (Майкрософт.SqlServer.ConnectionInfo)

------------------------------
Расположение программы:

   в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (строка sqlCommand, тип выполнения ExecutionTypes, логический повтор)
   в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (StringCollection sqlCommands, тип выполнения ExecutionTypes, логический повтор)
   в Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery (запросы StringCollection, логический повтор)
   в Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery (запросы StringCollection, логическое значение includeDbContext, логическое значение executeForAlter)
   в Майкрософт.SqlServer.Management.Smo.SqlSmoObject.CreateImplFinish (StringCollection createQuery, ScriptingPreferences sp)
   в Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()

====================================

CREATE FILE обнаружил ошибку операционной системы 5 (отказано в доступе) при попытке открыть или создать физический файл «D:\MSSQL\Data\TestDatabase1.mdf».
СОЗДАТЬ БАЗУ ДАННЫХ не удалось. Некоторые перечисленные имена файлов не могут быть созданы. Проверьте связанные ошибки. (поставщик данных .Net SqlClient)

------------------------------
Чтобы получить помощь, нажмите: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=13.00.4224&EvtSrc=MSSQLServer&EvtID=5123&LinkId=20476

------------------------------
Имя сервера: my_machine\SQL2016
Номер ошибки: 5123
Серьезность: 16
Состояние: 1
Номер строки: 1


------------------------------
Расположение программы:

   в Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql (действие ExecuteTSqlAction, Object execObject, DataSet fillDataSet, логическое исключение catchException)
   в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (строка sqlCommand, тип выполнения ExecutionTypes, логический повтор)
  

Экземпляр SQL Server входит в систему, используя «NT Service\MSSQL$2016». Я проверил исходную папку данных, и у MSSQL $ 2016 есть права на чтение и запись.

Я просмотрел эти сообщения:

SQL SERVER – FIX: CREATE FILE Encountered Operating System Error 5 (Access is Denied.)

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-file-system-permissions-for-database-engine-access?view=sql-server-2017

https://serverfault.com/questions/507496/sql-server-2012-with-account-nt-service-mssqlserver-access-is-denied-in-domain

http://documentation.sqlserverbooster.com/en/1_1_2/SQLServerBoosterDocumentation.html?AddingreadwritepermissionstoNTSe.html

https://dba.stackexchange.com/questions/70069/how-do-i-give-file-system-access-to-sql-servers-sqlserveragent-virtual-account

Я также пытался добавить в папку следующее, щелкнув правой кнопкой мыши папку->свойства->Безопасность, но ничего из этого не сработало

  Служба NT\MSSQL$SQL2016
[NT-сервис\MSSQL$SQL2016]
[Служба NT]\MSSQL$SQL2016
[Служба NT]\[MSSQL$SQL2016]
MSSQL$SQL2016
  

Когда я нажимаю «Проверить имена», он не может его найти.

Если это имеет значение, это ПК с Windows 10 в домене.

Я пропустил что-то очевидное, но не знаю, что именно. Если бы вы могли указать мне на документ, это было бы очень признательно.

служб Windows. Как я могу дать SQL Server разрешение на чтение моего ключа SSL?

Если указать сертификат, который должен использоваться для TLS SQL Server, то служба Windows SQL Server должна прочитать сертификат и закрытый ключ (файл из папки %ProgramData%\Microsoft\Crypto\RSA \MachineKeys ), что соответствует сертификату.Проблема в следующем: Диспетчер конфигурации SQL Server неудобен и не выполняет всю необходимую работу .

Таким образом, в первую очередь необходимо локализовать Пользователя, используемого SQL Server. Нужно запустить services.msc , найти учетную запись службы SQL Server. Обычно это встроенная учетная запись, например Local System , Network Service , локальная или доменная учетная запись, например .\SQLServer , DOMAIN\SQLServerAccount , или учетная запись службы, например NT Service\NT Service\MSSQL$SQL2012 . на картинке ниже:

Чтобы предоставить разрешение на закрытый ключ учетной записи, можно использовать оснастку сертификата mmc.Можно запустить mms.exe , выбрать «Добавить/удалить оснастку» в меню «Файл», выбрать оснастку «Сертификаты» и выбрать «Учетная запись компьютера» Локального компьютера. Затем следует выбрать SSL-сертификат Личного хранилища, а затем воспользоваться контекстным меню «Управление закрытыми ключами…».

и добавить учетную запись типа NT Service\NT Service\MSSQL$SQL2012 , найденную выше, и установить разрешение «Чтение» для учетной записи на закрытом ключе:

Если вы хотите установить соединение с SQL-сервером внутри домена (и клиент, и сервер должны принадлежать к одной и той же Active Directory или к каталогам, подключенным через доверие), то необходимо создать SPN для SQL-сервера. .Если я правильно понимаю ваши требования, вы хотите разрешить удалить соединение с SQL Server через HTTPS. Необходимо активировать смешанную безопасность, чтобы иметь возможность подключиться к серверу через аутентификацию SQL Server:

.

После создания входа в SQL, внесения всех вышеперечисленных изменений и перезапуска службы SQL Server можно будет установить TLS (зашифрованное) соединение с сервером SQL. При попытке подключения через учетную запись Windows без предварительного создания имени участника-службы выдается ошибка:

.

Соединение с сервером было успешно установлено, но затем произошла ошибка в процессе входа в систему.(поставщик: SSL-провайдер, ошибка: 0 — неправильное имя целевого участника.) (Microsoft SQL Сервер, ошибка: -2146893022)

Неверное имя целевого участника

Если забыть изменить аутентификацию Windows на смешанную аутентификацию (), то вы получите ошибку типа

.

Ошибка входа для пользователя ‘OlegKi’. (Microsoft SQL Server, ошибка: 18456)

Если все вышеперечисленные шаги выполнены, можно установить TLS-соединение, например, с помощью SQL Management Studio, но все равно нужно выбрать некоторые параметры:

Необходимо проверить «Шифровать соединение»

и установить дополнительное свойство соединения TrustServerCertificate=true

Обычно одно использование Encrypt=true;TrustServerCertificate=true; как часть строки подключения в приложении, которое устанавливает подключение к SQL-серверу.Мы устанавливаем свойство Encrypt=true с помощью флажка «Шифровать соединение», описанного выше. Подробнее о значении свойств и различных комбинациях параметров можно прочитать в разделе «Включение шифрования» статьи MSDN.

Если выполнить все вышеперечисленные шаги и установить флажок «Шифровать соединение» без установки свойства TrustServerCertificate=true , то будет получена ошибка:

Соединение с сервером было успешно установлено, но затем произошла ошибка в процессе входа в систему.(поставщик: SSL-провайдер, ошибка: 0 — неправильное имя целевого участника.) (Microsoft SQL Сервер, ошибка: -2146893022)

Неверное имя целевого участника

, который я уже описывал выше, в несколько иной ситуации (подключение к учетной записи Windows).

Я описал все вышеперечисленные шаги, потому что настройка TLS-подключения к серверу на самом деле не так проста и можно получить странные ошибки, прямое описание которых не дает прямых подсказок, как решить проблему.

Разрешения

— SQL Server 2012 не может запуститься из-за ошибки входа в систему

Краткий ответ:
установите инструменты удаленного администрирования сервера на свой SQL Server (это дополнительная функция Windows Server), перезагрузите компьютер, затем запустите диспетчер конфигурации SQL Server, получите доступ к настройкам службы для каждой из служб, чья учетная запись для входа начинается с «NT Service». …», очистите поля пароля и перезапустите службу. Под прикрытием диспетчер конфигурации SQL Server назначит этим виртуальным учетным записям право «Вход в качестве службы», и вы будете в пути.

тл;др;

Существует уловка-22 между настройками по умолчанию для домена Windows и установкой по умолчанию SQL Server 2012.

Как упоминалось выше, установка домена Windows по умолчанию действительно не позволит вам определить «вход в качестве службы» прямо через редактирование групповой политики на локальном компьютере (по крайней мере, через графический интерфейс; если вы устанавливаете модуль Powershell ActiveDirectory (через инструменты удаленного администрирования сервера). скачать) вы можете сделать это с помощью скрипта.

И по умолчанию программа установки SQL Server 2012 запускает службы в «виртуальных учетных записях» (префикс NT Service\, например,г, служба NT\MSSQLServer. Это похоже на учетные записи локального компьютера, а не учетные записи домена, но вы все равно не можете назначить им вход в систему в качестве прав службы, если ваш сервер присоединен к домену. Программа установки SQL Server пытается назначить право при установке, а средство управления конфигурацией SQL Server аналогичным образом пытается назначить право при изменении учетной записи для входа.

И красивая уловка-22 заключается в следующем: инструменты SQL Server зависят от (некоторого компонента) RSAT для назначения права входа в систему как службы. Если на вашем рядовом сервере случайно не установлен RSAT, диспетчер конфигурации SQL Server не сможет применить этот параметр (несмотря на всю безвкусную проверку перед установкой), и вы получите службы, которые не запустятся.

Единственным намеком на это требование, которое мне удалось найти в документации по SQL Server и виртуальной учетной записи, было следующее: https://msdn.microsoft.com/en-us/library/ms143504.aspx#New_Accounts, найдите РСАТ.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *