Я запустил sqllocaldb v12.0, но когда я прикрепляю mdf-файл, он заставляет меня обновить mdf-файл до более поздней версии v13.

ользую Visual Studio 2017 и SQL Server 2014. При подключении файла базы данных к Visual Studio я получаю эту ошибку:

""

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

<connectionStrings>
    <add name="con" 
         connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\binaaelmamorra.mdf;Integrated Security=True;Connect Timeout=30"/>
</connectionStrings>

На моем компьютере работает нормально, но на клиентском компьютере появляется сообщение об ошибке

Не может быть открыт, потому что это версия 852. Этот сервер поддерживает версию 782 и более ранние

Хотя я установил локальную базу данных SQL Server 2016 на стороне клиента, я все еще не могу от нее избавиться.

Мой второй вопрос: какой текущий экземпляр SQL Server не совместим с файлом базы данных?

 Derrick Moeller21 янв. 2019 г., 21:34
v11.0 был примером, предоставленным @marc_s, в вашем случае команда была быsqllocaldb i ProjectsV13

Ответы на вопрос(2)

у вас есть несколько экземпляров различных версий SQL Server на вашем компьютере.

Для «полноценных» версий (Express и выше) вы можете проверить, какая у них версия, посмотрев в диспетчере конфигурации SQL Server:

Для версий SQL Server «LocalDB» (ориентированных на разработчиков) вы можете использоватьsqllocaldb инструмент командной строки.

Получите обзор того, что у вас есть на вашем компьютере, с помощью этой команды:

C:\> sqllocaldb i

MSSQLLocalDB
v11.0

Затем вы можете проверить отдельные экземпляры, используя команду details:

C:\> sqllocaldb i mssqllocaldb

Name:               mssqllocaldb
Version:            13.1.4206.0
Shared name:
Owner:              MSE-PC-02\Marc
Auto-create:        Yes
State:              Stopped
Last start time:    27.08.2017 12:24:45
Instance pipe name:


C:\> sqllocaldb i v11.0
Name:               v11.0
Version:            11.0.3000.0
Shared name:
Owner:              MSE-PC-02\Marc
Auto-create:        Yes
State:              Stopped
Last start time:    26.08.2017 15:41:18
Instance pipe name:

Так что это говорит вам, что естьдва Доступны экземпляры SQL Server LocalDB -mssqllocaldb версия 13.1 (SQL Server 2016), в то время какv11.0 Экземпляр версии 11.0 (SQL Server 2012).

Так что если вы хотите прикрепить.mdf подать в любой из этих двух экземпляров, вам просто нужновыбрать правильный чтобы заставить его работать с версией, которую вы хотите. И как только вы «обновили» файл базы данных до более новой версии SQL Server (например, 2016 - внутренняя версия БД 852), вы можетеНИКОГДА вернуться назад - нет способа отсоединить / присоединить, создать резервную копию / восстановить или иным способом получить эти двоичные файлы в более старой версии SQL Server. Вы должны были бы написать в сценарии структуру (и, возможно, данные) вашего нового файла базы данных для.sql файлы и запустите те на старой версии.

 Bilal Ahmed26 сент. 2017 г., 18:55
@macr_s пожалуйста, проверьте отредактированный контент

а версия 782 - это SQL Server 2014. Хорошую ссылку на версии можно найтина этой странице Microsoft.

Исходя из ваших объяснений, это должна быть версия 782 БД. Поскольку это БД версии 852, это означает, что она была обновлена ​​с использованием SQL Server 2016, а не SQL Server 2014. Соответственно, вы должны проверить все версии SQL Server, работающие на вашем локальном компьютере / компьютере разработчика, чтобы убедиться, что только SQL Server 2014 является используется, а не (потенциально) SQL Server 2016, установленный VS 2017.

Кроме того, похоже, что версия для вашего конечного пользователя - 2014, а не 2016. Это потенциально проблема, если текущая БД является базой данных режима SQL Server 2014. Попробуйте явно подключиться к TempDB перед подключением БД. (Примечание: это то, что я должен был сделать, когда столкнулся с несовместимостью 2014/2016, хотя я не могу вспомнить, какова была настоящая проблема.)

 Bilal Ahmed26 сент. 2017 г., 18:39
Я согласен с вашими утверждениями, но что я могу сделать на стороне клиента, на нем установлены как SQL Server 2014, так и SQL Server 2016

Ваш ответ на вопрос