Описание тега localdb
SQL Server Express LocalDB, представленный в SQL Server 2012, представляет собой облегченную версию SQL Server Express, которая заменяет пользовательские экземпляры, представленные в SQL Server 2005. Экземпляры LocalDB (как их обычно называют) создаются для каждого пользователя, и экземпляр и их базы данных по умолчанию устанавливаются в каталог локального профиля пользователя. (Можно сохранить файл базы данных в другом месте, в том числе на общем сервере). По умолчанию эти экземпляры являются частными, но их можно использовать совместно с другими пользователями на том же компьютере.
LocalDB работает как фоновый процесс для каждого пользователя, который запускает свой собственный частный экземпляр, а не как сервис, который используется всеми пользователями и имеет свой собственный контекст безопасности. Связь возможна только через именованные каналы; внешнее подключение недоступно. Однако указание правильного именованного канала для подключения может быть проблематичным из-за того, что имя экземпляра меняется при каждом запуске (т.е. имя экземпляра =LOCALDB#{8_character_alphanumeric_id}
, именованный канал = np:\\.\pipe\LOCALDB#{8_character_alphanumeric_id}\tsql\query
).
К счастью, для использования в строках подключения был добавлен новый специальный синтаксис для имени сервера. Вы можете указать(localdb)\InstanceName
в SSMS, SQLCMD и через SqlConnection
class в приложениях.NET (хотя имейте в виду, что он был недоступен до.NET Framework версии 4.0.2). Этот синтаксис дает два преимущества:
- Это позволяет использовать согласованное имя сервера в вашем коде
- Он автоматически запустит экземпляр LocalDB, если он еще не запущен.
LocalDB можно запускать, останавливать и иным образом управлять через SQLLocalDB.exe
полезность. Кроме того, LocalDB будет автоматически запущен при использовании синтаксиса строки подключения (LocalDB)\InstanceName и автоматически остановится примерно через 5 минут после закрытия последнего подключения.
Самый простой способ использовать LocalDB - подключиться к автоматическому экземпляру, принадлежащему текущему пользователю, с помощью строки подключения. "Server=(localdb)\MSSQLLocalDB;Integrated Security=true"
. Чтобы подключиться к конкретной базе данных с использованием имени файла, подключитесь с помощью строки подключения, подобной"Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf"
.
Чтобы подключиться к общему экземпляру LocalDB, добавьте.\ (Точка + обратная косая черта) к строке подключения для ссылки на пространство имен, зарезервированное для общих экземпляров. Например, для подключения к общему экземпляру LocalDB с именем AppData используйте строку подключения, такую как(localdb)\.\AppData
как часть строки подключения. Пользователь, подключающийся к совместно используемому экземпляру LocalDB, которым он не владеет, должен иметь имя входа для проверки подлинности Windows или SQL Server.
Для получения дополнительной информации см.: