Local database runtime как включить

Обновлено: 07.07.2024

Earlier this month, we announced Channel 9 is becoming part of the Microsoft Learn family. Today, we’re pleased to introduce Events and Shows to Microsoft Learn, as part of our making it a one-stop destination for all your technical training and documentation needs. You’ll find thousands of your favorite videos from Channel 9, as well as a rapidly growing technical video library with new shows, events, and the most-watched content from Channel 9’s archives.

With this move, we’ve streamlined the experience and videos are now searchable alongside our hugely popular documentation and Microsoft Learn content, and can now be added to your official Learn Collections. At Events you’ll find our live streams where you can interact in real time with technical experts in chat. If you can’t join us live, you can watch at your convenience on demand. Shows are where you’ll find weekly, episodic content brought to you by product engineers, cloud advocates, and more, including the immensely popular Azure Friday, CodeStories, and Tabs vs Spaces.

New content is here!

We have a lineup of new shows coming soon covering popular topics such as Microsoft’s Power Platform. Launching December 1, Cloud Advocate April Dunnam hosts The Low Code Revolution, a weekly series that helps you build apps and automation with low code tools.

image

Cloud Advocate Christina Warren is also launching a new show, The Download. Each week Christina scours hundreds of blogs, videos, and announcements for the most important news and happenings in the developer community. This show is infused with Christina’s curation of the coolest OSS projects, must-know tips and tricks, and a dash of gadgets and pop culture. Plus, nerd shirts. Be sure to tune in November 19 for the pilot.

image

Want to interact with product experts in real time? Join us for our live events on Learn TV! Ask the Experts airs several times a week, as does Learn Live, where you can chat with our engineers as they walk through a Microsoft Learn module each episode.

Thank you

The principles, ethos, and team behind Channel 9 will continue, and we’re excited for you to join us in our new home alongside world-class documentation and training. See you on Learn!

LocalDB в Microsoft SQL Server Express — это компонент SQL Server Express, ориентированный на разработчиков. Он доступен в SQL Server Express с дополнительными службами.

При установке LocalDB выполняется копирование минимального набора файлов, необходимых для запуска компонента Компонент SQL Server Database Engine. После установки LocalDB вы можете установить соединение с помощью специальной строки подключения. При соединении необходимая инфраструктура SQL Server создается и запускается автоматически, что позволяет приложению использовать базу данных без выполнения сложной настройки. Средства разработчика позволяют использовать Компонент SQL Server Database Engine для написания и проверки кода Transact-SQL без необходимости управления полным экземпляром сервера SQL Server.

Установочный носитель

LocalDB — это компонент, выбираемый во время установки SQL Server Express и доступный при загрузке с носителя. Если вы скачиваете носитель, выберите Express Advanced или пакет LocalDB .

Установщик LocalDB, называемый SqlLocalDB.msi , доступен на установочном носителе для всех выпусков, кроме Express Core. Он находится в папке <installation_media_root>\<LCID>_ENU_LP\x64\Setup\x64 . LCID — это идентификатор языкового стандарта или код языка. Например, LCID = 1033 означает языковой стандарт en-US (английский, США).

Установка LocalDB

Для установки LocalDB используйте мастер установки или программу SqlLocalDB.msi . LocalDB подходит при установке SQL Server Express LocalDB.

Выберите LocalDB на странице Выбор компонентов или "Общие компоненты" во время установки. Двоичные файлы LocalDB можно устанавливать лишь по одному разу для каждой основной версии Компонент SQL Server Database Engine. Можно запускать несколько процессов Компонент Database Engine , которые будут использовать одни и те же двоичные файлы. Экземпляр Компонент SQL Server Database Engine, запущенный как LocalDB, имеет те же ограничения, что и SQL Server Express.

Управление экземпляром SQL Server Express LocalDB осуществляется с помощью служебной программы SqlLocalDB.exe . SQL Server Express LocalDB следует использовать вместо устаревшей функции пользовательского экземпляра SQL Server Express.

Описание

