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


18

Я только что установил SQL Server 2008 и не могу подключиться к нему с помощью SQL Server Management Studio. Я намерен просто позволить аутентификации моего локального пользователя Windows, но я не совсем уверен, как это сделать .

В диалоге подключения я пишу:

Server type: Database Engine
Server name: (local)
Authentication: Windows Authentication

Мой первый вопрос будет, если это то, к чему я должен подключиться? Когда я пытаюсь подключиться, я получаю это сообщение об ошибке:

TITLE: Connect to Server
------------------------------

Cannot connect to (local).

------------------------------
ADDITIONAL INFORMATION:

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: 2)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

Я пошел по указанному там URL-адресу, и он просто говорит: «Убедитесь, что сервер SQL работает». Я думаю, что это так, но я не совсем уверен.

Я отключил брандмауэр Windows (это Windows 7 7100 x86). Я также изменил систему входа в систему в Диспетчере конфигурации SQL Server, но кажется, что это не проблема входа в систему, но я даже не смог открыть для нее сокет. На этом же инструменте я включил все протоколы в «Конфигурация сети SQL Server» -> «Протоколы для SQLEXPRESS», но не повезло. У меня заканчиваются идеи. Что еще я могу попробовать?


Похоже, что истинным ответом здесь был названный экземпляр. . \ SqlExpress точка, означающая localhost, а \ SqlExpress - это экземпляр, к которому вы хотите подключиться. Для тех, кто не знает, вы можете иметь более одного SQL Server на машине. SqlExpress в данном случае - это просто название, а не строгое указание типа или строгой версии продукта.
p.campbell

Ответы:


23

Хорошо, вы можете открыть консоль служб и прокрутить вниз до S для SQL Server. Теперь вы должны увидеть услуги. Убедитесь, что SQL Server (SQLEXPRESS) запущен, а затем попробуйте. \ SQLEXPRESS вместо (локального).

Итак, согласно вашему примеру:

Server type: Database Engine
Server name: .\SQLEXPRESS
Authentication: Windows Authentication

Надеюсь это поможет

Обновление: эти инструкции, потому что я предполагаю, что вы используете Express Edition, а не Dev / Std / Ent версию SQL Server


Попробуйте убедиться, что включены соответствующие протоколы:

  1. Запустите Диспетчер конфигурации SQL (например: Пуск-> Программы-> SQL Server-> Инструменты настройки)
  2. Разверните конфигурацию собственного клиента SQL
  3. Нажмите Клиентские протоколы (у вас может быть 32-разрядная и 64-разрядная версия, примените к обеим)
  4. Убедитесь, что общая память, TCP / IP, именованные каналы включены в указанном порядке.
  5. Развернуть Конфигурация сети SQL Server
  6. Убедитесь, что общая память для SQLEXPRESS и / или MSSQLSERVER включена
  7. Нажмите Службы SQL Server
  8. Перезапустите все работающие службы

Теперь вы должны иметь возможность войти в экземпляр


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

По умолчанию файл sqlservr.exe находится по адресу C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn. Если установлен второй экземпляр SQL Server, вторая копия sqlservr.exe находится в каталоге, таком как

C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ binn.

Вы можете запустить один экземпляр SQL Server, используя sqlservr.exe из другого экземпляра, но SQL Server также запустит версию неправильного экземпляра, включая пакеты обновления, которые могут привести к неожиданным результатам.

Чтобы избежать этого, используйте команду MS-DOS change directory (cd), чтобы перейти в правильный каталог перед запуском sqlservr.exe, как показано в следующем примере.

cd \ Program Files \ Microsoft SQL Server \ MSSQL10_50.1 \ MSSQL \ Binn

Чтобы запустить экземпляр SQL Server по умолчанию в однопользовательском режиме из командной строки

В командной строке введите следующую команду:

sqlservr.exe -m

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

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

Альтернативный метод:

Существует скрипт здесь , что требования для добавления текущего пользователя в роли сисадмина SQL Server. Это может работать в однопользовательском режиме, но я не проверял это


Является ли консоль служб вкладкой «Службы» в диспетчере задач Windows? (Win7). Во всяком случае, SQLEXPRESS не существует, как мне его запустить?
Пупено

1
Сервисная консоль это Пуск-> Панель управления-> Администрирование-> Сервисы
Уэйн

Не берите в голову, я нашел консоль Сервисов, SQLEXPRESS работает.
Пупено

Подключение к. \ SQLEXPRESS сделал свое дело. Большое спасибо Уэйн!
Пупено

1
Большое вам спасибо ... схожу с ума, пытаясь понять это! (Примечание для других в ". \ SQLEXPRESS" ... "SQLEXPRESS" - это идентификатор экземпляра, который вы дали серверу во время установки.
RiddlerDev

0

(локальный) разрешается до 127.0.0.1 и работает только по умолчанию. Экземплярам, ​​как по умолчанию для SQL Server Express, требуется настоящее имя. Обратите внимание, что вы можете проверить журнал ошибок для SQL Server (папка установки SQL, а затем журнал), и одна из первых нескольких записей даст вам IP-адрес, порт и имя экземпляра.

Таким образом, вы могли бы использовать их вместо этого. Имена экземпляров удобны в использовании, так как они достаточно последовательны. Обратите внимание, что они также используют динамические порты, поэтому это может быть другой порт при каждом перезапуске. Диспетчер конфигурации SQL Server может установить определенный порт. не уверен насчет инструментов Express.

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