25

Мне недавно пришлось установить SQL Server и восстановить базу данных на 2 ноутбука, сначала я взял пару дней, чтобы выяснить, второй я все еще борется.Строки подключения SQL Server - точка («.») Или «(локальная)» или «(localdb)»

На обоих я получаю эту ошибку здесь:

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)

я все еще получаю его на второй.

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

В конце концов я обнаружил, что я просто ввел строку подключения неправильно на первом ноутбуке. Я пытался использовать (localdb)\MSSQLSERVER2012 (или что-то в этом роде), поскольку он говорит, что делает это на многих сайтах. Он начал работать, когда я использовал .\MSSQLSERVER2012. Я думал, что все они укажут на то же место, но, очевидно, нет.

Я действительно хочу, чтобы избежать этой проблемы снова, и выяснить, как получить мой второй ноутбук настроен. Как узнать, должен ли я использовать .\SQLSERVER2012, (local)\SQLSERVER2012, (localdb)\SQLSERVER2012 и т. Д.? Есть ли простой способ найти это с помощью инструмента командной строки, такого как SqlLocalDb? И как это настроено в первую очередь?

ответ

40

. и (local) и YourMachineName все эквиваленты, относящиеся к вашей собственной машине.

(LocalDB)\instance является SQL Server 2012 Экспресс только.

Другие части в зависимости от того, как установить - если вы установите с именем экземпляра - то вам нужно пишется это имя экземпляра из (SQL Server Экспресс по умолчанию использует имя SQLEXPRESS экземпляра, в то время как другие издания SQL Server попытается использовать экземпляр по умолчанию без специального имени).

Так что для «нормального» SQL Server установлен со всеми параметрами по умолчанию на локальном компьютере, используйте

. or (local)  or   YourMachineName 

Для SQL Server Экспресс установлен со всеми настройками по умолчанию, используйте

.\SQLEXPRESS or (local)\SQLEXPRESS  or   YourMachineName\SQLEXPRESS 

Если вы посмотрите на диспетчер конфигурации SQL Server (запустите его из меню «Пуск»), вы увидите:

enter image description here

Если SQL Server записи читает (MSSQLSERVER) то это экземпляр, который по умолчанию (без имени) - в противном случае вы увидите имя экземпляра в скобках

+3

только думаю, что я хотел бы добавить к вашему ответу, что LocalDB должен быть в кронштейны. –

+0

@PaulSpangle: пятно on- спасибо! Исправлено опечатка –

+0

Невозможно изменить имя экземпляра, но можно изменить его порт TCP/IP, чтобы (.) Или (local) и т. Д. Все еще указывали на этот экземпляр. Для получения дополнительной информации см. Этот ответ http://stackoverflow.com/a/17281278/1184296 – dizarter

Смежные вопросы