Программа установки LocalDB использует программу SqlLocalDB.msi для установки необходимых файлов на компьютере. После установки LocalDB становится экземпляром SQL Server Express, который способен создавать и открывать базы данных SQL Server. Файлы системной базы данных, как правило, хранятся в каталоге AppData, который обычно скрыт. Например, C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\ . Файлы пользовательской базы данных хранятся в месте, указанном пользователем, как правило, в папке C:\Users\<user>\Documents\ .

Дополнительные сведения о включении LocalDB в приложении см. в статье с общими сведениями о локальных данных в Visual Studio и статье о создании базы данных и добавлении таблиц в Visual Studio.

Дополнительные сведения об API LocalDB см. в разделе Справочник по SQL Server Express LocalDB.

Служебная программа SqlLocalDB позволяет создавать новые экземпляры LocalDB, запускать и останавливать работу экземпляров, а также использовать функции для управления LocalDB. Дополнительные сведения о служебной программе SqlLocalDB см. в разделе Программа SqlLocalDB.

Параметры сортировки для LocalDB заданы в SQL_Latin1_General_CP1_CI_AS и не могут быть изменены. Параметры сортировки на уровне базы данных, на уровне столбца и на уровне выражения поддерживаются обычным образом. Автономные базы данных следуют правилам метаданных и параметрам сортировки tempdb , определенным Contained Database Collations.

Ограничения

Невозможно применить исправление LocalDB без пакетов обновления. Накопительные пакеты обновления и обновления системы безопасности нельзя применить вручную или с помощью Центра обновления Windows, Центра обновления Windows для бизнеса или других способов.

Нельзя управлять LocalDB удаленно с помощью SQL Management Studio.

LocalDB не может быть подписчиком в репликации слиянием.

LocalDB не поддерживает FILESTREAM.

Для LocalDB разрешены только локальные очереди компонента Service Broker.

Экземпляр LocalDB, принадлежащий встроенным учетным записям, таким как NT AUTHORITY\SYSTEM , может иметь проблемы с управлением из-за перенаправления файловой системы Windows. Вместо этого используйте в качестве владельца обычную учетную запись Windows.

Автоматические и именованные экземпляры

LocalDB поддерживает два типа экземпляров: автоматические и именованные.

Автоматические экземпляры LocalDB являются общедоступными. Они создаются и обслуживаются автоматически и могут использоваться любым приложением. Для каждой версии LocalDB, установленной на компьютере пользователя, существует один автоматический экземпляр LocalDB. Автоматические экземпляры LocalDB обеспечивают удобное управление экземплярами. Нет необходимости создавать экземпляр. Он просто работает. Эта функция упрощает установку приложения и его перенос на другой компьютер. Если на целевом компьютере установлена указанная версия LocalDB, то там также будет доступен автоматический экземпляр LocalDB для этой версии. Автоматические экземпляры LocalDB именуются по специальному шаблону, принадлежащему зарезервированному пространству имен. Это позволяет избежать конфликтов имен с именованными экземплярами LocalDB. Автоматический экземпляр имеет имя MSSQLLocalDB.

Именованные экземпляры LocalDB являются закрытыми. Они принадлежат одному приложению, которое отвечает за создание экземпляра и управление им. Именованные экземпляры обеспечивают изоляцию от других экземпляров и способствуют повышению производительности за счет снижения уровня конфликта за ресурсы с другими пользователями базы данных. Пользователь должен создавать именованные экземпляры явным образом с помощью API управления LocalDB или неявным образом через файл app.config управляемого приложения (при необходимости управляемое приложение также может использовать API). Каждый именованный экземпляр LocalDB имеет связанную с ним версию LocalDB, которая указывает на соответствующий набор двоичных файлов LocalDB. Имя экземпляра LocalDB имеет тип данных sysname и может содержать до 128 символов. (в отличие от обычных именованных экземпляров SQL Server, где допускается использование только обычных имен NetBIOS из 16 символов ASCII). Имя экземпляра LocalDB может содержать любые символы Юникода, допустимые в имени файла. Именованный экземпляр, который использует имя автоматического экземпляра, становится автоматическим экземпляром.

Разные пользователи одного и того же компьютера могут иметь экземпляры с одинаковыми именами. Каждый экземпляр является отдельным процессом, который запускается от разных пользователей.

Общие экземпляры LocalDB

В LocalDB поддерживается общий доступ к экземплярам, если нескольким пользователям компьютера требуется доступ к одному экземпляру LocalDB. Владелец экземпляра может разрешить другим пользователям компьютера подключаться к своему экземпляру. Общими могут быть как автоматические, так и именованные экземпляры LocalDB. Для организации общего доступа к экземпляру LocalDB пользователь должен указать его общее имя (псевдоним). Поскольку общее имя видно всем пользователям компьютера, то оно должно быть уникальным на этом компьютере. Общее имя экземпляра LocalDB имеет тот же формат, что и именованный экземпляр LocalDB.

Только администратор компьютера может создавать общие экземпляры LocalDB. Администратор или владелец общего экземпляра LocalDB может отменить общий доступ к экземпляру LocalDB. Предоставление и отмена общего доступа к экземпляру LocalDB выполняется с помощью методов LocalDBShareInstance и LocalDBUnShareInstance API LocalDB либо с помощью соответствующих параметров служебной программы SqlLocalDB .

Запуск LocalDB и подключение к LocalDB

Подключение к автоматическому экземпляру

Самым простым способом использования LocalDB является подключение к автоматическому экземпляру, владельцем которого является текущий пользователь, с использованием строки подключения Server=(localdb)\MSSQLLocalDB;Integrated Security=true . Для подключения к определенной базе данных. используя имя файла, подключитесь с помощью строки подключения, аналогичной Server=(LocalDB)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf .

Соглашение об именовании и строка подключения для формата LocalDB изменились в SQL Server 2014. Ранее именем экземпляра был один символ v, за которым следует LocalDB и номер версии. Начиная с SQL Server 2014, этот формат имени экземпляра больше не поддерживается. Вместо него следует использовать строку подключения, упомянутую ранее.

  • При первом подключении пользователя компьютера к LocalDB необходимо создать и запустить автоматический экземпляр. Дополнительное время, необходимое для создания экземпляра, может стать причиной того, что попытка соединения завершится с ошибкой истечения времени ожидания. В этом случае подождите несколько секунд до завершения процесса создания экземпляра, а затем подключитесь снова.

Создание именованного экземпляра и подключение к нему

Помимо автоматических экземпляров, LocalDB также поддерживает именованные экземпляры. Используйте программу SqlLocalDB.exe для создания, запуска и остановки именованного экземпляра LocalDB. Дополнительные сведения об SqlLocalDB.exe см. в разделе Программа SqlLocalDB.

Вышеуказанная последняя строка возвращает информацию, аналогичную следующей.

Подключение к общему экземпляру LocalDB

Чтобы подключиться к общему экземпляру LocalDB, добавьте в строку подключения сочетание \.\ (обратная косая черта + точка + обратная косая черта) для указания пространства имен, зарезервированного для общих экземпляров. Например, чтобы подключиться к общему экземпляру LocalDB с именем AppData , укажите (localdb)\.\AppData в строке подключения. У пользователя, подключающегося к общему экземпляру LocalDB, который ему не принадлежит, должны быть учетные данные для проверки подлинности Windows или SQL Server.

Устранение неполадок

Способы устранения неполадок в работе LocalDB см. в статье Troubleshoot SQL Server 2012 Express LocalDB (Устранение неполадок в работе SQL Server 2012 Express LocalDB).

Разрешения

SQL Server Express LocalDB — это экземпляр, созданный пользователем для самостоятельного использования. Любой пользователь компьютера может создать базу данных с помощью экземпляра LocalDB, сохранив файлы в своем пользовательском профиле и запустив процесс со своими учетными данными. По умолчанию доступ к экземпляру LocalDB имеет только его владелец. Данные, содержащиеся в LocalDB, защищены средствами файловой системы. Если файлы пользовательской базы данных хранятся в общей папке, то базу данных может открыть любой пользователь, имеющий доступ к этой папке, с помощью собственного экземпляра LocalDB. Если файлы базы данных хранятся в защищенном месте, например в папке пользовательских данных, то базу данных может открыть только сам пользователь, а также администратор, обладающий правами доступа к данной папке. Файлы LocalDB могут быть одновременно открыты только одним экземпляром LocalDB.

LocalDB всегда запускается в контексте безопасности пользователя. Это означает, что LocalDB никогда не будет запускаться с учетными данными группы локальных администраторов. То есть доступ ко всем файлам базы данных, используемыми экземпляром LocalDB, возможен по учетной записи их владельца-пользователя Windows, не учитывая принадлежности к группе локальных администраторов.

Я не понимаю, как заставить LocalDB отображаться в Обозревателе объектов SQL Server. На некоторых виртуальных машинах он появляется автоматически, на других-нет. Тем не менее, после нескольких часов поиска в гугле, я не понимаю.

текущая ситуация

  1. у меня есть чистая VM
  2. Я установил сообщество Visual Studio 2015 (все настройки по умолчанию)
  3. Я разрешаю запуск консольного приложения (Entity Framework 6, Code-first, console приложение), который работал на другой виртуальной машине и автоматически создал базу данных, которая затем появилась в Обозревателе объектов SQL Server; но не на этот раз

Итак,на этой виртуальной машине база данных не создается, и ничего не отображается в SQL Server узел.

Connecting to LocalDB

что я думаю знать

  • сообщество Visual Studio 2015 поставляется с LocalDB; поэтому все должно просто работать "из коробки", но это не так, и я не знаю, почему
  • базы данных LocalDB-это всего лишь пара файлов (*.MDF и.* ldf)
  • Я видел файлы, создаваемые в расположении базы данных по умолчанию в C:Users<username>AppDataLocalMicrosoftMicrosoft SQL Server Local DBInstancesMSSQLLocalDB ; но на этой виртуальной машине нет такой папки
  • на App.config выглядел каждый раз так (и он был автоматически создан таким образом, когда я установил Entity Framework 6 Диспетчер пакетов NuGet в Visual Студия:

App.config

другие случайные комментарии

  • ранее, с SQL Server, необходимо было открыть определенные порты, но LocalDB работает, как я понимаю, как отдельный процесс по требованию при запуске Visual Studio.
  • Я не знаю, как отладить SQLException
  • не поставляется ли LocalDB в комплекте с сообществом Visual Studio 2015 и нужно ли устанавливать его отдельно?

У меня была та же проблема сегодня, недавно установив обновление VS2015 Community Edition 1.

я исправил проблему, просто добавив "SQL Server Data Tools" из установщик установки VS2015. Когда я запустил установщик в первый раз я выбрал "пользовательский" тип установки вместо "по умолчанию". Я хотел посмотреть, какие параметры установки были доступны, но не выбрать ничего отличного от того, что уже было отмечено. Мое предположение было то, что уже было отмечено, было по существу установкой по умолчанию. Но это не так.

чтобы проверить, установлен ли LocalDb или нет:

  • запустите SSMS (среда SQL Server Management Studio).
  • попробуйте подключиться к этому экземпляру (localdb)\V11.0 использование проверки подлинности windows.

если возникает ошибка Cannot connect to (localdb)\V11.0. измените имя экземпляра на (localdb)\MSSQLLocalDB и снова пытаться подключиться, если вы все еще получаете ту же ошибку.

выполните следующие действия для установки LocalDb:

  • закрыть SSMS.
  • закрыть VS (Visual Studio), если он работает.
  • на Start Menu и введите в поиск sqlLocalDb .
  • из результатов, которые появляются выберите sqlLocalDb.msi и щелкните по нему.
  • SQL setup начнет установку LocalDB

после завершения установки повторно запустите SSMS и попробуйте подключиться к любому из экземпляров (localdb)\V11.0 или (localdb)\MSSQLLocalDB , один из них должен работать в зависимости от того, какая версия Visual Studio у вас есть.

вы также можете убедиться, что localdb устанавливается с помощью Visual Studio, просто создав новый файл sql и перейдите к значку подключения в верхнем заголовке файла, в котором по умолчанию перечислены все серверы, к которым вы можете подключиться, включая localdb если установлен.

в дополнение к вышеупомянутым способам поиска, если localdb установлен, вы также можете использовать MS windows power shell или windows command processor CMD или даже NuGet package manager console на вашем сервере машины и запустить эти команды sqllocaldb i и sqllocaldb v это покажет вам имя localdb, если это установлена и установлена и запущена версия сервера MSSQL на вашем компьютере.

Если вы не уверены, установлена ли локальная БД или не знаете, какое имя базы данных вы должны использовать для подключения к ней - попробуйте запустить команду "sqllocaldb info" - она покажет вам существующие базы данных localdb.

теперь, насколько я знаю, локальная БД должна быть установлена вместе с Visual Studio 2015. Но, вероятно, это не обязательная функция, и если что - то пойдет не так или ее нельзя установить по какой-то причине-установка Visual Studio все еще продолжается (обратите внимание, что это только мое предположение). Так чтобы быть в безопасности, не полагайтесь на него, он всегда будет установлен вместе с VS.

  1. поиск "в sqllocaldb" из меню "Пуск",
  2. нажмите на команду Выполнить,
  3. вернитесь к VS 2015 tools / connect to database,
  4. выберите MSSQL server,
  5. введите (localdb)\MSSQLLocalDB в качестве имени сервера

выберите вашу базу данных и готов к работе.

Я попытался установить только LocalDB, который был пропущен в моей установке VS 2015. Ниже приведен URL и выборочно загрузите установщик LocalDB (2012), размер которого составляет всего 33 Мб :)

Если вы ищете средство SQL Server Data Tool для интеграции с Visual Studio 2015, загрузите его из :

  1. искать sqllocaldb или localdb с в меню Пуск windows и щелкните правой кнопкой мыши на open file location
  2. Откройте командную строку в местоположении файла, которое вы нашли в поиске

в командной строке введите sqllocaldb start

использовать <add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />

Я заметил, что есть localdb в путь, который вы упомянули выше, и имеет версии 11.0. Поэтому я вошел (LocalDB\V11.0) в диалоге Add Connection, и это сработало для меня.

При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (провайдер: Сетевые интерфейсы SQL, ошибка: 50 - Произошла ошибка локальной базы данных. Невозможно создать автоматический экземпляр. См. журнал событий приложения Windows для получения подробных сведений об ошибке.

Итак, я посмотрел в средстве просмотра событий в разделе Application и снова вижу одно предупреждение снова и снова.

Недопустимый каталог, предназначенный для кэширования сжатого содержимого. C:\Users\User1\AppData\Local\Temp\iisexpress\IIS Временные сжатые файлы \Clr4IntegratedAppPool. Статическое сжатие отключается.

Поэтому я попытался перезагрузить сервер, но все равно не пошел. Такая же ошибка 50, как и раньше.

Я создал класс под Models , где у меня есть класс под названием Post .

В моем файле web.config строка подключения выглядит так:

Я пробовал предлагаемое предложение здесь, но это не сработало. Также попробовал этот.

Я также замечаю, что экземпляр MyDatabase отключается после запуска приложения. Если я обновляю базу данных с помощью Server Explorer в Visual Studio, я могу просмотреть таблицы.

Как я могу подключиться к базе данных и отредактировать ее в Visual Studio 2013, но когда я отлаживаю приложение, он не может подключиться к базе данных?

ОТВЕТЫ

Ответ 1

Ломающиеся изменения в LocalDB: применяется к SQL 2014; просмотрите эту статью и попробуйте использовать (localdb)\mssqllocaldb как имя сервера для подключения к автоматическому экземпляру LocalDB, например:

Ответ 4

Для начала - есть 4 проблемы, которые могут вызывать распространенные ошибки подключения к LocalDb SqlExpress Sql Server SQL Network Interfaces, error: 50 - Local Database Runtime error occurred , перед тем как начать, вам нужно переименовать v11 или v12 в (localdb)\mssqllocaldb

  • У вас нет запущенных сервисов
  • Вы не имеете firelwall портовздесь настроены
  • Ваша установка имеет и проблема/повреждена (шаги, приведенные ниже, помогут вам начать с чистого листа)
  • Вы не переименовали V11 или 12 в mssqllocaldb, переименовали строку v12.0 из v12.0 в MSSQLLocalDB -like so-> <connectionStrings> <add name="ProductsContext" connectionString whicheverVersionYouWantFromListBefore" если этот шаг не удался, вы можете удалить с помощью параметра d cmd> Sqllocaldb.exe d "someDb"
  • cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  • cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.jpg

Изменить 1: Путь к реестру для всех версий Универсальный формат для отслеживания реестра

Ответ 5

Экземпляр может быть поврежден или не обновлен должным образом
Попробуйте эти команды =>

Ответ 6

возможно, эта ошибка возникла, потому что этот version сервера Sql is not installed

Не удается запустить экземпляр LocalDB, я установил и переустановил снова и снова.

Продолжайте получать эту ошибку:

Запуск экземпляра LocalDB "v11.0" не выполнен из-за следующей ошибки: Произошла ошибка во время запуска экземпляра LocalDB: не удалось запустить процесс SQL Server.

Microsoft SQL Server 2012, я полностью установил параметры установки, остановил все службы, связанные с SQL, и попытался перезапустить.

когда я попробую

Я получаю вышеуказанную ошибку.

Если ничего не помогает, и вы не заботитесь о потере данных, удалите и заново создайте базу данных LocalDB\v11.0! В командной строке

(Sqllocaldb в вашем PATH, верно? Это было для меня.)

Я получаю похожую ошибку, но при запуске

Локальная база данных успешно запущена. Также при проверке журнала событий я обнаружил ошибку в соответствии с

Вызов API Windows WaitForMultipleObjects возвратил код ошибки: 575

Что исправило это для меня:

  1. В IIS настройте пул приложений для запуска под учетной записью с разрешениями для базы данных на сервере (дополнительные параметры пула приложений)
  2. В расширенной опции пула приложений установите для Load User Profile значение true

Стоит посмотреть и на файлы журнала LocalDB, это более детально, чем журнал событий:

Помимо воссоздания экземпляра мне пришлось удалить содержимое этой папки:

Здесь у меня есть файлы mdf и ldf.

Та же проблема здесь. Вот как я это исправил, используя биты других решений, размещенных здесь.

У меня были десятки этих ошибок в журнале событий приложения:

Я понял, что у меня на компьютере разработчика установлена ​​SQL Server Management Studio, но нет других компонентов SQL. Я установил ядро ​​базы данных, общие компоненты и localdb из SQL Express

После установки я все равно получаю ту же ошибку в журнале событий :(

Запустите следующую команду в cmd, чтобы получить имя экземпляра localdb: C:> sqllocaldb info

В моей установке у меня было: MSSQLLocalDB ProjectsV13

Я запустил следующее, чтобы удалить экземпляры:

Я столкнулся с проблемами, пытаясь удалить/создать их (sqllocaldb delete MSSQLLocalDB). В итоге я удалил все папки и файлы из папки «% LocalAppData%\Microsoft\Microsoft SQL Server Local DB\Instances *» (необходимо остановить SQL Server и завершить все процессы sqlserver)

Затем, запустив sqllocaldb create, создал и запустил экземпляр по умолчанию и все файлы.

Перейдите по адресу: %LocalAppData%\Microsoft\Microsoft SQL Server Local DB\ и разрешите полный контроль над папкой «Экземпляры» группе everyone .

Я знаю, что это не нормально, но это решило мою проблему, и мне не очень важны данные из этой папки, так как это компьютер для разработки и тестирования.

У меня была эта проблема. Я пытался использовать проверку подлинности Windows через приложение, но учетные данные пула приложений IIS были неправильными. Я использовал свое имя пользователя Windows (то есть: NETWORK\name ) в качестве своей личности, но я изменил его на встроенную « LocalSystem », и это сработало.

Вы должны проверить журнал событий для получения дополнительной информации.

Читайте также: