- Аутентификация в SQL Server Authentication in SQL Server
- Сценарии проверки подлинности Authentication Scenarios
- Типы имен входа Login Types
- Режим смешанной проверки подлинности Mixed Mode Authentication
- Внешние ресурсы External Resources
- Устранение ошибок подключения к SQL Server
- Обязательное условие
- Контрольный список
- При создании подключения к SQL Server
- Проверка ошибок подключения
- Общие причины различных проблем с подключением
- Причина 1. Неправильное имя сервера, указанное в строке подключения или в диалоговом окне имя сервера
- Причина 2. Неправильный псевдоним на клиентской машине
- Причина 3 (экземпляр по умолчанию): Брандмауэр(ы) между клиентом и сервером, блокирующий порт SQL Server экземпляр прослушивает
- Причина 4 (Экземпляр с именем): SQL браузер не запущен
- Причина 5 (Экземпляр с именем): UDP Port 1434, используемый SQL браузер заблокирован в сети
- Настройка брандмауэров
- Использование средства PortqryUI с SQL Server
- Скажите, SQL прослушивает динамические и статические порты
- Подключение не удалось сделать, так как целевая машина активно отказалась от него
- Полное сообщение об ошибке
- SQL Server не существует или не отказано в доступе
- Сбой операции pivotTable: мы не можем найти сервер для загрузки модели данных книг
- Невозможно создать сообщение об ошибке контекста SSPI
- Устранение сбоев проверки подлинности из-за проблем Kerberos
- Использование диспетчера конфигурации Kerberos для диагностики и устранения проблем spN и делегирования
Аутентификация в SQL Server Authentication in SQL Server
SQL Server поддерживает два режима проверки подлинности: режим проверки подлинности Windows и режим смешанной проверки подлинности. SQL Server supports two authentication modes, Windows authentication mode and mixed mode.
Режим проверки подлинности Windows является режимом по умолчанию. Поскольку эта модель безопасности SQL Server тесно интегрирована с Windows, часто ее называют встроенной функцией безопасности. Windows authentication is the default, and is often referred to as integrated security because this SQL Server security model is tightly integrated with Windows. Для входа в SQL Server в список надежных элементов вносятся определенные учетные записи пользователей и группы Windows. Specific Windows user and group accounts are trusted to log in to SQL Server. Пользователям Windows, которые уже прошли аутентификацию, не нужно представлять дополнительные учетные данные. Windows users who have already been authenticated do not have to present additional credentials.
Режим смешанной аутентификации поддерживает проверку подлинности как средствами Windows, так и средствами SQL Server. Mixed mode supports authentication both by Windows and by SQL Server. Пары имен пользователей и паролей хранятся в SQL Server. User name and password pairs are maintained within SQL Server.
Мы рекомендуем использовать проверку подлинности Windows везде, где это возможно. We recommend using Windows authentication wherever possible. При проверке подлинности Windows используется ряд зашифрованных сообщений для проверки подлинности пользователей в SQL Server. Windows authentication uses a series of encrypted messages to authenticate users in SQL Server. А при использовании имен входа SQL Server имена входа и зашифрованные пароли SQL Server передаются по сети, что делает их менее защищенными. When SQL Server logins are used, SQL Server login names and encrypted passwords are passed across the network, which makes them less secure.
При использовании проверки подлинности Windows пользователи уже вошли в Windows и им не нужно отдельно входить еще и в SQL Server. With Windows authentication, users are already logged onto Windows and do not have to log on separately to SQL Server. Следующая строка SqlConnection.ConnectionString задает проверку подлинности Windows, не требуя имени пользователя или пароля. The following SqlConnection.ConnectionString specifies Windows authentication without requiring users to provide a user name or password.
Имена для входа отличаются от пользователей базы данных. Logins are distinct from database users. Вы должны сопоставить имена для входа или группы Windows пользователям базы данных или ролям в отдельной операции. You must map logins or Windows groups to database users or roles in a separate operation. Затем вы предоставляете пользователям или ролям разрешения на доступ к объектам базы данных. You then grant permissions to users or roles to access database objects.
Сценарии проверки подлинности Authentication Scenarios
Проверка подлинности Windows обычно является лучшим выбором в следующих ситуациях: Windows authentication is usually the best choice in the following situations:
Есть контроллер домена. There is a domain controller.
Приложение и база данных находятся на одном компьютере. The application and the database are on the same computer.
Используется экземпляр SQL Server Express или LocalDB. You are using an instance of SQL Server Express or LocalDB.
Имена для входа SQL-сервера часто используются в следующих ситуациях: SQL Server logins are often used in the following situations:
Если у вас есть рабочая группа. If you have a workgroup.
Пользователи соединяются из разных, ненадежных доменов. Users connect from different, non-trusted domains.
Существуют интернет-приложения, такие как ASP.NET. Internet applications, such as ASP.NET.
При использовании аутентификации Windows имена входа SQL Server не отключаются. Specifying Windows authentication does not disable SQL Server logins. Чтобы отключить имена входа SQL Server с правами доступа, используйте инструкцию Transact-SQL ALTER LOGIN DISABLE. Use the ALTER LOGIN DISABLE Transact-SQL statement to disable highly-privileged SQL Server logins.
Типы имен входа Login Types
В SQL Server существует три типа имен входа. SQL Server supports three types of logins:
Локальная учетная запись пользователя Windows или доверенная учетная запись домена. A local Windows user account or trusted domain account. SQL Server доверяет проверку подлинности учетных записей пользователей Windows самой системе Windows. SQL Server relies on Windows to authenticate the Windows user accounts.
Группа Windows. Windows group. Предоставление доступа группе Windows обеспечивает доступ ко всем именам входа пользователей Windows, которые являются членами группы. Granting access to a Windows group grants access to all Windows user logins that are members of the group.
Имя входа SQL Server. SQL Server login. SQL Server хранит в базе данных master имя пользователя и хэш пароля путем использования внутренних методов проверки подлинности при попытке входа в базу данных. SQL Server stores both the username and a hash of the password in the master database, by using internal authentication methods to verify login attempts.
SQL Server предоставляет имена входа, созданные из сертификатов или асимметричных ключей, которые используются только для подписывания кода. SQL Server provides logins created from certificates or asymmetric keys that are used only for code signing. Они не могут использоваться для подключения к SQL Server. They cannot be used to connect to SQL Server.
Режим смешанной проверки подлинности Mixed Mode Authentication
При необходимости использовать режим смешанной проверки подлинности следует создать имена входа SQL Server, которые хранятся в SQL Server. If you must use mixed mode authentication, you must create SQL Server logins, which are stored in SQL Server. Затем имя пользователя и пароль SQL Server нужно будет вводить во время выполнения. You then have to supply the SQL Server user name and password at run time.
SQL Server устанавливается с логином SQL Server с именем sa . (сокращение от «system administrator»). SQL Server installs with a SQL Server login named sa (an abbreviation of «system administrator»). Назначьте надежный пароль для имени входа sa и не используйте имя входа sa в вашем приложении. Assign a strong password to the sa login and do not use the sa login in your application. Карты входа sa на фиксированную серверную роль sysadmin , которая имеет безотзывные административные учетные данные на всем сервере. The sa login maps to the sysadmin fixed server role, which has irrevocable administrative credentials on the whole server. Нет никаких ограничений на потенциальный ущерб, если злоумышленник получит доступ в качестве системного администратора. There are no limits to the potential damage if an attacker gains access as a system administrator.
SQL Server предоставляет механизмы политики паролей Windows для имен входа SQL Server. SQL Server provides Windows password policy mechanisms for SQL Server logins. Политика сложности паролей позволяет отражать атаки, использующие простой перебор, путем увеличения числа возможных паролей. Password complexity policies are designed to deter brute force attacks by increasing the number of possible passwords. SQL Server могут применять те же политики сложности и срока действия к паролям, которые используются в SQL Server. SQL Server can apply the same complexity and expiration policies to passwords used inside SQL Server.
Сосредоточение строк соединения из пользовательского ввода может сделать ваш сервер уязвимым к атаке путем внедрения строки подключения. Concatenating connection strings from user input can leave you vulnerable to a connection string injection attack. Используйте SqlConnectionStringBuilder для создания синтаксически корректных строк подключения во время выполнения. Use the SqlConnectionStringBuilder to create syntactically valid connection strings at run time. Дополнительные сведения см. в статье Connection String Builders (Построители строк подключения). For more information, see Connection String Builders.
Внешние ресурсы External Resources
Для получения дополнительных сведений см. следующие ресурсы. For more information, see the following resources.
Устранение ошибок подключения к SQL Server
В этой статье вы сможете решить различные проблемы с подключением к SQL серверу.
Подробнее об опыте этой статьи см. в статье Solving Connectivity errors to SQL Server.
Оригинальная версия продукта: Microsoft SQL Server
Исходный номер КБ: 4009936
Обязательное условие
Для эффективного использования этого устранения неполадок может потребоваться собрать следующую информацию.
Полный текст сообщения об ошибке, а также коды ошибок и периодические ошибки (случается только иногда) или последовательно (происходит все время).
Ошибки из SQL Server, из которых можно отметить следующее:
Полное доменное имя (FQDN) компьютера SQL Server или в случае кластерных установок виртуальное имя FQDN. Если используется экземпляр с именем, обратите внимание на имя экземпляра.
Вы можете найти строку «Имя сервера», чтобы получить эту информацию в ошибке.
Сетевые библиотеки и порты SQL, в который прослушивается экземпляр SQL. Примеры сообщений:
Именуемые трубы. Локальный поставщик подключений Server готов принять подключение к \ \ [\pipe\sql\query]. TCP/IP и номер порта: сервер прослушивает [::1 1433].
Журналы событий приложений и систем из SQL Server и клиентских систем.
При сбое подключений из приложения строка подключения из приложения. Они обычно находятся в Web.config для ASP.NET приложений.
Контрольный список
Убедитесь SQL что сервер запущен, и вы увидите следующее сообщение в SQL Server ErrorLog:
SQL Server теперь готова для клиентских подключений. Это информационное сообщение; никаких действий пользователя не требуется.
Проверка базового подключения по IP-адресу и проверка всех отклонений: ping -a , ping -a . Если вы заметили какие-либо проблемы, работайте с администратором сети, чтобы исправить то же самое.
Проверьте, SQL ли он прослушивает соответствующие протоколы, просмотрев ErrorLog.
Проверьте, можно ли подключиться к SQL серверу с помощью UDL-файла. Если он работает, может возникнуть проблема со строкой подключения. Инструкции по процедуре о тесте UDL переходить на подключение к SQL серверу с помощью раздела файлов UDL.
Проверьте, можно ли подключиться к SQL Server из других клиентских систем и различных логинов пользователей. Если вы в состоянии, то проблема может быть спецификой для клиента или входа, который испытывает проблему. Проверьте журналы событий Windows в проблемном клиенте для получения дополнительных указателей. Кроме того, проверьте, устарели ли драйверы сети.
При сбоях входа убедитесь, что пользователь имеет вход на уровне сервера и соответствующие разрешения для подключения к базе данных, к которой пользователь пытается подключиться.
При создании подключения к SQL Server
Дополнительные сведения о соответствующей ошибке см. в следующем разделе Проверка ошибок подключения.
Проверка ошибок подключения
Ошибка, связанная с сетью или конкретным экземпляром, произошла при создании подключения к SQL Server представляет одно или несколько следующих сообщений об ошибке:
При создании подключения к SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не был найден или недоступен. Убедитесь, что имя экземпляра правильно и SQL Server настроено для допуска удаленных подключений.
поставщик: SQL сетевых интерфейсов, ошибка: 26 — Указанное местонахождение сервера/экземпляра ошибки
SQL Server ошибка ссылки на личные клиентские данные
[Microsoft SQL Server Native Client 10.0]: Login timeout expired
[Microsoft SQL Server Native Client 10.0]: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
[Microsoft SQL Server Native Client 10.0]: SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
При создании подключения к SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не был найден или недоступен. Убедитесь, что имя экземпляра правильно и SQL Server настроено для допуска удаленных подключений.
поставщик: поставщик TCP, ошибка: 0
Попытка подключения не удалась из-за того, что подключенная сторона не отвечала должным образом после определенного периода времени, или не удалось установить подключение, так как подключенный хост не справился с ответом.
Microsoft SQL Server, ошибка: 10060
При создании подключения к SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не был найден или недоступен. Убедитесь, что имя экземпляра правильно и SQL Server настроено для допуска удаленных подключений.
поставщик: Названный поставщик труб, ошибка:40 — не удалось открыть подключение к SQL Server
Microsoft SQL Server, ошибка:53
Путь сети не найден
[Microsoft] [SQL Server родной клиент 11.0] Поставщик TCP. Подключение не может быть выполнено, так как целевая машина активно отказалась от него.
[Microsoft] [SQL Server родной клиент 11.0] Истек срок действия времени входа
[Microsoft] [SQL Server родной клиент 11.0] При создании подключения к SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Проверьте, правильно ли имя экземпляра и SQL Server настроены для допуска удаленных подключений. Дополнительные сведения см. в SQL Server Books Online.
Вы можете начать устранение неполадок из этого раздела: Общие причины различных проблем с подключением.
Общие причины различных проблем с подключением
Пройдите по каждой из причин, применимых к вашему экземпляру ниже и для каждой из применимых причин, попробуйте соответствующие разрешения.
Причина 1. Неправильное имя сервера, указанное в строке подключения или в диалоговом окне имя сервера
Убедитесь, что имя сервера, которое указывает приложение, соответствует тому, что имеется в журнале ошибок.
Перейдите к файлу ASP.NET Конфигурация файлов для приложения и убедитесь, что раздел Строки подключения указывают на правильное имя сервера и использует соответствующие SQL Server строки подключения для ASP.NET веб-приложений.
Чтобы программным образом получить строки подключения из приложения, обратитесь к примеру в раздел How to: Read Connection Strings from the Web.config File.
Причина 2. Неправильный псевдоним на клиентской машине
Псевдонимы обычно используются в средах, когда необходимо подключиться к SQL Server с альтернативным именем или при проблемах с разрешением имен в сети. Неправильный псевдоним на клиентской машине может привести к тому, что подключения из приложений перейдут на неправильный сервер, что приведет к сбою.
Что нужно попробовать:
Откройте SQL Server клиентскую сеть, введяcliconfg.exe в команде Run.
Проверьте, есть ли псевдонимы, определенные для сервера, к который вы пытаетесь подключиться.
Если есть, сделайте следующее:
Нажмите кнопку Изменить и переименовать псевдоним Server. (например, если имя сервера — MySQL, переименуйте его в MySQL_test) и повторное подключение. Если подключение работает, это указывает на то, что у вас был неправильный псевдоним, вероятно, из старой конфигурации, которая больше не требуется. Если вы продолжаете испытывать ошибку, переименуем псевдоним обратно в его первоначальное имя и переступим к следующему шагу.
Проверьте параметры Подключения для псевдонима и убедитесь, что они правильные. Некоторые из распространенных сценариев, которые могут вызвать проблемы с подключением:
Неправильный IP-адрес для параметра Имя сервера. Убедитесь, что этот IP-адрес соответствует записи в SQL ErrorLog.
Неправильное имя сервера в параметре Имя сервера. Например, если псевдоним Server указывает правильное имя сервера, если параметр имя сервера имеет неправильное значение, подключения сбой.
Если вы используете псевдоним с именем pipes, убедитесь, что имя трубки имеет правильный формат.
- Для подключения к экземпляру по умолчанию с именем Mydefaultinstance имя трубки должно быть \\Mydefaultinstance\pipe\sql\query
- Для подключения к именим экземпляра MySQL\Named имя трубки должно быть \\MySQL\pipe\MSSQL$Named\sql\query
Причина 3 (экземпляр по умолчанию): Брандмауэр(ы) между клиентом и сервером, блокирующий порт SQL Server экземпляр прослушивает
Экземпляр по умолчанию. Экземпляр по умолчанию обычно выполняется в порту 1433. Некоторые установки также используют нестандартный порт (кроме 1433) для SQL экземпляров. Брандмауэр может блокировать любой из них.
Что нужно попробовать:
Определите номер порта, SQL экземпляр запущен. Если экземпляр SQL сервера по умолчанию использует нестандартный порт, см. в SQL Server экземпляре Running SQL Server ‘Default’ впорту TCP по умолчанию (или нестандартному).
Попробуйте примкнутый номер порта SQL Server имя сервера с помощью формата, portnumber и посмотреть, если это работает. Например, если имя экземпляра SQL MySQLDefaultinstance и оно запущено в порту 2000, укажите имя сервера как MySQLServer, 2000 и узнайте, работает ли это. Если он работает, это указывает на то, что брандмауэр блокирует порт.
В случае подтверждения добавьте порт в список исключений Брандмауэра. Для инструкций переходить к разделу Настройка брандмауэров.
Причина 4 (Экземпляр с именем): SQL браузер не запущен
Клиентские приложения, подключающиеся к именитому экземпляру SQL Server, используют службу браузера SQL в системе, в которой SQL работает, чтобы скомминировать порт, который SQL прослушивается. Если служба браузера не запущена, подключения сбой.
Что нужно попробовать:
В системе, SQL Server экземпляре, используйте диспетчер конфигурации SQL Server или applet Services в панели управления и запустите службу браузера SQL, если она еще не запущена. Дополнительные сведения см. в фото: Start and Stop the SQL Server Browser Service
Причина 5 (Экземпляр с именем): UDP Port 1434, используемый SQL браузер заблокирован в сети
Если ваш SQL является именем экземпляра, он может быть настроен на использование динамических портов или статический порт. В любом случае, в основе запроса сетевых библиотек SQL служба браузера, запущенная на SQL Server компьютере через порт UDP 1434, чтобы скомпромитировать номер порта для именуемого экземпляра. Если брандмауэр между клиентом и сервером блокирует этот порт UDP, клиентская библиотека не может определить порт (требование для подключения) и подключение не удается.
Метод 1:
- Обратите внимание на порт, SQL экземпляр прослушивается из SQL Server errorlog.
- Попробуйте подключиться к именитому экземпляру с помощью номера порта, применимого к имени сервера, с помощью , portnumber и узнайте, работает ли это. Если он работает, это указывает на то, что брандмауэр блокирует порт UDP-порт 1434. Например, если ваше имя SQL mySQL\Namedinstance и оно запущено в порту 3000, укажите имя сервера как MySQL\Namedinstance, 3000 и узнайте, работает ли это. Если он работает, это может означать блокировку порта UDP 1434 или блокировку статического порта. Чтобы подтвердить, является ли он портом UDP или статическим портом с помощью Portqry из метода 2 ниже.
Метод 2:
- Используйте средство PortqryUI с именем экземпляра и наблюдайте за результатом. Если вы видите сообщение о фильтрации порта UDP 1434, это указывает на блокировку порта в сети. Инструкции по использованию этого средства переходить к использованию средства PortqryUI с SQL Server разделе.
Что нужно попробовать:
Сначала определите, прослушивается ли SQL Server динамический и статичный порт, и используйте процедуру, соответствующую вашему сценарию. Как узнать, прослушивается ли SQL динамических и статических портах, переходить к разделу Tell SQL в разделе Динамические и Статические порты.
Пример 1. Динамические порты. В этом случае необходимо убедиться SQL служба браузера действительно запущена и порт UDP 1434 не заблокирован на брандмауэре между клиентом и сервером. Если вы не можете сделать ни один из них, следует переключить экземпляр SQL Server для использования статического порта и использовать процедуру, задокументированную в Настройка сервера для прослушивания в конкретном порту TCP.
Пример 2. Статическая конфигурация порта и SQL браузер не запущены или UDP 1434 не может быть открыт на брандмауэре. В этом случае необходимо убедиться, что статичный порт указан в строке подключения и порт не блокируется брандмауэром. Для инструкций переходить к разделу Настройка брандмауэров.
Если это не решает проблему, переехав в раздел «Все еще возникают проблемы».
Настройка брандмауэров
Если вы используете брандмауэр Windows, используйте процедуру, описанную в разделе SQL Server Книги Online:
Если используется настраиваемый брандмауэр, работайте с сетевым администратором, чтобы открыть необходимые порты.
Ниже приведены некоторые быстрые скриншоты, показывающие необходимую конфигурацию брандмауэра Windows для успешного подключения к экземпляру по умолчанию и названного экземпляра.
Экземпляр по умолчанию SQL Server в порту по умолчанию 1433 на сервере Windows 2012 R2. В этом случае необходимо убедиться, что в TCP-порт 1433 в брандмауэре Windows добавляется исключение.
Откройте брандмауэр Windows в экземпляре по умолчанию SQL сервера и нажмите кнопку Новое правило в правилах входящие.
Выберите параметр Порт и нажмите кнопку Далее.
На следующем экране:
Выберите TCP в качестве протокола.
Выберите конкретные локальные порты и укажите значение 1433 и нажмите кнопку Далее.
На следующем экране выберите Разрешить подключение и нажмите кнопку Далее.
На следующем экране выберите параметр, который лучше всего подходит для вашей среды, и нажмите кнопку Далее.
На следующем экране дайте имя правилу и уканите четкое описание будущей ссылки и нажмите кнопку Готово.
После этого вы должны увидеть, что правило создано и включено по умолчанию.
Добавление исключения для порта UDP 1434 для подключения к именитого экземпляра SQL сервера:
Откройте брандмауэр Windows в экземпляре по умолчанию SQL сервера и нажмите кнопку Новое правило в правилах входящие.
Выберите параметр Порт и нажмите кнопку Далее.
На следующем экране:
Выберите UDP в качестве протокола.
Выберите локальные порты и укажите значение 1434 и нажмите кнопку Далее.
На следующем экране выберите Разрешить подключение и нажмите кнопку Далее.
На следующем экране выберите параметр, который лучше всего подходит для вашей среды, и нажмите кнопку Далее.
На следующем экране дайте имя правилу и уканите четкое описание будущей ссылки и нажмите кнопку Готово.
После этого вы должны увидеть, что правило создано и включено по умолчанию.
Если это не решает проблему, переехав в раздел «Все еще возникают проблемы».
Использование средства PortqryUI с SQL Server
- Запустите средство PortqryUI на клиентской машине. (машина, на которой возникли проблемы с подключением, для веб-приложений это может быть сервер IIS)
- Укажите имя сервера экземпляра SQL Server или SQL vitutal server в IP-адресе назначения или FQDN для запроса.
- Выберите предопределяемую службу Запрос и выберите SQL службу в списке отсев.
- Щелкните Запрос и изучите вывод и используйте следующую таблицу для дополнительных указателей.
Тип экземпляра | Выход из Portqry | Возможные причины проблем с подключением | Что попробовать? |
---|---|---|---|
Экземпляр по умолчанию | TCP port 1433 (ms-sql-s service): NOT LISTENING | Указывает один из следующих ниже.
|
Примечание Если вы хотите устранить проблему брандмауэра, переехав в раздел Настройка брандмауэров. |
Экземпляр по умолчанию | TCP port 1433 (ms-sql-s service): LISTENING |
|
|
Экземпляр с именем | UDP port 1434 (ms-sql-m service): FILTERED | Указывает один из следующих ниже.
|
Примечание Если вы хотите устранить проблему брандмауэра, переехав в раздел Настройка брандмауэров. |
Экземпляр с именем | UDP-порт 1434 прослушивается |
|
|
Экземпляр по умолчанию в порту по умолчанию: рабочий сценарий
Экземпляр по умолчанию в порту по умолчанию: сценарий нерабояния
Пример с именем: Рабочий сценарий: (Имя экземпляра: SQL 2014 г., имя хост-пользователя: SQLCONNVM)
Пример с именем: Non — Working scenario: (Имя экземпляра: SQL 2014 г., имя хозяйского пользователя: SQLCONNVM)
Дополнительные сведения переходить к разделу Настройка брандмауэров.
Если это не решает проблему, переехав в раздел «Все еще возникают проблемы».
Скажите, SQL прослушивает динамические и статические порты
В SQL Server Диспетчер конфигурации в области консоли разместите SQL Server конфигурацию сети, разместите Протоколы для, а затем дважды щелкните TCP/IP.
В диалоговом окне TCP/IP Properties на вкладке IP-адресов несколько IP-адресов отображаются в формате IP1, IP2, до IPAll. Один из них — IP-адрес адаптер 127.0.0.1. Для каждого IP-адреса на компьютере отображаются дополнительные IP-адреса. (Вероятно, вы увидите IP-адреса версии 4 и IP-версии 6.) Щелкните правой кнопкой мыши каждый адрес и нажмите кнопку Свойства, чтобы определить IP-адрес, который необходимо настроить.
Если диалоговое окно динамических портов TCP содержит 0, это означает, что двигатель базы данных прослушивается в динамических портах. Если он содержит определенный номер, это означает, что экземпляр базы данных прослушивается в статическом порту.
Дополнительные сведения см. в веб-сайте Настройка сервера для прослушивания в определенном порту TCP.
Если это не решает проблему, переехав в раздел «Все еще возникают проблемы».
Подключение не удалось сделать, так как целевая машина активно отказалась от него
Дополнительные сведения об ошибке без подключения переходить в раздел Полное сообщение об ошибке.
Полное сообщение об ошибке
Вы можете получить ошибку, аналогичную следующему:
[Microsoft] [SQL Server родной клиент 11.0] Поставщик TCP. Подключение не может быть выполнено, так как целевая машина активно отказалась от него.
[Microsoft] [SQL Server родной клиент 11.0] Истек срок действия времени входа.
[Microsoft] [SQL Server родной клиент 11.0] При создании подключения к SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Проверьте, правильно ли имя экземпляра и SQL Server настроены для допуска удаленных подключений. Дополнительные сведения см. в SQL Server Books Online.
Вы можете начать устранение неполадок из этого раздела: Общие причины различных проблем с подключением.
SQL Server не существует или не отказано в доступе
Вы можете начать устранение неполадок из этого раздела: Общие причины различных проблем с подключением.
Сбой операции pivotTable: мы не можем найти сервер для загрузки модели данных книг
Вы можете начать устранение неполадок из этого раздела: Общие причины различных проблем с подключением.
Невозможно создать сообщение об ошибке контекста SSPI
Интерфейс поставщика поддержки безопасности (SSPI) — это набор API Windows, который позволяет делегировать и взаимную проверку подлинности на любом общем уровне транспорта данных, например в розетках TCP/IP. Таким образом, SSPI позволяет компьютеру с операционной системой Windows безопасно делегировать маркер безопасности пользователя с одного компьютера на другой через любой транспортный слой, который может передавать необработанные bytes данных.
Ошибка контекста Cannot создается, когда SSPI использует проверку подлинности Kerberos для делегирования проверки подлинности TCP/IP и Kerberos не может завершить необходимые операции для успешного делегирования маркера безопасности пользователя на запущенный SQL Server.
Дополнительные сведения о том, почему операции Kerberos невозможно завершить, переходить к устранению сбоев проверки подлинности из-за проблем Kerberos для проверки и реализации действий.
Устранение сбоев проверки подлинности из-за проблем Kerberos
Сбои проверки подлинности Kerberos могут происходить по разным причинам. Основные причины и соответствующие решения приведены ниже:
Тип проблемы | Предложенные разрешения |
---|---|
Проблемы SPN:
| Проверьте использование диспетчера конфигурации Kerberos для диагностики и устранения проблем SPN и делегирования для диагностики и решения проблем SPN. Примечание Чтобы получить подробное представление о spNs, Kerberos и других связанных понятиях, просмотрите сведения в следующей статье KB: |
SQL учетные записи службы, не доверенные для делегирования. Если вы используете учетную запись Локальной системы, следует доверять среднему серверу делегирования в активном каталоге. | Вкладка делегирования диспетчера конфигурации UseKerberos для подтверждения и работы с администратором Active directory для делегирования учетной записи. Проверьте использование диспетчера конфигурации Kerberos для диагностики и устранения проблем SPN и делегирования для подробной информации в следующем абзаце. |
Неправильное разрешение имен. Имя сервера может быть ретранслируется на другой IP-адрес, чем зарегистрированный DNS-сервером вашей сети. | ping -a (использование -4 и -6 для IPv4 и IPv6 в частности) ping -a nslookup (введите локальное и удаленное имя машины и IP-адрес несколько раз) И посмотрите на любые несоответствия и несоответствия возвращенных результатов. Правильность конфигурации DNS в сети имеет жизненно важное значение для SQL подключения. Неправильная запись DNS позднее может вызвать все виды проблем с подключением. |
Брандмауэры или другие сетевые устройства, препятствующие подключению клиента к контроллеру домена: SPNs хранятся в активном каталоге, и если клиенты не могут общаться с AD, подключение не может продолжиться. | Дополнительные сведения о следующих ссылках:
|
Когда экземпляр SQL Server базы данных запускается, SQL Server пытается зарегистрировать SPN для SQL Server службы. Когда экземпляр остановлен, SQL Server пытается отрегистрить SPN. Для этого для SQL учетной записи службы в активном каталоге необходимы права ReadServicePrincipalName и WriteServicePrincipalName. Но если учетная запись службы не имеет этих прав, автоматической регистрации SPN не происходит, и вам необходимо работать с администратором Active Directory, чтобы зарегистрировать их для экземпляров SQL, чтобы включить проверку подлинности Kerberos. В этом сценарии, если используется экземпляр с именем, будет удобнее использовать статичный порт для этого экземпляра. При использовании динамических портов номер порта может изменяться при каждом перезапуске службы, а зарегистрированный вручную SPN для экземпляра перестает быть допустимым. Дополнительные сведения см. в рублях Регистрация основного имени службы для подключений Kerberos.
В средах, SQL кластеризация автоматической регистрации СНО не рекомендуется, так как для регистрации SPN и R-регистрации spN в Active directory может потребоваться больше времени, чем время, необходимое для SQL, чтобы выйти в интернет. Если регистрация SPN не произойдет вовремя, это может SQL в интернете, так как администратор кластера не может подключиться к SQL серверу.
Использование диспетчера конфигурации Kerberos для диагностики и устранения проблем spN и делегирования
Запустите средство с помощью учетной записи домена предпочтительно с учетной записью, которая обладает достаточными привилегиями для создания SPNs в вашем активном каталоге. См. ниже рисунок:
Подключись SQL Server, чтобы собрать сведения об ошибках Kerberos:
После подключения можно увидеть различные вкладки, как показано ниже:
System: Имеет базовую информацию о системе.
SPN: Предоставляет spN-сведения о экземплярах каждого экземпляра SQL, найденных на целевом сервере, и предоставляет различные варианты, как отмечено ниже. С помощью этой вкладки можно найти отсутствующие или неправильно сконфигуративные spNs и кнопки «Создание» или «Исправление», чтобы устранить эти проблемы.
Параметр Generate позволит создать скрипт поколения SPN. Щелкнув кнопку «Создание», выключите следующий диалог:
Этот параметр создает командный файл, который можно выполнять из командного запроса для создания SPN.
Содержимое generateSPNs будет похоже на следующее:
Он просто использует параметр SetSPN для создания SPN в учетной записи службы для SQL Server.
Исправление параметра добавит SPN до тех пор, пока у вас есть право добавить SPN и показано следующее подсказка инструмента:
Средство предоставляет только параметры Fix и Generate для экземпляров по умолчанию и именных экземпляров со статичными портами. Для именных экземпляров, использующих динамический порт, следует перейти от динамических к статическим портам или предоставить необходимые разрешения для учетной записи службы для регистрации и регистрации SPN при каждом запущении службы. В противном случае при каждом SQL службы необходимо вручную отрегистрируйте и перерегистрируйте соответствующие службы spns.
Вкладка Делегирования. Вкладка определяет любые проблемы с конфигурацией учетной записи службы для делегирования. Это особенно полезно при устранении неполадок связанных серверов. Например, если службы spNs проверяются нормально, но если у вас по-прежнему возникли проблемы с связанными запросами сервера, это может быть указанием на то, что учетная запись службы не настроена для делегирования учетных данных. Дополнительные сведения можно получить в разделе Книги в Интернете в разделе Настройка связанных серверов для делегирования.
После исправления СНО повторно перезапущено средство диспетчера конфигурации Kerberos и убедитесь, что вкладки SPN и Delegation больше не сообщают о сообщениях об ошибках и повторном повторе подключения из приложения.
Дополнительные сведения просмотрите следующие ссылки: