Сервер 1с не видит sql сервер

Обновлено: 08.07.2024

Это руководство помогает администраторам диагностировать и устранять SQL Server обнаружения баз данных в System Center 2012 и более поздних версиях.

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

Оригинальная версия продукта: System Center Диспетчер операций
Исходный номер КБ: 4089249

Перед началом работы

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

Как называется и класс объекта, который необходимо открыть?

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

Установлен ли соответствующий агент мониторинга?

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

Включен ли прокси-сервер в агенте?

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

Установлена последняя версия SQL Server управления?

Большинство объектов являются конкретными версиями, например, пакет управления для SQL Server 2012 года может не работать на экземпляре SQL Server R2 2012. Кроме того, последняя версия пакета управления содержит исправления известных проблем в более ранних версиях. Установка последней версии иногда устраняет проблему SQL Server базы данных.

Проверка цели правила обнаружения

Цель правила SQL Server обнаружения DB должна быть обнаружена перед запуском правила обнаружения. В нашем примере цель правила обнаружения SQL Server DB 2012 — SQL Server DB Engine 2012.

Определение цели правила обнаружения SQL Server DB 2012

В консоли Диспетчер операций перейдите к обнаружению объектов объекта "Управление пакетом > > управления".

Щелкните Область, выберите Просмотр всех целей и нажмите кнопку Очистить все.

Ввод SQL Server 2012 г. в Look for, SQL Server DB 2012 г., а затем нажмите кнопку ОК.

Поиск целевой задачи в диалоговом окне Объекты пакетов управления областью.

Найдите цель правила обнаружения возвращаемого обнаружения (столбец Target), в нашем примере, SQL Server DB Engine 2012.

Найдите столбец Target из правила обнаружения возвращаемого.

Определите, обнаружен ли целевой объект

В консоли Диспетчер операций перейдите к мониторингу > обнаруженных запасов.

Щелкните Изменить целевой тип. в области Задач.

Выберите View all target, ввод SQL Server DB Engine 2012 в Поиске.

Выберите SQL Server DB Engine 2012, а затем нажмите кнопку ОК.

Искать и просматривать все цели в диалоговом окне Select Items to Target.

В "Обнаруженных инвентаризациях" SQL Server имя кластера, на котором размещена база данных. Если вы не можете найти какой-либо из них, необходимо устранить неполадки правила обнаружения двигателя DB.

Проверка состояния состояния Windows агента

Если агент Windows показывает серое состояние, следуйте серым состояниям агентов устранения неполадок в System Center Operations Manager, чтобы устранить проблему.

Проверьте, переопределено ли открытие

Для этого выполните следующие действия:

В консоли Диспетчер операций перейдите к обнаружению объектов объекта "Управление пакетом > > управления".

Щелкните Область, выберите Просмотр всех целей, а затем нажмите Кнопку Очистить Все, если он не серый.

Проверьте SQL Server DB 2012 в Look for, а затем нажмите кнопку ОК.

Щелкните правой кнопкой мыши Откройте базы данных для ядро СУБД, а затем выберите Выберите переопределения > Сводка для обнаружения > объектов.

Просмотрите все переопределения, которые могут повлиять на правило обнаружения.

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

Проверьте учетную запись Run As, в которую запущено открытие

Открытие SQL Server DB 2012 использует профиль SQL Server учетной записи Discovery Run As. Чтобы проверить, связана ли учетная запись Run As с этим профилем, выполните следующие действия:

В консоли Диспетчер операций перейдите к администрированию Run As Configuration Profiles, а затем откройте свойства SQL Server > > учетной записи обнаружения.

Переместите на страницу Run As Accounts.

Учетные записи Run As, перечисленные на странице Run As accounts.

Если учетная запись Run As указана на этой странице, для открытия используется учетная запись. Если ничего не перечислено, для запуска обнаружения используется учетная запись Run As на сервере. Чтобы найти учетную запись Run As на сервере по умолчанию, выполните следующие действия:

В консоли Диспетчер операций перейдите в администрирование Run > As Configuration > Profiles, а затем откройте свойства профиля учетной записи действий по умолчанию.

Перейдите на страницу Run As Accounts, найдите имя сервера в столбце Путь и обратите внимание на соответствующую учетную запись в столбце Имя учетной записи.

Найдите столбец Путь и столбец имени учетной записи.

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

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

Изучите журнал событий диспетчера операций в агенте на случай ошибок

И посмотрите на следующие события и ошибки:

События, ссылаясь на рабочий процесс правила обнаружения. Имя обнаружения — Discover Databases for a ядро СУБД, а имя рабочего процесса — Microsoft.SQLServer.2012.DatabaseDiscoveryRule.

Ошибки, связанные с учетной записью Run As. Эти ошибки могут возникать после служба работоспособности перезапуска.

Ошибки, связанные с DiscoverSQL2012DB.vbs скриптом. Ниже приводятся примеры:

Имя журнала: диспетчер операций
Источник: служба работоспособности модули
Дата: <Date Time>
ID события: 21405
Категория задач: Нет
Уровень: предупреждение
Ключевые слова: Классический
Пользователь: N/A
Компьютер: ContosoSQL
Описание:
Процесс начался с <Time> ошибки при создании System.Discovery.Data, никаких ошибок, обнаруженных в выходе. Процесс вышел с 4294967295

Выполнена команда: "C:\Windows\system32\cscript.exe" /nologo "DiscoverSQL2012DB.vbs" 7103 ContosoSQLContosoSQL ContosoSQL\MSSQLSERVER MSSQLSERVER "Exclude:" 60005, 1433
Рабочий каталог: C:\Program Files\System Center Operations Manager\Agent\служба работоспособности State\Monitoring Host Temporary Files 47\13948\
Это повлияло на один или несколько процессов.

Имя рабочего процесса: Microsoft.SQLServer.2012.DatabaseDiscoveryRule
Имя экземпляра: sql_instance1
Экземпляр ID:
Группа управления: management_group

Чтобы устранить эту проблему, измените номер порта в экземпляре SQL Server с 60005, 1433 до 60005 1433. Дополнительное пространство заставляет командную строку передавать неправильные переменные.

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

Включить многословную трассировку ETL

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

Просмотрите TracingGUIDSNative.log и TracingGUIDSScript.log для событий, связанных с открытием. Найди события, которые ссылались наDiscoverSQL2012DB.vbs или рабочий процесс Microsoft.SQLServer.2012.DatabaseDiscoveryRule.

Для обнаружения на основе скрипта в журнале TracingGUIDSScript.log также содержатся параметры, используемые для запуска сценария. Проверьте, возвращаются ли данные обнаружения (в XML-формате).

Пример данных обнаружения

Экспортировать сценарий обнаружения и запускать его вручную

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

В этом случае следуя следующим шагам:

Экспорт скрипта из пакета управления

Экспорт пакета управления из диспетчера операций путем запуска следующей команды из оболочка Operations Manager экземпляра:

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

Найдите Microsoft.SQLServer.2012.Discovery.xml в папке c:\temp и откройте его в Блокнот или редакторе XML.

Поиск, <ScriptName>DiscoverSQL2012DB.vbs</ScriptName> копирование содержимого элемента, а <ScriptBody> затем вклейка его в новый текстовый файл.

Снимок экрана строки ScriptBody, которую необходимо скопировать и ввести в новый текстовый файл.

Удалите <ScriptBody> стартовую метку и конечный </ScriptBody> тег .

Найти и заменить следующие символы в файле:

Замена & lt; с <
Замените & gt; с >
Замените & amp; с &

Сохраните новый файл как DiscoverSQL2012DB.vbs.

Вручную запустить сценарий

Найдите строку, аналогичную следующей в TracingGUIDSScript.log:

Это команда, используемая для запуска сценария DiscoverSQL2012DB.vbs.

Скопируйте эту строку и вклеите ее в командную строку для запуска DiscoverSQL2012DB.vbs сценария.

Проблемы, которые могут возникнуть при запуске сценария

Данные не возвращаются.

Эта проблема возникает, если TCP/IP отключен в SQL Server экземпляре.

Решение

Откройте диспетчер конфигурации SQL Server,перейдите SQL Server протоколы конфигурации сети > для "SQL_Instance", а затем включить TCP/IP.

Исключение возникает при запуске сценария.

Решение

Проверьте, существует ли проблема с разрешением или WMI.

Чтобы проверить проблему WMI, выполните следующие действия:

На SQL откройте WBEMTEST.

Запустите select * from SQLService where SQLServiceType=1 запрос.

Запустите запрос, чтобы узнать, получаете ли вы ошибку WMI или вывод.

