Как подключиться к локальному экземпляру SQL Server 2008 Express

222

Я только что установил SQL Server 2008 Express на мою машину с Vista SP1. Раньше у меня был 2005 год, и я прекрасно использовал его со старой SQL Server Management Studio Express. Я смог без проблем подключиться к своему экземпляру PC-NAME \ SQLEXPRESS (нет, PC-NAME - это не имя моего компьютера ;-).

Я удалил 2005 и SQL Server Management Studio Express. Затем я установил SQL Server 2008 Express на свой компьютер и решил установить SQL Server Management Studio Basic.

Теперь, когда я пытаюсь подключиться к PC-NAME \ SQLEXPRESS (с аутентификацией Windows, как я всегда делал), я получаю следующее сообщение:

Не удается подключиться к имени ПК \ SQLEXPRESS. При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске указанного сервера / экземпляра) (Microsoft SQL Server, ошибка: -1). Для получения справки нажмите: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL + Сервер & EvtSrc = MSSQLServer & EvtID = -1 & LinkId = 20476

Когда я установил SQL Server 2008, он использовал SQLEXPRESS в качестве имени локального экземпляра. Насколько я могу судить, с помощью диспетчера конфигурации SQL Server SQL Server настроен для разрешения удаленных подключений.

Когда я перешел на ссылку справки, в которой упоминается, страница справки предлагает следующее:

  • Убедитесь, что служба браузера SQL Server запущена на сервере.
  • Используйте средство настройки контактной зоны SQL Server, чтобы разрешить SQL Server принимать удаленные подключения. Дополнительные сведения об инструменте настройки контактной зоны SQL Server см. В разделе Настройка контактной зоны для служб и подключений.

Ну, насколько я могу судить, в моей системе нет службы SQL Server Browser (искал в MMC, не смог ее найти).

Кроме того, в SQL Server 2008 не существует инструмента настройки контактной зоны SQL Server. Так что хорошо поработайте с вашей справочной документацией, Microsoft ;-).

Я в растерянности, что делать сейчас. У меня было много работы, которую я надеялся завершить сегодня, после обновления до 2008 года (человек, с которым я работаю, запустил его без проблем и сказал мне, что это будет легко - он также намного лучше работает с базами данных, которые я я). У кого-нибудь есть идеи, что может быть не так? Я действительно ценю это. Если я не смогу заставить это работать через несколько часов, я вернусь к SQL Server 2005 (если это даже сработает, ага ...).

Изменить: я пытался отключить брандмауэр Windows, и это не помогло. Кроме того, я заметил, что у меня нет каталога «Данные» в моем дереве каталогов установки SQL Server 2008 - мог ли я что-то настроить неправильно при установке?

обкрадывать
источник

Ответы:

328

Пожалуйста, проверьте имя сервера, которое вы предоставили. Оно должно соответствовать указанному ниже имени в текстовом поле «Имя пользователя», и за этим именем должно следовать \SQLEXPRESS:

Диалог подключения

Говардхана Редди
источник
30
Этому вопросу 2 года, но это то, что мне помогло. Я не знал, что мне нужно имя компьютера до\SQLEXPRESS
RoLYroLLs
6
Я понимаю, что этот вопрос довольно старый, но я нашел его после большого разочарования. Я чувствую, что сообщение об ошибке должно сделать это предложение вместо предоставления бесполезной информации :(
mob1lejunkie
Спасибо вам! Доменное имя было то, что мне действительно нужно.
Рубенс Мариуццо
не могу поверить, что выпадающий список предварительно заполнен только SQLEXPRESS, который не работает
Nicolas78
Спасибо, убедитесь, что вы заметили, что написано "Имя вашего компьютера" \ SQLEXPRESS
windsound
106

Запустите локальную службу SQL Server

  • Запустите диспетчер конфигурации SQL: нажмите Пуск -> Microsoft SQL Server 2008 R2 -> Диспетчер конфигурации SQL Server
  • Запустите службы SQL. Установите службы SQL Server (SQLEXPRESS) и службы обозревателя SQL Server в режим автоматического запуска. Щелкните правой кнопкой мыши каждый сервис -> Свойства -> Перейдите на вкладку Сервис

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

Запуск вашей локальной службы SQL Server 2008

Войдите в систему и авторизуйтесь на локальном сервере SQL

  • Теперь откройте SQL Server Management Studio, нажмите «Подключиться к обозревателю объектов» и выберите «Имя сервера»:

[Ваше имя ПК] \ SQLEXPRESS

Пример: 8540P-KL \ SQLEXPRESS или (localhost) \ SQLEXPRESS

  • Чтобы найти имя вашего ПК: щелкните правой кнопкой мыши Мой компьютер -> Свойства -> вкладка Имя компьютера.

  • Альтернатива: вход в систему с использованием проверки подлинности Windows: использование имени пользователя [Ваш домен] / [Ваше имя пользователя]

Настройки учетной записи пользователя SQL Server 2008

Настройка учетной записи пользователя

  • Создайте новый акт входа в систему: В SQL Mgmt Studio -> Разверните свой локальный сервер -> Безопасность -> Щелкните правой кнопкой мыши по логинам -> Новый вход в систему.

  • Задайте настройки пароля для новой учетной записи пользователя: снимите флажок Принудительно установить политику паролей, срок действия пароля и пользователь должен изменить pw (так как это локально) База данных по умолчанию -> Ваша база данных

  • Предоставление ролей новой учетной записи пользователя: Страница сопоставления пользователей -> Сопоставление с вашей базой данных и предоставление роли состояния db_owner Страница состояния -> Предоставление разрешения на подключение и включение входа

Настройки пользователя SQL Server 2008 Локальная БД

Настройка прав доступа / настройки для пользователя

  • Включите все режимы авторизации: щелкните правой кнопкой мыши на локальном сервере -> Свойства -> Вкладка «Безопасность» -> Включить режим проверки подлинности SQL Server и Windows
  • Включить TCP / IP: Откройте диспетчер конфигурации SQL Server -> Конфигурация сети SQL Server -> Протоколы для SQLEXPRESS -> Включить TCP / IP
  • Перезапустите службу SQL Server: вам потребуется перезапустить SQL Server (SQLEXPRESS) после включения TCP / IP.

SQL Server 2008 Server Разрешения

Файл свойств базы данных для проекта Spring

  • database.url = jdbc: jtds: sqlserver: // [
    имя компьютера локального ПК ]; instance = SQLEXPRESS; DatabaseName = [имя базы данных];

  • database.username = [Ваше имя пользователя] database.password = [Ваш пароль]

  • database.driverClassName = net.sourceforge.jtds.jdbc.Driver

Если вы хотите просмотреть снимки экрана большего размера и лучше отформатировать ответ с более подробной информацией, ознакомьтесь со статьей блога ниже: Настройка локального экземпляра SQL Server 2008 Сообщение в блоге:

anataliocs
источник
3
Спасибо. Это помогло гроздьям
Алан Уэйдж
1
Спасибо вам большое! Это действительно полезно даже для версии 2014 года!
powernit
Как видно из этого ответа, если вы не видите SQL Server 2014 Configuration Manager(какого бы года) вы ни находились в поиске «Диспетчер конфигурации» при запуске ... тогда, скорее всего, у вас не установлен действительный экземпляр SQL Server.
Дон Чидл
40

Я использовал (LocalDB) \ MSSQLLocalDB в качестве имени сервера, после чего я смог увидеть все локальные базы данных.

Эрик Шнайдер
источник
Хорошо работал с VS 2015 на Windows 10 64Bit. Спасибо
Пират Икс
работал с использованием SSMS 2014. Но я подозреваю, что это зависит от запуска веб-приложения .NET, которое бы установило / создало этот локальный сервер.
Дон Чидл
Это LocalDB, который устанавливается вместе с Visual Studio, а не SQL Server Express. Этот ответ полезен для людей, которые действительно ищут это, но различие важно, если вам нужно вместо этого получить доступ к SQL Express или создать базу данных на SQL Express, чтобы использовать функции LocalDB, не поддерживающие полнотекстовый поиск
IronSean
Спасибо за разъяснения IronSean
petrosmm
34

Хаха, о боже, я понял это. Почему-то, так или иначе, я не установил компонент Database Engine при установке SQL Server 2008. Я понятия не имею, как я это пропустил, но это то, что произошло.

обкрадывать
источник
Как я могу проверить, установлен ли движок базы данных? не будет ли он установлен автоматически?
Эран Отзап
В моем случае я забыл установить Client Client Connectivity , но это просто еще один флажок на странице «Функции» во время установки. Во всяком случае, вы указали мне в правильном направлении. Спасибо.
Радек Стромски
В моем случае, при установке сервера sql я не получал обслуживание компонента Database Engine. Во время установки у меня есть 3 варианта: 1.Instae Fetaure (без каких-либо флажков под ним). Дайте мне знать, почему я получил Database Engine Serivce.
Кавита
у меня тоже была эта проблема. страница загрузки несколько загадочна. убедитесь, что вы загружаете реальную серверную программу вместо интерфейса управления или другого варианта, который не имеет серверных компонентов.
Энтони
22

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

  1. Пуск-> Выполнить-> Services.msc
  2. Найдите «Браузер SQL Server» -> Щелкните правой кнопкой мыши -> Свойства
  3. Установите тип запуска на автоматический-> нажмите кнопку Применить
  4. Повторите попытку подключения.
Capn
источник
это было из-за моих проблем со связью. Я был в состоянии носить на студии управления, но с сервера приложений был невидимым :) спасибо!
Славянин
Это было для меня, за исключением того, что не был запущен агент SQL Server - я отключил его, потому что он потребляет слишком много ресурсов, когда я его не использую.
JTech
15

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

Первоначально при загрузке MSSMSE у него был сервер, как PC_NAME\SQLEXPRESSи когда я пытался подключиться, он дал мне Error: 26 - Error Locating Server/Instance Specified, поэтому я вошел в Диспетчер конфигурации SQL Server, чтобы проверить, были ли запущены мои SQL Server Browserи SQL Serverслужбы, и настроен ли на автоматический, только чтобы узнать, что вместо того, чтобы сказать, что SQL Server (SQLEXPRESS)это говорит SQL Server(MSSQLSERVER),

Затем я попытался подключиться, PC-NAME\MSSQLSERVERи на этот раз получилось, SQL Network Interfaces, error: 25 - Connection string is not valid) (MicrosoftSQL Server, Error: 87) The parameter is incorrectтак что я погуглил эту ошибку и обнаружил, что кто-то предложил вместо использования PC-NAME\MSSQLSERVERпросто использовать в PC-NAMEкачестве имени сервера в интерфейсе подключения к серверу, и это, похоже, работает.

Здесь есть ссылка http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-have/, которая объясняет, что MSSQLSERVER является экземпляром по умолчанию и может быть подключен с помощью используя только ваше имя хоста.

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

WhatEvil
источник
Вы правы: «просто используйте имя компьютера (укажите здесь имя своего компьютера) в качестве имени сервера в интерфейсе подключения к серверу». Оно работает.
Разработчик Мариус Жиленас
9

Под Configuration Manager и Network Configuration and Protocols для вашего экземпляра включен TCP / IP? Это может быть проблемой.

MKULTRA
источник
1
Вы также должны включить учетную запись «sa» и дать ей пароль, потому что по умолчанию она отключена. также вам, вероятно, нужно включить аутентификацию SQL, потому что по умолчанию она «только nt auth».
Джангофан
8
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

или

var.connectionstring = "server=localhost; database=dbname; login=yourlogin; pwd=yourpass"
SQLSERV
источник
6

Для меня я смог заставить его работать только с помощью "." в поле имени сервера; некоторое время пробовал разные комбинации имени пользователя и имени сервера. Обратите внимание, что во время установки сервера (то есть этого файла: SQLEXPR_x64_ENU.exe) я проверил экземпляр по умолчанию, который по умолчанию имеет имя MSSQLSERVER; Приведенные выше ответы с высоким рейтингом лучше всего использовать для отдельных именованных (т. е. когда вам нужно более 1) экземпляров сервера.

оба эти видео помогли мне:

gbartusk
источник
3

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

Вы также можете сделать это с помощью командной строки с повышенными правами, набрав net start mssqlserver.

Артём Пранович
источник
1

Для меня это была проблема брандмауэра Windows. Разрешить входящие соединения. Открытие порта не работает, но позволяют программы.

Ссылка на сайт

Link2

Маниш джайн
источник