Поделиться через


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 , добавьте .\ (точка + обратная косая черта) в строку подключения для ссылки на пространство имен, зарезервированное для общих экземпляров. Например, чтобы подключиться к общему экземпляру именованного LocalDBAppData , используйте строку подключения, такую как (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 пользователя-получателя, не учитывая членство в локальной группе администраторов.

См. также:

Программа SqlLocalDB