Назад | Перейти на главную страницу

Больше не удается подключиться к SQL Server 2008 с другого компьютера

Извините, если это слишком открыто, но,

У меня Windows Server 2008 R2 Standard. На нем работает сервер базы данных SQL Server 2008. (все 64-битные, если это важно). Ранее сегодня у них отключили электричество. После возобновления подачи питания ни один клиент не мог подключиться к базе данных с любого компьютера, кроме самого сервера.

Я убедился, что общая память, TCP / IP и именованные каналы все еще включены (что они и были), а службы SQL Server (MSSQLSERVER) и SQL Server Browser работают.

У меня есть веб-сервер в той же сети, на которой запущено приложение php, которое только после отключения электроэнергии больше не может подключиться.

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

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

Ваш сервер настроен на получение своего IP-адреса от DHCP (я очень надеюсь, что нет)? Если да, то это зарезервированный адрес? Если нет, то это может быть вашей проблемой. Сервер получил IP-адрес от DHCP, отличный от того, который он использовал раньше.

Как вы выполняете разрешение имен внутри сети? Есть ли у вас внутренние адреса в зоне DNS на сервере имен, размещенном у вашего интернет-провайдера? Если нет, и вы уверены, что у вас нет внутреннего DNS-сервера, тогда веб-сервер и клиенты должны иметь запись в файле hosts для вашего SQL-сервера. Убедитесь, что запись в файле hosts совпадает с IP-адресом блока SQL.

  1. Проверять события в журналах системы и приложений в управлении компьютером (compmgmt.msc)
  2. Проверить статус всех сервисов для MS SQL server
  3. На брандмауэре (firewall.cpl) - расширенная настройка создать новое правило INBOUND для порта TCP 1433
  4. Отключите брандмауэр и проверьте соединение с клиента (только для теста, после теста включите брандмауэр).

Тот факт, что вы можете подключиться к экземпляру SQL локально, говорит мне, что общая память работает, но не говорит нам о том, что сетевое подключение работает. Я бы запустил "netstat -a -n -o" на сервере и убедился, что процесс SQL-сервера на самом деле прослушивает порт, который, по вашему мнению, он прослушивает. Если это подтвердится, попробуйте подключиться к порту 1433 на сервере через Telnet с одного из затронутых клиентов / хостов.

Все это были ОТЛИЧНЫЕ ответы, и я ценю помощь. Вот в чем была проблема. Казалось бы, настройка «Сетевое расположение» была изменена на «Публичное». Я лично не понимаю, как отключение электричества могло сделать это, но я полагаю, что случались более странные вещи. Я изменил его на «Частный», и все вернулось к норме.