Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Эта статья поможет устранить проблему, из-за которой вы не сможете удаленно подключаться к SQL Server с помощью протокола TCP/IP.
Исходная версия продукта: SQL Server
Исходный номер базы знаний: 2018930
Симптомы
При использовании Microsoft SQL Server может возникнуть один или несколько следующих симптомов:
Только пользователи с разрешением CONTROL SERVER (например, члены предопределенных ролей сервера syadmin ) могут подключаться через TCP/IP. Пользователи, у которых нет этого разрешения, не могут удаленно подключаться через протокол TCP/IP либо с помощью проверки подлинности Windows или SQL Server.
Примечание.
Вы заметите, что повышенные привилегии пользователей отображаются только в режиме динамического управления sys.dm_exec_sessions (Transact-SQL), но не в представлении sys.dm_exec_connections (Transact-SQL).
Локальные и удаленные подключения с использованием протокола именованных каналов, а также локальные подключения с использованием протокола общей памяти продолжают работать нормально.
Кроме того, следующие сообщения регистрируются в файле журнала ошибок SQL Server:
При запуске SQL Server:
Ошибка: 26023, серьезность: 16, состояние: 1.
Поставщик TCP сервера не смог прослушивать ['any'ipv6<> 1963]. Порт TCP уже используется.
Ошибка: 9692, серьезность: 16, состояние: 1.
Транспорт протокола Service Broker не может прослушивать порт 1963, так как он используется другим процессом.Для неудачных имен входа:
SQL Server 2008 и более поздних версий:
Ошибка: 18456, серьезность: 14, состояние: 11.
Сбой входа для пользователя MyDomain\TestAcc. Причина: проверка доступа к серверу на основе токена завершилась ошибкой инфраструктуры. Проверьте на наличие предыдущих ошибок.
Причина
Ошибка возникает при настройке конечной точки TCP для Service Broker с использованием того же порта, который настроен для использования экземпляра SQL Server. Список конечных точек можно получить, выполнив следующий запрос:
SELECT * FROM sys.tcp_endpoints
Примечание.
Как описано в разделе "Электронная книга" по sys.tcp_endpoints (Transact-SQL), это представление не содержит сведения о портах и протоколах, которые в настоящее время настроены для использования экземпляра SQL Server. Чтобы найти эти сведения, см. диспетчер конфигурации SQL Server.
Решение
Метод 1. Удалите конечную точку, которая вызывает проблему с помощью команды DROP ENDPOINT (Transact-SQL).
Например, чтобы удалить конечную точку с именем
TestEP, можно использовать следующую команду:DROP ENDPOINT TestEPМетод 2. Измените конечную точку для использования другого порта с помощью команды ALTER ENDPOINT (Transact-SQL).
Например, чтобы изменить конечную точку с именем
TestEPдля использования другого порта, можно использовать следующую команду:ALTER ENDPOINT TestEP as tcp (listener_port=1980)
Дополнительная информация
Аналогичные проблемы также могут возникать с другими конечными точками TCP, такими как созданные для зеркального отображения базы данных, и сообщения об ошибках при запуске SQL Server будут изменяться соответствующим образом.