Если вы получаете ошибку WMI или нет вывода, убедитесь, что у вас есть резервная копия сервера, откройте повышенную командную подсказку, а затем запустите следующую команду для восстановления пространства имен WMI:

Изучение данных об обнаружении отсутствующих объектов

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

Например, если у учетной записи Run As нет необходимых разрешений, вы можете получить выход, например:

Чтобы проверить проблему WMI, выполните следующие действия:

На SQL откройте WBEMTEST.

Запустите select * from SQLService where SQLServiceType=1 запрос:

Запустите запрос, чтобы узнать, получаете ли вы ошибку WMI или вывод.

Если вы получаете ошибку WMI или нет вывода, убедитесь, что у вас есть резервная копия сервера, откройте повышенную командную подсказку, а затем запустите следующую команду для восстановления пространства имен WMI:

Если отсутствующие объекты включены в данные обнаружения, просмотрите следующие журналы событий:

Журналы событий диспетчера операций

Найди события, которые сообщают о том, что данные об обнаружении будут отброшены. Например, событие 5000 или 4506.

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

Журнал событий сервера управления

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

Дополнительная информация

Дополнительные сведения о System Center operations Manager можно получить здесь.

Для всех последних новостей, информационных и технических советов посетите System Center Блог.

Решаемая задача: Восстановление работоспособности сервера и программы 1С.

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

Проверка программ и служб на работоспособность

Шаг 1. Проверяем доступность порта соединения

Этот адрес меняется в зависимости от версии 1С:

  • C:\Program Files (x86)\1cv8\ \bin — для 32-разрядной версии сервера «1С:Предприятие» версии 8.3
  • C:\Program Files\1cv8\ \bin — для 64-разрядной версии сервера «1С:Предприятие» версии 8.3
  • C:\Program Files (x86)\1cv82\ \bin — для 32-разрядной версии сервера «1С:Предприятие» версии 8.2
  • C:\Program Files\1cv82\ \bin — для 64-разрядной версии сервера «1С:Предприятие» версии 8.2

Шаг 2. Проверяем в процессах есть ли «rphost.exe» «ragent.exe» «rmngr.exe», он должен быть активен.

Диспетчер задач

Шаг 3. Проверяем запущен ли агент сервера 1С в службах и сравниванием версию и порт в строке «Исполняемый файл»

Службы

Шаг 4. Проверяем работоспособность сервера MS SQL

Выполняем: Пуск – Программы - Microsoft SQL Server 2008 R2 (у Вас может быть любая версия ) - Средства настройки.

Напротив служб «SQL Server» и «Агент SQL Server» должен быть статус Работает.

Проверка работоспособности сервера MS SQLt

Если всё запущено и не работает

Шаг 5. Останавливаем службу 1С

В командной строке:

Остановка службы 1С

Шаг 6. Переходим к удалению процессов

Далее по очередности удаляем процессы:

Переход к удалению процессов

Переход к удалению процессов

Переход к удалению процессов

Шаг 7. Чистим временные папки и файлы

Далее нужно будет почистить папки 1С с временными файлами с папками типа:

Открываем папку с файлами установки сервера «1С:Предприятие» и нажимаем на файл setup.exe.

Установка Сервера 1С:Предприятие

Запуститься помощник установки «1С:Предприятия». Нажимаем «Далее».

Установка Сервера 1С:Предприятие

На следующей странице требуется выбрать те компоненты, которые будут установлены:

  • «Сервер 1С:Предприятие» - компоненты сервера «1С:Предприятие»
  • «Администрирование сервера 1С:Предприятия» — дополнительные компоненты для администрирования серверов «1С:Предприятия»

Сделав выбор, нажимаем «Далее».

Установка Сервера 1С:Предприятие

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

Установка Сервера 1С:Предприятие

Если сервер «1С:Предприятие» устанавливается как служба Windows (а так в большинстве случаев и следует его устанавливать) - рекомендуем сразу создать отдельного пользователя, из-под которого будет запускаться эта служба.

Также данному пользователю обязательно следует дать необходимые права на каталог служебных файлов сервера (по умолчанию C:\Program Files\1cv8\srvinfo для 64-х разрядного и C:\Program Files (x86)\1cv8\srvinfo для 32-х разрядного сервера).

Созданный автоматически пользователь USR1CV8 будет обладать всеми перечисленными правами.

Заполнив соответствующие параметры, жмем «Далее».

Установка Сервера 1С:Предприятие

