Как подключиться к локальному экземпляру 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 Сообщение в блоге:


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. Повторите попытку подключения.

это было из-за моих проблем со связью. Я был в состоянии носить на студии управления, но с сервера приложений был невидимым :) спасибо!
— Славянин

Это было для меня, за исключением того, что не был запущен агент 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, установленный в некоторый момент в прошлом.


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

9

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


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"

6

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

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


3

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

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.