SQL Server установка завершается сбоем после удаления прав пользователя по умолчанию
Эта статья поможет устранить проблему, которая возникает при установке или обновлении Microsoft SQL Server после ужесточения безопасности.
Область применения: SQL Server
Симптомы
Рассмотрим сценарий, в котором вы используете Microsoft SQL Server в Windows. Чтобы повысить безопасность, удалите некоторые права пользователей по умолчанию из локальной группы администраторов. Чтобы настроить SQL Server в системе, добавьте учетную запись установки в локальную группу администраторов.
В этом сценарии при попытке установить или обновить SQL Server процесс установки завершится сбоем, и может появиться сообщение об ошибке, похожее на одно из сообщений, перечисленных ниже.
Сценарий 1. В случае сбоя новой установки появляется следующее сообщение об ошибке:
Access is denied
Кроме того, в файлеDetail.txtмогут отображаться сообщения об ошибках, похожие на следующие :
2009-01-02 13:00:17 SQLEngine: --SqlServerServiceSCM: Waiting for nt event 'Global\sqlserverRecComplete$NIIT' to be created 2009-01-02 13:00:20 SQLEngine: --SqlServerServiceSCM: Waiting for nt event 'Global\sqlserverRecComplete$NIIT' or sql process handle to be signaled 2009-01-02 13:00:20 Slp: Configuration action failed for feature SQL_Engine_Core_Inst during timing ConfigRC and scenario ConfigRC. 2009-01-02 13:00:20 Slp: Access is denied 2009-01-02 13:00:20 Slp: Configuration action failed for feature SQL_Engine_Core_Inst during timing ConfigRC and scenario ConfigRC. 2009-01-02 13:00:20 Slp: System.ComponentModel.Win32Exception: Access is denied 2009-01-02 13:00:20 Slp: at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited) 2009-01-02 13:00:20 Slp: at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited) 2009-01-02 13:00:20 Slp: at System.Diagnostics.Process.OpenProcessHandle() 2009-01-02 13:00:20 Slp: at System.Diagnostics.Process.get_Handle() 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlServerServiceBase.WaitSqlServerStart(Process processSql) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlServerServiceSCM.StartSqlServer(String[] parameters) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlServerStartup.StartSQLServerForInstall(String sqlCollation, String masterFullPath, Boolean isConfiguringTemplateDBs) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.ConfigSQLServerSystemDatabases(EffectiveProperties properties, Boolean isConfiguringTemplateDBs, Boolean useInstallInputs) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.DoCommonDBStartConfig(ConfigActionTiming timing) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.Install(ConfigActionTiming timing, Dictionary<string, string> actionData, PublicConfigurationBase spcb) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.PrivateConfigurationBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, Dictionary<string, string> actionData, PublicConfigurationBase spcbCurrent) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SqlFeatureConfigBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, Dictionary<string, string> actionData, PublicConfigurationBase spcbCurrent) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId) 2009-01-02 13:00:20 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute(String actionId, TextWriter errorStream) 2009-01-02 13:00:20 Slp: Exception: System.ComponentModel.Win32Exception. 2009-01-02 13:00:20 Slp: Source: System. 2009-01-02 13:00:20 Slp: Message: Access is denied.
Сценарий 2. В случае сбоя новой установки Microsoft SQL Server 2012 или Microsoft SQL Server 2008 R2 появляется одно из следующих сообщений об ошибке:
Rule "Setup account privileges" failed. The account that is running SQL Server Setup doesn't have one or all of the following rights: the right to back up files and directories, the right to manage auditing and the security log and the right to debug programs. To continue, use an account with both of these rights.
Сценарий 3. Если установка SQL Server 2012 или более поздней версии завершается сбоем при указании сетевого ресурса (UNC-пути) для расположения каталога резервного копирования, появляется следующее сообщение об ошибке:
SQL Server setup account does not have the `SeSecurityPrivilege` on the specified file server in the path *\<UNC backup location>*. This privilege is required to set folder security in the SQL Server setup program. To grant this privilege, use the Local Security Policy console on this file server to add SQL Server setup account to **Manage auditing and security log** policy. This setting is available in the **User Rights Assignments** section under Local Policies in the Local Security Policy console.
Примечание.
Эта проблема возникает из-за того, что учетная запись установки SQL Server не имеет
SeSecurityPrivilege
разрешений на файловом сервере, на котором размещен общий сетевой ресурс.
Причина
Если вы запускаете программу установки от имени локального администратора, для успешного запуска программы установки требуются следующие права пользователя:
Отображаемое имя локального объекта групповая политика | Право пользователя |
---|---|
Файлы и каталоги резервных копий | SeBackupPrivilege |
Отладка программ | SeDebugPrivilege |
Управление аудитом и журналом безопасности | SeSecurityPrivilege |
Примечание.
Дополнительные сведения о разрешениях, необходимых для установки SQL Server, см. в разделе "Предварительные требования" в следующих статьях:
Если параметр хранилища для каталога данных или других каталогов (каталог пользовательской базы данных, каталог журнала пользовательской базы данных, каталог TempDB, каталог журнала TempDB или каталог резервного копирования) использует общую папку SMB, учетной записи установки требуются следующие дополнительные разрешения на файловом сервере SMB, как описано в разделе Установка SQL Server с хранилищем общей папки SMB.
Папка сетевого ресурса SMB | ПОЛНЫЙ ДОСТУП | Учетная запись установки SQL |
---|---|---|
Папка сетевого ресурса SMB | ПОЛНЫЙ ДОСТУП | SQL Server и учетная запись службы агент SQL Server |
Файловый сервер SMB | SeSecurityPrivilege |
Учетная запись установки SQL |
Разрешение
Чтобы добавить права на учетную запись установки, выполните следующие действия.
- Войдите в систему с правами администратора.
- Выберите Запустить>запуск, введите Control admintools и нажмите кнопку ОК.
- Дважды щелкните Локальная политика безопасности.
- В диалоговом окне Локальные параметры безопасности выберите Локальные политики, откройте раздел Назначение прав пользователя, а затем дважды щелкните Файл и каталоги резервного копирования.
- В диалоговом окне Свойства файлов и каталогов резервных копий выберите Добавить пользователя или группу.
- В диалоговом окне Выбор пользователя или групп введите учетную запись пользователя, которую вы хотите использовать для настройки, а затем дважды нажмите кнопку ОК .
Примечание.
Чтобы добавить учетную запись пользователя для политик отладки программ и управления аудитом и журналом безопасности , выполните шаги 1–6.
- В меню Файл откройте диалоговое окно Локальные параметры безопасности и выберите Выйти , чтобы закрыть.
Часто задаваемые вопросы
Почему на файловом сервере требуется SeSecurityPrivilege
каталог резервного копирования в UNC-ресурсе?
Это разрешение требуется для получения контроль доступа Списки (ACL) в каталоге резервного копирования по умолчанию, чтобы убедиться, что учетная запись службы SQL Server имеет полные разрешения на папку. Учетная запись службы также задает списки управления доступом, если для учетной записи службы SQL отсутствуют разрешения, чтобы можно было запустить резервную копию каталога. Программа установки выполняет эти проверки для каталога резервного копирования по умолчанию, чтобы при выполнении резервного копирования после установки не возникла ошибка (из-за отсутствия разрешений).
Примечание.
SeSecurityPrivilege
требуется для изменения get/set ACLs
из каталогов и вложенных папок. Это справедливо, даже если у пользователей с разрешениями FULL CONTROL в каталогах нет разрешений на доступ к get/set OWNER
данным аудита из каталога.
Почему ошибка, описанная в сценарии 3, возникает только в Microsoft SQL Server 2012 и более поздних версиях?
Начиная с SQL Server 2012 года корпорация Майкрософт предоставляет поддержку файлов данных и журналов в общей папке SMB. В рамках этого улучшения интерфейс настройки еще больше улучшается, чтобы ужесточить проверки безопасности, чтобы клиенты не сталкивались с ошибками или проблемами из-за нехватки разрешений после установки. В версиях до SQL Server 2012 пользователи по-прежнему могут настроить путь к сетевому ресурсу для каталога резервного копирования, если учетная запись службы SQL не имеет разрешений на выполнение резервного копирования. Однако в этой ситуации эти пользователи будут сталкиваться с ошибкой после установки. Эти сценарии теперь запрещены при запуске установки SQL 2012 проверка в общей сетевой папке.
Дополнительная информация
Чтобы проверка список привилегий, которые в настоящее время связаны с учетной записью установки, используйте средствоAccessChk.exe. Чтобы скачать это средство, см. статью AccessChk версии 6.13.
Использование:
accesschk.exe- a \<setup account> *
Пример:
c:\tools\accesschk.exe -a testdc\setupaccount *
Sample output: SeSecurityPrivilege SeBackupPrivilege SeRestorePrivilege SeSystemtimePrivilege SeShutdownPrivilege SeRemoteShutdownPrivilege SeTakeOwnershipPrivilege SeDebugPrivilege SeSystemEnvironmentPrivilege SeSystemProfilePrivilege SeProfileSingleProcessPrivilege SeIncreaseBasePriorityPrivilege SeLoadDriverPrivilege SeCreatePagefilePrivilege SeIncreaseQuotaPrivilege SeChangeNotifyPrivilege SeUndockPrivilege SeManageVolumePrivilege SeImpersonatePrivilege SeCreateGlobalPrivilege SeTimeZonePrivilege SeCreateSymbolicLinkPrivilege SeInteractiveLogonRight SeNetworkLogonRight SeBatchLogonRight SeRemoteInteractiveLogonRight
Дополнительные сведения см. в разделе Настройка учетных записей служб Windows и разрешений.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по