Как настроить IIS 10 для чтения из файла локальной базы данных SQL?
Я пытался развернуть исходное веб-приложение ASP .NET с использованием шаблона MVC с аутентификацией через локальный файл базы данных SQL. Пока я могу заставить его работать на моем компьютере. Когда я публикую его в папке на удаленном сервере, я не могу понять, как настроить IIS 10 для чтения из файла локальной базы данных SQL, сохраненного в его подкаталоге App_Data. В результате я получил следующую ошибку:
Ошибка сетевых интерфейсов SQL 52 - Невозможно найти установку локальной базы данных во время выполнения. Убедитесь, что SQL Server Express правильно установлен и включена функция локального выполнения базы данных.
Я пытаюсь устранить проблему, установив SQL Server 2012 Express на удаленный сервер, но проблема все еще существует. Поэтому я полагаю, что проблема может быть в строке подключения:
Источник данных =(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20180923034052.mdf; Начальный каталог =aspnet-WebApplication1-20180923034052; Интегрированная безопасность =True" providerName="System.Data.SqlClient
Выше, что у меня на компьютере. Поскольку я настраиваю SQL-сервер по умолчанию на удаленном сервере, я полагаю, что должен сопоставить имя ядра базы данных SQL-сервера, которое по умолчанию является MSSQLSERVER, как показано ниже. Это тоже не сработало.
Источник данных =.\MSSQLSERVER;AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20180923034052.mdf; Начальный каталог =aspnet-WebApplication1-20180923034052; Интегрированная безопасность =True" providerName="System.Data.SqlClient
Какой конфигурации мне не хватает, чтобы заставить работать это простое веб-приложение ASP .NET?
1 ответ
Для того чтобы строка подключения по умолчанию, созданная вместе с проектом, работала, вам необходимо установить SQL Server LocalDB на удаленном сервере. Это отдельная установка от основной. Вот ссылка, по которой вы можете скачать Microsoft SQL Server 2012 LocalDB.
После этого настройте каталог, в котором опубликован проект, для использования локальной системы в качестве пула приложений через диспетчер IIS. Чтобы сделать это, как указано здесь:
- Нажмите Пулы приложений в диспетчере IIS.
- Нажмите Добавить пул приложений..., чтобы создать новый пул приложений. Используйте любую настройку и имя, которое вы пожелаете.
- Выбрав новый пул приложений, нажмите Дополнительные параметры... и измените Идентичность на Локальную систему, нажав .... Он находится в раскрывающемся меню под встроенной учетной записью.
- Нажмите кнопку ОК, чтобы сохранить и закрыть все всплывающие окна и вернуться в диспетчер IIS.
- Выберите каталог, в котором опубликован проект, и нажмите " Дополнительные настройки".
- Измените Пул приложений на вновь созданный пул приложений и нажмите OK, чтобы закончить.
Обратите внимание, что нецелесообразно поддерживать пул приложений в качестве локальной системы, как описано здесь, но этого достаточно для тестирования.
То, что я сделал, было добавить appool как пользователя в SQL Server. А именно, на уровне SQL Server, перейдите к безопасности. Добавить новый логин. Добавьте IIS APPPOOL\APPPOOLNAME как пользователь. Не проверяйте пользователя или что-либо еще. Примите значения по умолчанию и добавьте пользователя appool в SQL Server. Дайте этому пользователю права на чтение / запись для базы данных и все. MSDN BLOG ссылка