Я знаю, что мы должны знать о таких фразах, но внезапно все мои соединения с localhost\sqlexpress
перестали работать. Поскольку .\sqlexpress
и (local)\sqlexpress
работают, это не будет иметь большого значения, если бы не тот факт, что я работаю над командным проектом, в котором все строки подключения определены в прежнем формате. И, очевидно, мне трудно принять, что это больше не работает, поэтому я потратил несколько часов на анализ и переустановку нескольких версий SQL Server безрезультатно. (И на пути к разрушению проектов БД в VS2010, поэтому мне нужно было также переустановить ...).
Но вот детали. Как уже упоминалось, я не мог подключиться к localhost\sqlexpress
, но к .\sqlexpress
. Те же симптомы при использовании диспетчера SQL Server и строк подключения для развертывания и запуска служб wcf. Как ни странно, разрешение экземпляра по умолчанию как localhost
работает.
Перво-наперво, да, SQL Server работает, и просто чтобы убедиться, что я включил TCP / IP и установил фиксированный порт на 1433, хотя он работает на компьютере моих коллег с отключенным TCP / IP. (Где-то по пути я читал, что localhost
может быть решен с использованием разделяемой памяти при использовании собственного клиента SQL, поэтому я предполагаю, что именно так происходит в его системе.)
Установкой является только один экземпляр SQL Server Express 2008 R2 и VS2010 в Windows 7 Professional.
При запуске Sql express журнал ошибок говорит:
Server is listening on [ 'any' <ipv6> 1433].
Server is listening on [ 'any' <ipv4> 1433].
Netstat говорит (выдержка):
TCP 0.0.0.0:1433 Machinenename:0 LISTENING
TCP [::]:1433 Machinenename:0 LISTENING
Отмечу отсутствие 127.0.0.1:1433 и какого-либо UDP на порту 1433
Для диагностики проблемы я использую sqlcmd, чтобы выяснить, какой транспорт используется:
1. локальный \ SQLEXPRESS
sqlcmd -Slocalhost\sqlexpress -> Shared memory
sqlcmd -Stcp:localhost\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified
Невозможно подключиться к localhost \ sqlexpress из SQL Server Management Studio, даже если в качестве протокола указана общая память
2. * локальный 1038 *
sqlcmd -Slocalhost -> TCP
sqlcmd -Stcp:localhost -> TCP
Можно подключиться к локальному хосту из SQL Server Management Studio
3. (Локальный) \ SQLEXPRESS
sqlcmd -S(local)\sqlexpress -> Shared memory
sqlcmd -Stcp:(local)\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified
Может подключиться к (локальному) \ sqlexpress из SQL Server Management Studio
Так что я здесь потерян. Любая помощь высоко ценится.