Итак, я посмотрел в средстве просмотра событий в разделе Application и снова вижу одно предупреждение снова и снова.
Недопустимый каталог, предназначенный для кэширования сжатого содержимого. C:\Users\User1\AppData\Local\Temp\iisexpress\IIS Временные сжатые файлы \Clr4IntegratedAppPool. Статическое сжатие отключается.
Поэтому я попытался перезагрузить сервер, но все равно не пошел. Такая же ошибка 50, как и раньше.
В моем файле web.config строка подключения выглядит так:
Я пробовал предлагаемое предложение здесь, но это не сработало. Также попробовал этот.
Я также замечаю, что экземпляр MyDatabase отключается после запуска приложения. Если я обновляю базу данных с помощью Server Explorer в Visual Studio, я могу просмотреть таблицы.
Как я могу подключиться к базе данных и отредактировать ее в Visual Studio 2013, но когда я отлаживаю приложение, он не может подключиться к базе данных?
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- SQL Server Express LocalDB
- Установочный носитель
- Установка LocalDB
- Описание
- Ограничения
- Автоматические и именованные экземпляры
- Общие экземпляры LocalDB
- Запуск LocalDB и подключение к LocalDB
- Подключение к автоматическому экземпляру
- Создание именованного экземпляра и подключение к нему
- Подключение к общему экземпляру LocalDB
- Устранение неполадок
- Разрешения
- Как добавить LocalDB в Обозреватель объектов SQL Server сообщества Visual Studio 2015?
- текущая ситуация
- что я думаю знать
- App.config
- другие случайные комментарии
- 7 ответов
- CodeMeGeek
- SQL сетевые интерфейсы, ошибка: 50-произошла ошибка выполнения локальной базы данных. Не удается создать автоматический экземпляр
- 12 ответов
ОТВЕТЫ
Ответ 1
Ломающиеся изменения в LocalDB: применяется к SQL 2014; просмотрите эту статью и попробуйте использовать (localdb)\mssqllocaldb как имя сервера для подключения к автоматическому экземпляру LocalDB, например:
В статье также упоминается использование SSMS 2012 для подключения к LocalDB 2014 года. Это заставляет меня думать, что у вас может быть несколько версий SQL, что приводит меня к выводу этого SO-ответа, который предлагает изменить имя по умолчанию вашего экземпляра LocalDB» чтобы избежать проблем с несоответствием другой версии, которые могут возникнуть в будущем; упомянутый не как источник проблемы, а для повышения осведомленности о потенциальных столкновениях, которые может привести к тому, что множественная версия SQL, установленная на одной машине-разработчике, может привести к. и чему привыкнуть, чтобы избежать некоторых.
Ответ 2
Из командной строки cmd это разрешило мне.
Ответ 3
Я обычно исправляю этот вопрос после этого сообщения в блоге msdn Использование LocalDB с полным IIS
Для этого требуется отредактировать файл applicationHost.config, который обычно находится в папке C:\Windows\System32\inetsrv\config. Следуя инструкциям из KB 2547655, мы должны включить оба флажка для Application Pool ASP.NET v4.0, например:
Ответ 4
Сначала проверьте, какой экземпляр вы установили, вы можете сделать это, проверив реестр и запустив cmd
Изменить 1: Путь к реестру для всех версий Универсальный формат для отслеживания реестра
Ответ 5
Экземпляр может быть поврежден или не обновлен должным образом
Попробуйте эти команды =>
Ответ 6
возможно, эта ошибка возникла, потому что этот version сервера Sql is not installed
и вам не нужно его устанавливать
в моем случае я меняю его с v12.0 на MSSQLLocalDB
Ответ 7
Окончательное решение для этой проблемы ниже:
Сначала вносите изменения в файл конфигурации приложенияHost. заменить ниже string setProfileEnvironment = «false» TO setProfileEnvironment = «true»
В строке подключения к базе данных добавьте атрибут ниже: Integrated Security = SSPI
Ответ 8
Я столкнулся с той же проблемой. Мое исправление менялось
Ответ 9
ПОЖАЛУЙСТА, обратите внимание на то, что сказал Тайлер
Обратите внимание, что если вы хотите отредактировать этот файл, убедитесь, что вы используете 64-битный текстовый редактор, например блокнот. Если вы используете 32-битную версию Notepad ++, она автоматически отредактирует другую копию файла в SysWOW64. Часов моей жизни я не вернусь
Ответ 10
В моем случае у нас было несколько проектов в одном решении, и мы выбрали другой стартовый проект, чем в консоли диспетчера пакетов, когда выполняли команду «Update-Database» с кодами в начале миграции. Убедитесь, что выбрали правильный стартовый проект.
Ответ 11
Я решаю вышеуказанную проблему, применяя следующие шаги
SQL Server Express LocalDB
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 можно установить с помощью Visual Studio Installer как часть рабочей нагрузки Хранение и обработка данных, рабочей нагрузки ASP.NET и веб-разработка или как отдельный компонент.
Установка LocalDB
Описание
Дополнительные сведения о включении LocalDB в приложении см. в статье с общими сведениями о локальных данных в Visual Studio и статье о создании базы данных и добавлении таблиц в Visual Studio.
Дополнительные сведения об API LocalDB см. в разделе Справочник по SQL Server Express LocalDB.
Служебная программа SqlLocalDB позволяет создавать новые экземпляры LocalDB, запускать и останавливать работу экземпляров, а также использовать функции для управления LocalDB. Дополнительные сведения о служебной программе SqlLocalDB см. в разделе Программа SqlLocalDB.
Ограничения
Невозможно применить исправление LocalDB без пакетов обновления. Накопительные пакеты обновления и обновления системы безопасности нельзя применить вручную или с помощью Центра обновления Windows, Центра обновления Windows для бизнеса или других способов.
Нельзя управлять LocalDB удаленно с помощью SQL Management Studio.
LocalDB не может быть подписчиком в репликации слиянием.
LocalDB не поддерживает FILESTREAM.
Для LocalDB разрешены только локальные очереди компонента Service Broker.
Автоматические и именованные экземпляры
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 изменились в SQL Server 2014. Ранее именем экземпляра был один символ v, за которым следует LocalDB и номер версии. Начиная с SQL Server 2014, этот формат имени экземпляра больше не поддерживается. Вместо него следует использовать строку подключения, упомянутую ранее.
Создание именованного экземпляра и подключение к нему
Помимо автоматических экземпляров, LocalDB также поддерживает именованные экземпляры. Используйте программу SqlLocalDB.exe для создания, запуска и остановки именованного экземпляра LocalDB. Дополнительные сведения об SqlLocalDB.exe см. в разделе Программа SqlLocalDB.
Вышеуказанная последняя строка возвращает информацию, аналогичную следующей.
Категория | Значение |
---|---|
Имя | LocalDBApp1 |
Версия | |
Общее имя | «» |
Владелец | » « |
Автоматическое создание | Нет |
Состояние | запуск |
Время последнего запуска | |
Имя канала экземпляра | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Подключение к общему экземпляру LocalDB
Устранение неполадок
Способы устранения неполадок в работе 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 сообщества Visual Studio 2015?
Я не понимаю, как заставить LocalDB отображаться в Обозревателе объектов SQL Server. На некоторых виртуальных машинах он появляется автоматически, на других-нет. Тем не менее, после нескольких часов поиска в гугле, я не понимаю.
текущая ситуация
Итак,на этой виртуальной машине база данных не создается, и ничего не отображается в SQL Server узел.
что я думаю знать
App.config
другие случайные комментарии
7 ответов
У меня была та же проблема сегодня, недавно установив обновление VS2015 Community Edition 1.
я исправил проблему, просто добавив «SQL Server Data Tools» из установщик установки VS2015. Когда я запустил установщик в первый раз я выбрал «пользовательский» тип установки вместо «по умолчанию». Я хотел посмотреть, какие параметры установки были доступны, но не выбрать ничего отличного от того, что уже было отмечено. Мое предположение было то, что уже было отмечено, было по существу установкой по умолчанию. Но это не так.
чтобы проверить, установлен ли LocalDb или нет:
если возникает ошибка Cannot connect to (localdb)\V11.0. измените имя экземпляра на (localdb)\MSSQLLocalDB и снова пытаться подключиться, если вы все еще получаете ту же ошибку.
выполните следующие действия для установки LocalDb:
вы также можете убедиться, что localdb устанавливается с помощью Visual Studio, просто создав новый файл sql и перейдите к значку подключения в верхнем заголовке файла, в котором по умолчанию перечислены все серверы, к которым вы можете подключиться, включая localdb если установлен.
в дополнение к вышеупомянутым способам поиска, если localdb установлен, вы также можете использовать MS windows power shell или windows command processor CMD или даже NuGet package manager console на вашем сервере машины и запустить эти команды sqllocaldb i и sqllocaldb v это покажет вам имя localdb, если это установлена и установлена и запущена версия сервера MSSQL на вашем компьютере.
выберите вашу базу данных и готов к работе.
CodeMeGeek
I have a ASP.NET application that is configured to use IIS.
The application use SQL Server Express LocalDB with Visual Studio 2017.
However, I got this error every time when I run it.
SQL Network Interfaces, error: 50 – Local Database Runtime error occurred. Cannot create an automatic instance.
What Went Wrong?
There are two properties of LocalDB that cause problems when running under full IIS:
LocalDB needs user profile to be loaded
LocalDB instance is owned by a single user and private (by default)
If we check the Windows event logs we would get:
Followed by this one:
The second message is clear, the problem we’re facing is that the user profile needs to be loaded. That shouldn’t be hard since each IIS Application Pool has an option called Load User Profile that can be found in Advanced Settings section. Unfortunately things got slightly more complicated in Service Pack 1 for Windows 7. loadUserProfile is not enough to fully load user profile, we also need to enable setProfileEnvironment. This requires editing applicationHost.config file which is usually located in C:\Windows\System32\inetsrv\config. like this:
Having completed that we restart the Application Pool to make sure the new settings are applied and run our Web Application again. If everything went as expected we should be … faced by a new error:
That is odd, because I can connect to the db in VS with no problems. Any they are using the same connection string.
The answer is that there are two different LocalDB instances here. Unlike SQL Server Express instances, which are running as Windows services, LocalDB instances are running as user processes. When different Windows users are connecting to LocalDB, they will end up with different LocalDB processes started for each of them. When we connect to (localdb)\instance name from Visual Studio, a LocalDB instance is started for us and runs as our Windows account. But when Web Application, running in IIS as ApplicationPoolIdentity, is connecting to LocalDB, another LocalDB instance is started for it and is running as ApplicationPoolIdentity! In effect, even though both Visual Studio and Web Application are using the same LocalDB connection string, they are connecting to different LocalDB instances. Obviously the database created from Visual Studio on our LocalDB instance will not be available in Web Application’s LocalDB instance.
Approach: Use LocalDB Shared Instance
We could also use an instance sharing feature of LocalDB. It allows us to share a LocalDB instance with other users on the same machine. The shared instance will be accessible under a public name.
The easiest way of sharing an instance is to use SqlLocalDB.exe utility. Just start an administrative command line prompt, and type the following command:
It will share the private LocalDB instance instance name under the public name shared name. All users on the machine will be able to connect to this instance, using (localdb)\.\shared name as a server address. Note the \. before the instance name, indicating this is a shared instance name. We should replace the connection string in our Web Application with an updated one:
Before the shared instance can be used by the Web Application we need to start it and create logins for the ApplicationPoolIdentity. Starting the instance is easy, simply connecting to it from SQL Server Object Explorer will start it and keep it alive. Once we are in the SQL Server Object Explorer we can also create the login for ApplicationPoolIdentity. We could use the following query:
This script gives full administrative access to our LocalDB instance to the ApplicationPoolIdentity account. Whenever possible, I would recommend using more limited, database-level or even table-level permissions.
Now we can run our Web Application again. This time it should work just fine:
What are the drawbacks of this approach? The main one is that, before Web Application can connect to the shared instance, we need to make sure the instance is started. For that to happen the Windows account that owns the instance must connect to it and the connection must be kept open, or the LocalDB instance will shut down.
A better approach may be to install SQLEXPRESS Advances/Developer version. Then we do not need to connect to the shared instance of LocalDB every time.
SQL сетевые интерфейсы, ошибка: 50-произошла ошибка выполнения локальной базы данных. Не удается создать автоматический экземпляр
При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не был найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: SQL сетевые интерфейсы, ошибка: 50-произошла ошибка выполнения локальной базы данных. Не удается создать автоматический экземпляр. Подробные сведения об ошибках см. в журнале событий приложения Windows.
Поэтому я посмотрел в окне просмотра событий под Application и снова и снова вижу только одно предупреждение.
Каталог, указанный для кэширования сжатого содержимого C:\Users\User1\AppData\Local\Temp\iisexpress\IIS Temporary Compressed Files\Clr4IntegratedAppPool, является недопустимым. Статическое сжатие отключено.
Поэтому я попробовал перезагрузить сервер, но все равно ничего не вышло. Та же ошибка 50, что и раньше.
В моем файле web.config строка подключения выглядит следующим образом.
Я также замечаю, что экземпляр MyDatabase отключается после того, как я начинаю запускать приложение. Если я обновлю базу данных с помощью сервера Explorer в Visual Studio, я смогу просмотреть таблицы.
Как получается, что я могу подключиться к базе данных и редактировать ее в Visual Studio 2013, но когда я отлаживаю приложение, оно не может подключиться к базе данных?
12 ответов
Я установил версию Sql Express 2012. Я установил локальную БД отдельно. я вижу, что он установлен, когда нажимаю на Installed Sql Server discovery report. Однако я не могу подключиться к нему с помощью Sql Server Management Studio или Microsoft Visual Studio 2012 Professional Edition. Я получаю.
Критические изменения в LocalDB: Применяется к SQL 2014 ; просмотрите эту статью и попробуйте использовать (localdb)\mssqllocaldb в качестве имени сервера для подключения к автоматическому экземпляру LocalDB, например: