- Ошибка при установке WID в Windows Server 2012: служба MSSQL$MICROSOFT##WID не смогла войти в систему как NT SERVICE\MSSQL$MICROSOFT##WID
- Симптомы
- Причина
- Обходной путь
- Дополнительные сведения
- служба «SQL Server, браузер» SQL Server Browser Service
- Историческая справка Background
- Как работает служба «Обозреватель SQL Server» How SQL Server Browser Works
- Применение обозревателя SQL Server Using SQL Server Browser
- Кластеризация Clustering
- Установка, удаление и запуск из командной строки Installing, Uninstalling, and Running from the Command Line
- Безопасность Security
- Права доступа учетной записи Account Privileges
- Учетная запись по умолчанию Default Account
- Скрытие экземпляра SQL Server Hiding SQL Server
Ошибка при установке WID в Windows Server 2012: служба MSSQL$MICROSOFT##WID не смогла войти в систему как NT SERVICE\MSSQL$MICROSOFT##WID
В этой статье повеяна проблема, из-за которой нельзя установить внутреннюю базу данных Windows (WID) на компьютере под управлением Windows Server 2012.
Оригинальная версия продукта: Windows Server 2012 R2
Исходный номер КБ: 2832204
Симптомы
При установке служб Федерации Active Directory (AD FS) с помощью мастера добавления ролей и функций в Windows Server 2012 установка WID не работает. И вы получите следующее сообщение об ошибке:
Служба MSSQL$MICROSOFT##WID не смогла войти в систему как NT SERVICE\MSSQL$MICROSOFT##WID с настроенным паролем из-за следующей ошибки:
Ошибка logon: пользователю не был предоставлен запрашиваемого типа логотипа на этом компьютере.
Служба: MSSQL$MICROSOFT##WID
Домен и учетная запись: NT SERVICE\MSSQL$MICROSOFT##WID
Эта учетная запись службы не имеет необходимого права пользователя «Вход в качестве службы».
Назначить учетную запись службы на этом компьютере в качестве службы. Для этого можно использовать локальные параметры безопасности (Secpol.msc). Если этот компьютер является узлом кластера, убедитесь, что это право пользователя назначено учетной записи службы кластера на всех узлах кластера. Если вы уже написали этому пользователю право на учетную запись службы и право пользователя будет удалено, обратитесь к администратору домена, чтобы узнать, может ли объект групповой политики, связанный с этим узлом, удалить право.
Причина
При установке WID NT SERVICE\MSSQL$MICROSOFT##WID создается локализованная виртуальная учетная запись. Эта учетная запись предоставляется Log on as a service пользователю право локальной групповой политики. Если объект групповой политики (GPO), связанный с сайтом, доменом или организационным подразделением, переоценил локальный параметр групповой политики, учетная запись NT SERVICE\MSSQL$MICROSOFT##WID не имеет необходимых прав пользователя. Поэтому WID нельзя установить.
Обходной путь
Чтобы решить проблему, используйте один из следующих методов:
- Log on as a service Назначьте пользователю право на NT SERVICE\ALL SERVICES в GPO, определяемом правом пользователя.
- Исключить компьютер из GPO, определяемого правом пользователя.
Дополнительные сведения
В этой ситуации также могут возникнуть другие симптомы. Например, служба WID может показаться установленной, но она не начинается. Кроме того, мастер добавления ролей и функций указывает, что перезапуск ожидается.
служба «SQL Server, браузер» SQL Server Browser Service
Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) — только Windows Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) — Windows only Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance
Браузер SQL Server SQL Server выполняется как служба Windows. The SQL Server SQL Server Browser program runs as a Windows service. SQL Server SQL Server прослушивает входящие запросы к ресурсам Microsoft Microsoft SQL Server SQL Server и предоставляет сведения об экземплярах SQL Server SQL Server , установленных на компьютере. Browser listens for incoming requests for Microsoft Microsoft SQL Server SQL Server resources and provides information about SQL Server SQL Server instances installed on the computer. SQL Server SQL Server предназначен для выполнения трех задач: Browser contributes to the following actions:
просмотра списка доступных серверов; Browsing a list of available servers
соединения с нужным экземпляром сервера; Connecting to the correct server instance
соединения с конечными точками через выделенное административное соединение (DAC). Connecting to dedicated administrator connection (DAC) endpoints
Компонент Database Engine Database Engine и Службы SSAS SSAS получают от службы «Браузер SQL Server SQL Server » (sqlbrowser) имя и номер версии для каждого экземпляра. For each instance of the Компонент Database Engine Database Engine and Службы SSAS SSAS , the SQL Server SQL Server Browser service (sqlbrowser) provides the instance name and the version number. Браузер SQL Server SQL Server устанавливается вместе с SQL Server SQL Server . SQL Server SQL Server Browser is installed with SQL Server SQL Server .
Браузер SQL Server SQL Server настраивается в ходе установки или с помощью диспетчера конфигурации SQL Server SQL Server . SQL Server SQL Server Browser can be configured during setup or by using SQL Server SQL Server Configuration Manager. По умолчанию служба «Браузер SQL Server SQL Server » запускается автоматически: By default, the SQL Server SQL Server Browser service starts automatically:
при обновлении установки; When upgrading an installation.
при установке в кластере; When installing on a cluster.
при установке именованного экземпляра компонента Компонент Database Engine Database Engine , включая все экземпляры SQL Server Express; When installing a named instance of the Компонент Database Engine Database Engine including all instances of SQL Server Express.
при установке именованного экземпляра служб Службы Analysis Services Analysis Services . When installing a named instance of Службы Analysis Services Analysis Services .
Историческая справка Background
До версии SQL Server 2000 (8.x) SQL Server 2000 (8.x) на компьютер мог быть установлен только один экземпляр SQL Server SQL Server . Prior to SQL Server 2000 (8.x) SQL Server 2000 (8.x) , only one instance of SQL Server SQL Server could be installed on a computer. SQL Server SQL Server прослушивал входящие запросы через порт 1433, назначенный для SQL Server SQL Server комитетом IANA. listened for incoming requests on port 1433, assigned to SQL Server SQL Server by the official Internet Assigned Numbers Authority (IANA). Порт может использоваться только одним экземпляром SQL Server SQL Server , поэтому после появления в SQL Server 2000 (8.x) SQL Server 2000 (8.x) поддержки нескольких экземпляров SQL Server SQL Server был разработан протокол разрешения SQL Server SQL Server (SSRP) для прослушивания UDP-порта 1434. Only one instance of SQL Server SQL Server can use a port, so when SQL Server 2000 (8.x) SQL Server 2000 (8.x) introduced support for multiple instances of SQL Server SQL Server , SQL Server SQL Server Resolution Protocol (SSRP) was developed to listen on UDP port 1434. Эта служба прослушивания отвечала на клиентские запросы, передавая им имена установленных экземпляров с указанием портов или именованных каналов, используемых экземпляром. This listener service responded to client requests with the names of the installed instances, and the ports or named pipes used by the instance. Чтобы избавиться от ограничений протокола SSRP, в SQL Server 2005 (9.x) SQL Server 2005 (9.x) она была заменена службой браузера SQL Server SQL Server . To resolve limitations of the SSRP system, SQL Server 2005 (9.x) SQL Server 2005 (9.x) introduced the SQL Server SQL Server Browser service as a replacement for SSRP.
Как работает служба «Обозреватель SQL Server» How SQL Server Browser Works
Если SQL Server SQL Server настроен на использование протокола TCP/IP, то при запуске экземпляра SQL Server SQL Server серверу назначается порт TCP/IP. When an instance of SQL Server SQL Server starts, if the TCP/IP protocol is enabled for SQL Server SQL Server , the server is assigned a TCP/IP port. Если включен протокол именованных каналов, SQL Server SQL Server прослушивает указанный именованный канал. If the named pipes protocol is enabled, SQL Server SQL Server listens on a specific named pipe. Этот порт или «канал», используется конкретным экземпляром для обмена данными с клиентскими приложениями. This port, or «pipe,» is used by that specific instance to exchange data with client applications. Экземпляру по умолчанию при установке назначается TCP-порт 1433 и канал \sql\query , но затем эти значения могут быть изменены администратором сервера при помощи диспетчера конфигурации SQL Server SQL Server . During installation, TCP port 1433 and pipe \sql\query are assigned to the default instance, but those can be changed later by the server administrator using SQL Server SQL Server Configuration Manager. Поскольку порт или канал может использоваться только одним экземпляром SQL Server SQL Server , именованным экземплярам, включая SQL Server Express SQL Server Express , назначаются другие номера портов и имена каналов. Because only one instance of SQL Server SQL Server can use a port or pipe, different port numbers and pipe names are assigned for named instances, including SQL Server Express SQL Server Express . По умолчанию, если и именованные экземпляры и SQL Server Express SQL Server Express настроены для работы с динамическими портами, это означает, что доступный порт назначается при запуске SQL Server SQL Server . By default, when enabled, both named instances and SQL Server Express SQL Server Express are configured to use dynamic ports, that is, an available port is assigned when SQL Server SQL Server starts. При необходимости экземпляру SQL Server SQL Server может быть назначен конкретный порт, If you want, a specific port can be assigned to an instance of SQL Server SQL Server . и при соединении клиенты смогут указать именно его. Но если порт назначается динамически, то он может измениться в любой момент после перезапуска SQL Server SQL Server , поэтому клиент может и не знать правильного номера порта. When connecting, clients can specify a specific port; but if the port is dynamically assigned, the port number can change anytime SQL Server SQL Server is restarted, so the correct port number is unknown to the client.
После запуска SQL Server SQL Server запускается браузер и пытается занять UDP-порт 1434. Upon startup, SQL Server SQL Server Browser starts and claims UDP port 1434. SQL Server SQL Server читает реестр, находит все экземпляры SQL Server SQL Server на данном компьютере и помечает используемые ими порты и именованные каналы. Browser reads the registry, identifies all instances of SQL Server SQL Server on the computer, and notes the ports and named pipes that they use. Если сервер имеет несколько сетевых плат, браузер SQL Server SQL Server возвращает первый допустимый порт, который найден для SQL Server SQL Server . When a server has two or more network cards, SQL Server SQL Server Browser returns the first enabled port it encounters for SQL Server SQL Server . SQL Server SQL Server поддерживает протоколы ipv6 и ipv4. Browser support ipv6 and ipv4.
При запросе клиентом SQL Server SQL Server ресурсов SQL Server SQL Server клиентская сетевая библиотека передает на сервер UDP-сообщение через порт 1434. When SQL Server SQL Server clients request SQL Server SQL Server resources, the client network library sends a UDP message to the server using port 1434. SQL Server SQL Server Браузер в ответ сообщает TCP/IP-порт или именованный канал запрошенного экземпляра. Browser responds with the TCP/IP port or named pipe of the requested instance. Затем сетевая библиотека клиентского приложения завершает соединение, отправляя запрос на сервер с указанием номера порта или имени канала, относящегося к нужному экземпляру. The network library on the client application then completes the connection by sending a request to the server using the port or named pipe of the desired instance.
Дополнительные сведения о запуске и остановке службы браузера SQL Server SQL Server см. в электронной документации SQL Server SQL Server . For information about starting and stopping the SQL Server SQL Server Browser service, see SQL Server SQL Server Books Online.
Применение обозревателя SQL Server Using SQL Server Browser
Если служба « SQL Server SQL Server , браузер» не запущена, то возможность соединения с SQL Server SQL Server остается только при указании верного номера порта или именованного канала. If the SQL Server SQL Server Browser service is not running, you are still able to connect to SQL Server SQL Server if you provide the correct port number or named pipe. Например, к экземпляру SQL Server SQL Server по умолчанию можно подключиться по порту TCP/IP, если он прослушивает порт 1433. For instance, you can connect to the default instance of SQL Server SQL Server with TCP/IP if it is running on port 1433.
Однако если служба « SQL Server SQL Server , браузер» не запущена, следующие соединения невозможны. However, if the SQL Server SQL Server Browser service is not running, the following connections do not work:
Если какой-либо компонент пытается подключиться к именованному экземпляру без полного указания всех параметров (номера порта TCP/IP или именованного канала). Any component that tries to connect to a named instance without fully specifying all the parameters (such as the TCP/IP port or named pipe).
Если компонент формирует или сохраняет сведения о сервере и экземпляре, которые затем используются другими компонентами для повторного соединения. Any component that generates or passes server\instance information that could later be used by other components to reconnect.
При соединении с именованным экземпляром без указания номера порта или канала. Connecting to a named instance without providing the port number or pipe.
При использовании выделенного административного соединения с именованным экземпляром или экземпляром по умолчанию без использования порта TCP/IP 1433. DAC to a named instance or the default instance if not using TCP/IP port 1433.
При использовании службы перенаправителя OLAP. The OLAP redirector service.
При перечислении серверов в среде SQL Server Management Studio SQL Server Management Studio , программе Enterprise Manager или Query Analizer. Enumerating servers in SQL Server Management Studio SQL Server Management Studio , Enterprise Manager, or Query Analyzer.
В клиент-серверном режиме работы SQL Server SQL Server (например, если приложения обращаются к SQL Server SQL Server по сети) при остановке или отключении службы « SQL Server SQL Server , браузер» необходимо назначить каждому экземпляру определенные номера портов и указывать их в коде клиентских приложений. If you are using SQL Server SQL Server in a client-server scenario (for example, when your application is accessing SQL Server SQL Server across a network), if you stop or disable the SQL Server SQL Server Browser service, you must assign a specific port number to each instance and write your client application code to always use that port number. Такой подход приводит к следующим проблемам. This approach has the following problems:
Необходимо обновлять и поддерживать код клиентских приложений, чтобы они соединялись по соответствующим номерам портов. You must update and maintain client application code to ensure it is connecting to the proper port.
Порт, указанный для экземпляра, может быть уже занят другой службой или приложением, работающим на сервере, что может привести к недоступности экземпляра SQL Server SQL Server . The port you choose for each instance may be used by another service or application on the server, causing the instance of SQL Server SQL Server to be unavailable.
Кластеризация Clustering
SQL Server SQL Server не является кластеризованным ресурсом и не поддерживает отработку отказа с одного узла кластера на другой. Browser is not a clustered resource and does not support failover from one cluster node to the other. Следовательно, при использовании кластера браузер SQL Server SQL Server необходимо устанавливать и включать для каждого узла. Therefore, in the case of a cluster, SQL Server SQL Server Browser should be installed and turned on for each node of the cluster. При работе на кластерах браузер SQL Server SQL Server прослушивает порт IP_ANY. On clusters, SQL Server SQL Server Browser listens on IP_ANY.
Если указан порт IP_ANY, при включении прослушивания на определенных IP-адресах пользователь должен настроить тот же TCP-порт на каждом из IP-адресов, поскольку браузер SQL Server SQL Server возвращает каждую найденную пару «адрес-порт». When listening on IP_ANY, when you enable listening on specific IPs, the user must configure the same TCP port on each IP, because SQL Server SQL Server Browser returns the first IP/port pair that it encounters.
Установка, удаление и запуск из командной строки Installing, Uninstalling, and Running from the Command Line
По умолчанию браузер SQL Server SQL Server устанавливается в C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe. By default, the SQL Server SQL Server Browser program is installed at C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
Служба браузера SQL Server SQL Server удаляется при удалении последнего экземпляра SQL Server SQL Server . The SQL Server SQL Server Browser service is uninstalled when the last instance of SQL Server SQL Server is removed.
SQL Server SQL Server В целях диагностики браузер можно запустить из командной строки с параметром -c : Browser can be started from the command prompt for troubleshooting, by using the -c switch:
Безопасность Security
Права доступа учетной записи Account Privileges
SQL Server SQL Server Браузер прослушивает UDP-порт и принимает запросы без проверки подлинности с использованием протокола разрешения SQL Server SQL Server (SSRP). Browser listens on a UDP port and accepts unauthenticated requests by using SQL Server SQL Server Resolution Protocol (SSRP). SQL Server SQL Server должен запускаться в контексте безопасности непривилегированного пользователя, чтобы минимизировать ущерб при возможном проникновении злоумышленника. Browser should be run in the security context of a low privileged user to minimize exposure to a malicious attack. Учетную запись входа можно изменить при помощи диспетчера конфигурации SQL Server SQL Server . The logon account can be changed by using the SQL Server SQL Server Configuration Manager. Права, которые необходимо назначить браузеру SQL Server SQL Server . The minimum user rights for SQL Server SQL Server Browser are the following:
Запретить сетевой доступ к этому компьютеру. Deny access to this computer from the network
Запретить локальный вход в систему. Deny logon locally
Запретить вход в систему в качестве пакетного задания. Deny Log on as a batch job
Запретить вход в систему через службы терминалов. Deny Log On Through Terminal Services
Вход в систему в качестве службы. Log on as a service
Разрешить чтение и запись разделов реестра SQL Server SQL Server , связанных с сетью (порты и каналы). Read and write the SQL Server SQL Server registry keys related to network communication (ports and pipes)
Учетная запись по умолчанию Default Account
Программа установки настраивает браузер SQL Server SQL Server для использования учетной записи, выбранной для служб при установке. Setup configures SQL Server SQL Server Browser to use the account selected for services during setup. Можно указать другую учетную запись: Other possible accounts include the following:
Любая учетная запись домен\локальная . Any domain\local account
Учетная запись локальной службы The local service account
Учетная запись локальной системы (не рекомендуется за избыточностью прав доступа). The local system account (not recommended as has unnecessary privileges)
Скрытие экземпляра SQL Server Hiding SQL Server
Скрытые экземпляры SQL Server SQL Server — это экземпляры, которые поддерживают только соединения через общую память. Hidden instances are instances of SQL Server SQL Server that support only shared memory connections. В SQL Server SQL Server установите флаг HideInstance , чтобы браузер SQL Server SQL Server не выдавал сведения об этом экземпляре сервера. For SQL Server SQL Server , set the HideInstance flag to indicate that SQL Server SQL Server Browser should not respond with information about this server instance.