SQL Server 2014 Express LocalDB
Microsoft SQL Server 2014 Express LocalDB
— это режим выполнения SQL Server Express, предназначенный для разработчиков программ. LocalDB
При установке копируется минимальный набор файлов, необходимых для запуска ядра СУБД SQL Server. После LocalDB
установки разработчики инициируют подключение с помощью специальной строки подключения. При подключении автоматически создается и запускается необходимая инфраструктура SQL Server, что позволяет приложению использовать базу данных без сложных или трудоемких задач по настройке. Средства разработчика позволяют использовать ядро СУБД SQL Server для создания и проверки кода Transact-SQL без обязательств по управлению полноценным экземпляром сервера SQL Server. Управление экземпляром SQL Server ExpressLocalDB
осуществляется с помощью служебной SqlLocalDB.exe
программы . LocalDB
SQL Server Express следует использовать вместо функции пользовательского экземпляра SQL Server Express, которая является устаревшей.
Установка LocalDB
Основным способом установки LocalDB
является использование программы SqlLocalDB.msi. LocalDB
является вариантом при установке любого номера SKU SQL Server 2014 Express. Выберите LocalDB
на странице Выбор компонентов во время установки SQL Server Express. Для каждой основной версии ядра СУБД SQL Server может быть только одна установка двоичных LocalDB
файлов. Можно запускать несколько процессов Компонент Database Engine , которые будут использовать одни и те же двоичные файлы. Экземпляр ядра СУБД SQL Server, запущенного как , LocalDB
имеет те же ограничения, что и SQL Server Express
Описание
Программа LocalDB
установки использует программу SqlLocalDB.msi для установки необходимых файлов на компьютере. После установки — это экземпляр SQL Server Express, LocalDB
который может создавать и открывать базы данных SQL Server. Файлы системной базы данных, как правило, хранятся в каталоге AppData пользователя, который обычно скрыт. Например, C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Файлы пользовательской базы данных хранятся там, где пользователь назначает, как правило, в папке C:\Users\<user>\Documents\ .
Дополнительные сведения о включении LocalDB
в приложение см. в документации Visual Studio Общие сведения о локальных данных, Пошаговое руководство. Создание базы данных SQL Server LocalDB и Пошаговое руководство. Подключение к данным в базе данных SQL Server LocalDB (Windows Forms).
Дополнительные сведения об API см. в разделахLocalDB
SQL Server Express Справочник по API экземпляра LocalDB и Функция LocalDBStartInstance.
Служебная программа SqlLocalDb может создавать новые экземпляры LocalDB
, запускать и останавливать экземпляр LocalDB
, а также включает параметры, помогающие управлять LocalDB
. Дополнительные сведения о программе SqlLocalDb см. в разделе Программа SqlLocalDB.
Параметры сортировки экземпляра для LocalDB
заданы в SQL_Latin1_General_CP1_CI_AS и не могут быть изменены. Параметры сортировки на уровне базы данных, на уровне столбца и на уровне выражения поддерживаются обычным образом. Содержащиеся базы данных следуют правилам метаданных и параметрам сортировки tempdb, определенным Contained Database Collations.
Ограничения
LocalDB
не может быть подписчиком репликации слиянием.
LocalDB
не поддерживает FILESTREAM.
LocalDB
Разрешает только локальные очереди для компонента Service Broker.
Экземпляр, принадлежащий LocalDB
встроенным учетным записям, таким как NT AUTHORITY\SYSTEM, может иметь проблемы с управляемостью из-за перенаправления файловой системы Windows; Вместо этого используйте обычную учетную запись Windows в качестве владельца.
Автоматические и именованные экземпляры
LocalDB
поддерживает два типа экземпляров: автоматические и именованные экземпляры.
Автоматические экземпляры являются
LocalDB
общедоступными. Они создаются и обслуживаются автоматически и могут использоваться любым приложением. Для каждойLocalDB
версии, установленнойLocalDB
на компьютере пользователя, существует один автоматический экземпляр . Автоматические экземпляры обеспечивают простоеLocalDB
управление экземплярами. Нет необходимости создавать экземпляр. Он просто работает. Это упрощает установку приложения и его перенос на другой компьютер. Если на целевом компьютере установлена указанная версияLocalDB
, то там также будет доступен автоматический экземплярLocalDB
. Автоматические экземпляры имеют специальный шаблон для имени экземпляраLocalDB
, относящегося к зарезервированным пространствам имен. Это предотвращает конфликты имен с именованными экземплярамиLocalDB
. Автоматический экземпляр имеет имя MSSQLLocalDB.Именованные экземпляры являются частными
LocalDB
. Они принадлежат одному приложению, которое отвечает за создание экземпляра и управление им. Именованные экземпляры обеспечивают изоляцию от других экземпляров и способствуют повышению производительности за счет снижения уровня конфликта за ресурсы с другими пользователями базы данных. Именованные экземпляры должны быть созданы явно пользователем черезLocalDB
API управления или неявно через файл app.config для управляемого приложения (хотя управляемое приложение также может использовать API, если требуется). Каждый именованныйLocalDB
экземпляр имеет связаннуюLocalDB
версию, которая указывает на соответствующий набор двоичныхLocalDB
файлов. Имя экземпляра являетсяsysname
типомLocalDB
данных и может содержать до 128 символов. (Это отличается от обычных именованных экземпляров SQL Server, что ограничивает имена обычными netBIOS-именами из 16 символов ASCII.) Имя экземпляраLocalDB
может содержать любые символы Юникода, которые являются допустимыми в имени файла. Именованный экземпляр, в котором используется имя автоматического экземпляра, становится автоматическим экземпляром.
Разные пользователи одного и того же компьютера могут иметь экземпляры с одинаковыми именами. Каждый экземпляр является отдельным процессом, который запускается от разных пользователей.
Общие экземпляры LocalDB
Для поддержки сценариев, в которых нескольким пользователям компьютера необходимо подключиться к одному экземпляру , поддерживает общий LocalDB
доступ к экземплярам LocalDB
. Владелец экземпляра может разрешить другим пользователям компьютера соединяться со своим экземпляром. Можно совместно использовать как автоматический, так и именованный экземпляры LocalDB
. Для организации общего доступа к экземпляру LocalDB
пользователь должен его указать общее имя (псевдоним). Поскольку общее имя видно всем пользователям компьютера, то оно должно быть уникальным на этом компьютере. Общее имя экземпляра LocalDB
имеет тот же формат, что и именованный LocalDB
экземпляр .
Только администратор на компьютере может создать общий экземпляр LocalDB
. Общий LocalDB
экземпляр может быть разблокирован администратором или владельцем общего экземпляра LocalDB
. Чтобы предоставить общий доступ и отменить общий LocalDB
доступ к экземпляру , используйте LocalDBShareInstance
методы LocalDB
и LocalDBUnShareInstance
API либо параметры общего доступа и unshared служебной программы SqlLocalDb.
Запуск LocalDB и подключение к LocalDB
Подключение к автоматическому экземпляру
Самый простой способ — LocalDB
подключиться к автоматическому экземпляру, принадлежащего текущему пользователю, с помощью строки подключения "Server=(localdb)\MSSQLLocalDB;Integrated Security=true". Подключиться к определенной базе данных, используя имя файла, можно с помощью строки подключения, подобной следующей: "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true; AttachDbFileName=D:\Data\MyDB1.mdf".
Примечание
Когда пользователь на компьютере впервые пытается подключиться к LocalDB
, автоматический экземпляр должен быть создан и запущен. Дополнительное время, необходимое для создания экземпляра, может стать причиной того, что попытка соединения завершится с ошибкой истечения времени ожидания. В этом случае подождите несколько секунд до завершения процесса создания экземпляра, а затем подключитесь снова.
Создание и подключение к именованным экземплярам
Помимо автоматического экземпляра, LocalDB
также поддерживает именованные экземпляры. Используйте программу SqlLocalDB.exe для создания, запуска и остановки именованного экземпляра LocalDB
. Дополнительные сведения об SqlLocalDB.exe см. в разделе Программа SqlLocalDB.
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
Вышеуказанная последняя строка возвращает информацию, аналогичную следующей.
Имя | «LocalDBApp1» |
Версия | <Текущая версия> |
Общее имя | "" |
Владелец | <пользователь Windows> |
Автоматическое создание | Нет |
Состояние | запуск |
Время последнего запуска | <Дата и время> |
Имя канала экземпляра | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Примечание
Если приложение использует версию .NET до 4.0.2, необходимо подключиться напрямую к именованным каналу LocalDB
. Значение имени канала экземпляра — это именованный канал, прослушиваемый экземпляром LocalDB
. Часть имени канала экземпляра после LOCALDB# будет изменяться при каждом запуске экземпляра LocalDB
. Чтобы подключиться к экземпляру LocalDB
с помощью SQL Server Management Studio, введите имя канала экземпляра в поле Имя сервера диалогового окна Подключение к ядру СУБД. В пользовательской программе можно установить подключение к экземпляру LocalDB
с помощью строки подключения, аналогичной SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Соединение с общим экземпляром LocalDB
Чтобы подключиться к общему экземпляру LocalDB
, добавьте .\ (точка + обратная косая черта) в строку подключения для ссылки на пространство имен, зарезервированное для общих экземпляров. Например, чтобы подключиться к общему экземпляру именованного LocalDB
AppData
, используйте строку подключения, такую как (localdb)\.\AppData
часть строки подключения. Пользователь, подключающийся к общему экземпляру LocalDB
, которому он не владеет, должен иметь имя входа для проверки подлинности Windows или SQL Server аутентификации.
Устранение неполадок
Сведения об устранении LocalDB
неполадок см. в разделе Устранение неполадок SQL Server 2012 Express LocalDB.
Разрешения
Экземпляр SQL Server 2014 ExpressLocalDB
— это экземпляр, созданный пользователем для использования. Любой пользователь на компьютере может создать базу данных с помощью экземпляра LocalDB
, храня файлы в своем профиле пользователя и выполняя процесс под своими учетными данными. По умолчанию доступ к экземпляру LocalDB
ограничен его владельцем. Данные, содержащиеся в , LocalDB
защищены доступом файловой системы к файлам базы данных. Если файлы пользовательской базы данных хранятся в общем расположении, базу данных может открыть любой пользователь с доступом к этой папке с помощью экземпляра LocalDB
, которым он владеет. Если файлы базы данных хранятся в защищенном месте, например в папке пользовательских данных, то базу данных может открыть только сам пользователь, а также администратор, обладающий правами доступа к данной папке. Файлы LocalDB
могут открываться только одним экземпляром LocalDB
за раз.
Примечание
LocalDB
всегда выполняется в контексте безопасности пользователей; то есть LocalDB
никогда не выполняется с учетными данными из локальной группы администраторов. Это означает, что все файлы базы данных, используемые экземпляром LocalDB
, должны быть доступны с помощью учетной записи Windows пользователя-получателя, не учитывая членство в локальной группе администраторов.