Нажимаем «Установить» для того чтобы начать установку. При этом будет произведено копирование файлов выбранных компонент, создание конфигурационных файлов, регистрация компонентов программы, создание ярлыков, а также запуск службы сервера «1С:Предприятия».

Установка Сервера 1С:Предприятие

По завершении установки помощник предложит установить драйвер защиты — HASP Device Driver. Если используется программная лицензия на сервер «1С:Предприятия», производить установку драйвера нет необходимости. Оставляем или снимаем флаг «Установить драйвер защиты» и жмем «Далее».

Установка Сервера 1С:Предприятие

Если установка завершена успешно, откроется последняя страница помощника установки. Нажимаем «Готово» для завершения работы мастера.

Установка Сервера 1С:Предприятие

На рисунке ниже изображены основные компоненты необходимые для базовой установки сервера.

Установка сервиса MS SQL

При первой установке в следующем окне ничего менять не нужно.

Установка сервиса MS SQL

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

Установка сервиса MS SQL

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

Установка сервиса MS SQL

На вкладке «Каталоги данных» необходимо указать дефолтное размещение пользовательских баз данных, а также указать каталоги системных баз данных. Для повышения производительности SQL Server желательно разносить функционально разные базы данных. Так на отдельные физические диски необходимо разносить пользовательские данные, журнал пользовательских баз данных, базу данных temp и ее журнал. Также возможно указать дефолтный каталог для хранения резервных копий баз данных.

Установка сервиса MS SQL

Если все сделано правильно, остается прощелкать кнопку «Далее» и дождаться установки SQL Server.

Оптимизация и тонкая настройка Сервера 1С:Предприятие

3.1. Включаем режим Shared memory.

«Shared Memory» включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится «Named Pipe» – несколько уступающий в скорости работы. Актуально, если службы 1С и MS SQL установлены на одном физическом или виртуальном сервере.

Включаем режим Shared memory

3.2. Настройка кластера 1С:Предприятие.

Настройка кластера 1С:Предприятие

Настройки кластера 1С отвечают за параметры всех серверов 1С, принадлежащих кластеру. Кластер подразумевает работу нескольких физических или виртуальных серверов, работающих с одними и теми же информационными базами.

  • Интервал перезапуска – отвечает за частоту перезапуска рабочих процессов кластера. Автоматический перезапуск был разработан в платформе «для минимизации отрицательных последствий фрагментации и утечки памяти в рабочих процессах». Однако, автоматический перезапуск может приводить к разрыву соединений в активных сессиях, поэтому в некоторых случаях предпочтительнее регламентные операции по перезапуску процессов 1С и очистке серверного кэша проводить вручную, либо с помощью скрипта.
  • Допустимый объем памяти – защищает сервера 1С от перерасхода памяти. При превышении процессом этого объема в интервале превышения допустимого объема, процесс перезапускается. По сути – это максимальный размер ОЗУ, занимаемый процессами «rphost» в периоды пиковой нагрузки серверов. Рекомендуется установить небольшой порог превышения допустимого объема.
  • Допустимое отклонение количества ошибок сервера. Платформа рассчитывает среднее количество ошибок сервера по отношению к числу обращений к серверу в течение 5 минут. Если это отношение превысит допустимое, то рабочий процесс считается «проблемным», и может быть завершен системой, если установлен флаг «Принудительно завершать проблемные процессы».
  • Выключенные процессы останавливать через « ». При превышении допустимого объема памяти, рабочий процесс не завершается сразу, а становится «выключенным», чтобы было время «перенести» рабочие данные без потери на новый запущенный рабочий процесс. Если указан этот параметр, то «выключенный» процесс в любом случае завершится по истечении этого времени. Если наблюдаются «зависшие» рабочие процессы в работе сервера 1С, то рекомендуем рассмотреть использование данного параметра путем установки таймера на 3-5 минут.

3.3. Настройка сервера 1С:Предприятие.

Настройка сервера 1С:Предприятие

Эти настройки устанавливаются для каждого сервера 1С персонально.

  • Максимальный объем памяти рабочих процессов – это объем совокупной памяти, которую могут занимать рабочие процессы (rphost) на текущем кластере.
    • Если параметр установлен в «0», то процесс может потреблять до 80% ОЗУ сервера.
    • Если «1» - без ограничений.
    • Если параметр установлен в «0», то объем безопасного расхода ОЗУ будет равен 5 % от «Максимального объема памяти рабочих процессов».
    • «1» - без ограничения, что крайне не рекомендуется. В большинстве случаев этот параметр лучше оставлять «0».

    4.1. Настройка SQL сервера.

    • Включаем Shared memory (показано на картинке). Актуально если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.

    Настройка SQL сервера

    Проверить можно, выполнив запрос:

    • Устанавливаем максимально отведенное серверу количество памяти.

    Настройка SQL сервера

    • Устанавливаем сжатие БД при резервном копировании и дефолтные места для хранения файлов БД

    Настройка SQL сервера

    4.2. Настройка Базы данных.

    После того, как сервер СУБД оптимизирован – переходим к настройкам баз.

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

    4.3. Настройка регламентных заданий.

    Настройка регламентных заданий

    Настройка регламентных заданий

    Мы также готовы оказать помощь в установке и настройке сервера 1С, оптимизации.

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

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

    Для других сценариев см. такие материалы:

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

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

    (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 53)

    (provider: TCP Provider, error: 0 - No such host is known.) (Microsoft SQL Server, Error: 11001)

    Эта ошибка обычно означает, что клиенту не удается найти экземпляр SQL Server. Обычно это происходит при наличии хотя бы одной из следующих проблем:

    • Имя компьютера, на котором размещен SQL Server
    • экземпляр не может правильно разрешить IP-адрес;
    • номер TCP-порта указан неправильно.

    Интерактивную страницу по устранению неполадок можно найти на сайте службы технической поддержки Microsoft на странице Solving Connectivity errors to SQL Server (Устранение ошибок подключения к SQL Server).

    Ошибки, не описанные в статье

    Получение имени экземпляра из диспетчера конфигурации

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

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

    Войдите на компьютер, на котором размещен экземпляр SQL Server.

    Запустите диспетчер конфигурации SQL Server.

    На левой панели выберите Службы SQL Server.

    На правой панели проверьте имя экземпляра ядра СУБД.

    • SQL SERVER (MSSQLSERVER) — это экземпляр SQL Server по умолчанию. <computer name> — имя экземпляра по умолчанию.
    • SQL SERVER (<instance name>) — это именованный экземпляр SQL Server. <computer name>\<instance name> — имя именованного экземпляра.

    Проверка выполнения экземпляра

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

    • Если экземпляр выполняется, отображается зеленая стрелка.
    • Красный квадрат означает, что экземпляр остановлен.

    Если экземпляр остановлен, щелкните его правой кнопкой мыши и выберите команду Запустить. Экземпляр будет запущен, и красный квадрат поменяется на зеленую стрелку.

    Убедитесь, что служба обозревателя SQL Server запущена

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

    Экземпляр SQL Server по умолчанию не требует службы "Обозреватель SQL Server".

    Тестирование локального подключения

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

    В этой процедуре используется среда SQL Server Management Studio. Если среда Management Studio не установлена, см. раздел Скачивание SQL Server Management Studio (SSMS). Если установить Management Studio не получается, вы можете проверить соединение с использованием служебной программы sqlcmd.exe . sqlcmd.exe устанавливается вместе с ядром СУБД. Дополнительные сведения о sqlcmd.exe см. в разделе Программа sqlcmd.)

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

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

    В диалоговом окне Соединение с сервером в списке Тип сервера выберите Ядро СУБД. В поле Проверка подлинности выберите Проверка подлинности Windows. В поле Имя сервера задайте один из следующих типов подключения:

    Подключение к Тип Пример
    Экземпляр по умолчанию <computer name> ACCNT27
    Именованный экземпляр <computer name\instance name> ACCNT27\PAYROLL

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

    Если на этом этапе происходит ошибка, ее необходимо устранить перед продолжением работы. Существует целый ряд потенциальных проблем. Имя входа может не иметь разрешений для подключения. Может отсутствовать база данных по умолчанию.

    Если возникает ошибка 18456 Login failed for user , дополнительные сведения о кодах ошибки см. в описании ошибки MSSQLSERVER_18456. Подробный список кодов ошибок приведен в блоке Аарона Бертрана (Aaron Bertrand) в статье Troubleshooting Error 18456 (Устранение ошибки 18456). Журнал ошибок можно просмотреть помощью среды SSMS (при наличии соединения) в разделе "Управление" обозревателя объектов. В противном случае журнал можно просмотреть с помощью программы Блокнот Windows. Расположение по умолчанию зависит от версии и может быть изменено во время установки. Расположением по умолчанию для SQL Server 2019 (15.x) является C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG .

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

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

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

    Получение IP-адреса сервера

    Получите IP-адрес компьютера, на котором размещен экземпляр SQL Server.

    1. В меню "Пуск" щелкните Выполнить. В окне Выполнить введите cmd, а затем нажмите кнопку ОК.
    2. В окне командной строки введите ipconfig и нажмите клавишу ВВОД. Запишите IPv4 -адрес и IPv6 -адрес.

    SQL Server может использовать для подключения IP-протокол версии 4 или версии 6. В вашей сети может быть разрешен один из них или оба. Большинство пользователей начинает устранение неполадок с IPv4 -адреса. Он короче и проще для ввода.

    Получение данных о номере TCP-порта для экземпляра SQL Server

    В большинстве случаев соединение с ядром СУБД SQL Server с другого компьютера устанавливается по протоколу TCP.

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

    Включение протоколов

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

    1. Запустите диспетчер конфигурации SQL Server, как описано выше.
    2. В диспетчере конфигурации на левой панели разверните узел Сетевая конфигурация SQL Server, а затем выберите экземпляр SQL Server, к которому нужно подключиться. На правой панели перечислены доступные протоколы соединений. Как правило, включена общая память. Ее можно использовать только на том же компьютере, поэтому в большинстве установок общая память остается включенной. Для подключения к SQL Server с другого компьютера обычно используется протокол TCP/IP. Если TCP/IP не включен, щелкните элемент TCP/IP правой кнопкой мыши и выберите команду Включить.
    3. Если включенный параметр для протокола был изменен, необходимо перезапустить ядро СУБД. На левой панели выберите Службы SQL Server. На правой панели щелкните экземпляр Database Engine правой кнопкой мыши и выберите команду Перезапустить.

    Тестирование подключения TCP/IP

    Для подключения к SQL Server по протоколу TCP/IP требуется возможность установки соединения в Windows. Для тестирования TCP-подключения воспользуйтесь средством ping .

    В меню "Пуск" щелкните Выполнить. В окне Выполнить введите cmd, а затем нажмите кнопку ОК.

    В окне командной строки введите ping <ip address> и IP-адрес компьютера, на котором запущен SQL Server. Пример:

    • IPv4: ping 192.168.1.101
    • IPv6: ping fe80::d51d:5ab5:6f09:8f48%11

    Если сеть настроена правильно, команда ping возвращает Reply from <IP address> и некоторые дополнительные сведения. Если ping возвращает Destination host unreachable или Request timed out , значит TCP/IP настроен неправильно. На этом этапе ошибка может указывать на проблему с клиентским компьютером, компьютером сервера или сетевую проблему, например ошибку маршрутизатора. Сведения об устранении неполадок сети см в статье Advanced troubleshooting for TCP/IP issues (Устранение проблем TCP/IP повышенной сложности).

    Затем, в случае успешной проверки связи с использованием IP-адреса, убедитесь, что имя компьютера может быть разрешено в TCP/IP-адрес. На клиентском компьютере в окне командной строки введите ping и имя компьютера, на котором запущен SQL Server. Например, ping newofficepc .

    Если команда ping для IP-адреса выполняется успешно, но ping по имени компьютера возвращает Destination host unreachable или Request timed out , причиной могут быть устаревшие сведения о разрешении имен, сохраненные в кэше клиентского компьютера. Введите ipconfig /flushdns , чтобы очистить кэш DNS. Затем проверьте связь с компьютером по имени еще раз. Клиентский компьютер с пустым кэшем DNS проверяет наличие последних сведений об IP-адресе компьютера сервера.

    Открытие порта в брандмауэре

    По умолчанию брандмауэр Windows включен и блокирует подключения с других компьютеров. Чтобы подключиться с использованием протокола TCP/IP с другого компьютера, на компьютере SQL Server необходимо настроить брандмауэр для разрешения подключений к TCP-порту, используемому компонентом Database Engine. Экземпляр по умолчанию прослушивает по умолчанию TCP-порт 1433. Если запущены именованные экземпляры или вы изменили значение по умолчанию, TCP-порт SQL Server может прослушивать другой порт. См. раздел Получение данных о номере TCP-порта для экземпляра SQL Server.

    При подключении к именованному экземпляру или порту, отличному от TCP-порта 1433, необходимо также открыть UDP-порт 1434 для службы обозревателя SQL Server. Пошаговые инструкции по открытию портов в брандмауэре Windows см. в статье Настройка брандмауэра Windows для доступа к компоненту Database Engine.

    Проверка подключения

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

    На клиентском компьютере с помощью среды SQL Server Management Studio попробуйте подключиться, используя IP-адрес и номер TCP-порта в формате "IP-адрес, номер порта". Например, 192.168.1.101,1433 . Если этот вариант не работает, вероятно, возникла одна из таких проблем:

    • Запрос ping по IP-адресу не работает, что указывает на наличие общей проблемы конфигурации TCP. Вернитесь к разделу Тестирование подключения TCP/IP.
    • SQL Server не прослушивает протокол TCP. Вернитесь к разделу Включение протоколов.
    • SQL Server прослушивает порт, отличный от указанного порта. Вернитесь к разделу Получение данных о номере TCP-порта для экземпляра SQL Server.
    • TCP-порт SQL Server блокируется брандмауэром. Вернитесь к разделу Открытие порта в брандмауэре.

    Если вы можете подключиться с помощью IP-адреса и номера порта, попробуйте подключиться, используя IP-адрес без указания номера порта. Для экземпляра по умолчанию просто используйте IP-адрес. Для именованного экземпляра используйте IP-адрес и имя экземпляра в формате "IP-адрес\имя экземпляра", например 192.168.1.101\<instance name> . Если этот вариант не работает, вероятно, возникла одна из следующих проблем:

    • Если вы подключаетесь к экземпляру по умолчанию, возможно, он прослушивает порт, отличный от TCP-порта 1433, а клиент пытается подключиться к неправильному номеру порта.
    • Если вы подключаетесь к именованному экземпляру, номер порта не возвращается клиенту.

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

    • Запустите службу обозревателя SQL Server. См. инструкции по запуску обозревателя в диспетчере конфигурации SQL Server.
    • Служба обозревателя SQL Server блокируется брандмауэром. Откройте UDP-порт 1434 в брандмауэре. Вернитесь к разделу Открытие порта в брандмауэре. Убедитесь, что вы открываете UDP-порт, а не TCP-порт.
    • Данные о UDP-порте 1434 блокируются маршрутизатором. Соединения по протоколу UDP не предназначены для передачи через маршрутизаторы. Это исключает попадание трафика с низким приоритетом в сеть. Вы можете настроить в маршрутизаторе пересылку UDP-трафика или же всегда указывать номер порта при подключении.
    • Если клиентский компьютер работает под управлением Windows 7 или Windows Server 2008 (или более поздней операционной системы), ОС может отбрасывать UDP-трафик, поскольку ответ с сервера возвращается с IP-адреса, отличного от запрошенного. Это функция безопасности, блокирующая свободное сопоставление источника. Дополнительные сведения см. в разделе Сервер с несколькими IP-адресами статьи электронной документации Устранение неполадок. Время ожидания истекло. Это статья о SQL Server 2008 R2, но ее основные тезисы можно применить также к рассматриваемому вопросу. Вы можете настроить в клиенте использование правильного IP-адреса или же всегда указывать номер порта при подключении.

    Если вы можете установить соединение с помощью IP-адреса (или IP-адреса и имени экземпляра именованного экземпляра), попробуйте подключиться с помощью имени компьютера (или имени компьютера и имени экземпляра именованного экземпляра). Чтобы принудительно установить подключение TCP/IP, укажите tcp: перед именем компьютера. Например, для экземпляра по умолчанию на компьютере с именем ACCNT27 используйте tcp:ACCNT27 . Для именованного экземпляра PAYROLL на этом компьютере используйте tcp:ACCNT27\PAYROLL . Если можно подключиться с помощью IP-адреса, но не имени компьютера, то существует проблема с разрешением имени. Вернитесь к разделу Тестирование подключения TCP/IP, подраздел 4.

    Если вы можете подключиться с помощью имени компьютера, активирующего TCP, попробуйте подключиться с использованием имени компьютера, но без принудительной активации TCP. Например, для экземпляра по умолчанию используйте только имя компьютера, например CCNT27 . Для именованного экземпляра используйте имя компьютера и имя экземпляра, например ACCNT27\PAYROLL . Если вы можете установить соединение с активацией TCP, но не можете без активации TCP, возможно, клиент использует другой протокол (например, именованные каналы).

    Читайте также: