Обновление базы данных - ошибка с (localdb) \ MSSQLLocalDB - PullRequest
0 голосов
/ 11 июня 2018

У меня возникает следующая проблема при запуске Update-Database после запуска Add-Migration:

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

Sql локальная БД:

enter image description here

In Startup.cs:

 // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        //services.AddDbContext<MyContext>(options => options.UseSqlServer(Configuration["ConnectionStrings = DefaultConnection"]));
        //var connection = @"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.AspNetCore.NewDb;Trusted_Connection=True;ConnectRetryCount=0";
        //var connection =    @"Data Source = (localdb)\\MSSQLLocalDB; Database = Ecommerce2DB; Integrated Security = True; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent = ReadWrite; MultiSubnetFailover = False";
        var connection = @"Data Source = (localdb)\\MSSQLLocalDB; Initial Catalog = Ecommerce2DB; Integrated Security = True; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent = ReadWrite; MultiSubnetFailover = False";
            //                      Data Source = (localdb)\MSSQLLocalDB; Initial Catalog = master; Integrated Security = True; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent = ReadWrite; MultiSubnetFailover = False
        services.AddDbContext<MyContext>(options => options.UseSqlServer(connection));

    }

1 Ответ

0 голосов
/ 12 июня 2018

Это сообщение об ошибке информирует вас о невозможности подключения к серверу MSSQL, и приложение не будет подключаться к базе данных.Возможные причины и шаг устранения описаны ниже:

1) MSSQL Server не запущен.Его запуск позволит вам увидеть ваш MSSQL-сервер / экземпляр в раскрывающемся списке доступных MSSQL-серверов.

a) Перейдите в меню Пуск -> Панель управления -> Инструменты администрирования -> Службы.

б) В списке служб найдите SQL Server (имя экземпляра, по умолчанию оно есть.) И проверьте его состояние, его необходимо запустить (если он не запущен, щелкните правой кнопкой мыши на SQL Server и выберите «Пуск»).из контекстного меню).

2) Брандмауэр блокирует порт 1433 (стандартный порт MSSQL для соединений).Его можно отключить, выполнив следующие действия:

a) Перейдите в меню Пуск -> Панель управления -> Инструменты администрирования -> Службы.

b) Найдите службу брандмауэра, ее необходимо отключить(если это не так, щелкните правой кнопкой мыши службу и выберите Остановить в контекстном меню).

Примечание. Дополнительную информацию об этом можно найти на официальном сайте Microsoft: http://msdn.microsoft.com/en-us/library/cc646023.aspx

3) Протокол TCP / IP отключен для протоколов MSSQL.Чтобы включить его, см. Следующие шаги:

a) Перейдите к диспетчеру конфигурации SQL Server в меню «Пуск».

b) Укажите настройки протокола TCP / IP в диспетчере конфигурации SQL Server.

c) Перезагрузите компьютер.

Примечание. Дополнительную информацию об этом можно найти на официальном сайте Microsoft: http://msdn.microsoft.com/en-us/library/bb909712%28v=vs.90%29.aspx

4) Убедитесь, что ядро ​​базы данных настроенопринимать удаленные подключения (если вы используете централизованную базу данных):

a) Откройте SQL Server Management Studio.б) Щелкните правой кнопкой мыши экземпляр SQL Server -> Свойства -> Подключения -> Установите флажок Разрешить удаленные подключения к этому серверу.c) Перейдите в раздел «Общие» и проверьте имя SQL Server, указанное в поле «Имя».

5) Если вы используете именованный экземпляр SQL Server, убедитесь, что вы используете это имя экземпляра в строках подключения.Обычно формат, необходимый для указания сервера базы данных, - имя_машины \ имя_экземпляра.

6) Убедитесь, что у вашей учетной записи есть разрешение на доступ к базе данных, которую вы использовали при входе в систему.

Альтернатива: есливы все еще не можете установить соединение, вы можете создать учетную запись SQL на сервере, соответствующего пользователя SQL в рассматриваемой базе данных и просто использовать эти данные для входа в систему с именем пользователя / паролем для подключения к SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...