Я использовал все три из них при создании локальных программных подключений к базам данных. Есть ли какая-то реальная разница между ними?
Есть ли разница между (local), '.' и localhost?
Ответ 1
Конечный результат тот же. Разница заключается в следующем:
- "localhost" разрешается на уровне TCP/IP и эквивалентен IP-адресу 127.0.0.1
- В зависимости от приложения "(локальный)" может быть просто псевдонимом для "localhost". В SQLServer, '(local)' и '.' означает, что соединение будет осуществляться с использованием протокола именованных каналов (разделяемой памяти) на одном компьютере (не нужно проходить через стек TCP/IP).
Это теория. На практике я не думаю, что есть существенная разница в производительности или функциях, если вы используете один из них.
Ответ 2
Они, как правило, являются синонимами. Однако это зависит от приложения, которое вы настраиваете. Пока приложение понимает, что вы имеете в виду, оно не должно приводить к потере производительности. По крайней мере, не из тех, кого вы должны извинить преждевременно, если вы получите мой дрейф.
Ответ 3
Насколько я знаю, точка ". и " локальная " - это термины приложений Windows, а не" стандартный "термин, localhost разрешает 127.0.0.1 на уровне TCP/IP, поэтому, если вы хотите убедиться, что вы" совместимы" на разных платформах, вы должны использовать либо localhost, либо 127.0.0.1
Ответ 4
Различия, описанные Серхио, могут иметь заметные эффекты из-за разрешений.
Пользователь sql, скорее всего, имеет доступ к именованному каналу, но часто не может получить доступ к localhost. Вы заметите достаточно скоро, когда это так:)