Как обновить localdb visual studio

Обновлено: 25.06.2022

Is it possible to upgrade SqlServer localDB from 2012 to 2014?

We currently use version 11 from SQL Server 2012. I need to upgrade to version 12 from SQL Server 2014.

I would like to be able to do it without losing my tables and data.

I installed a new localDB but I then I don't have my data. It also has another name and I can't really change the config files since it's a team project.

I tried using the command line sqlLocalDB tool to create a 2014 version called v11.0 but it created it in the old 2012 version any way.

Why would naming it v11.0 change which version was used?

How can I upgrade the existing v11.0?

You're telling it to create an 11.0 version database by using v11.0 . Type sqllocaldb /? from the command line and read what it says about create .

No. That v11.0 is the localDB name. I can create one called v12.0 in version 11. But I can't create a v11.0o in version 12. C:\Program Files\Microsoft SQL Server\120\Tools\Binn>sqllocaldb create v12.0 11. 0 LocalDB instance "v12.0" created with version 11.0.3000.0. C:\Program Files\Microsoft SQL Server\120\Tools\Binn>sqllocaldb create v11.0 12. 0 Creation of LocalDB instance "v11.0" failed because of the following error: The parameter for the LocalDB Instance API method is incorrect. Consult the API documentation.

No. That v11.0 is the version you're telling it to create, as you'll see if you do what I asked you to do. Read the documentation, which in this case is as simple as doing what I said from a command prompt.

Of course, instead of debating whether I'm correct or not, you could try two simple things: 1) Read the documentation, which says a number after the create parameter indicates the desired version, and 2) Try again, changing the number to something else like 'v999.99' and see what happens.

I have read the documentation. The first parameter is the instance name, then there is an optional version number. In this case, the v11.0 is the instance name. I created v999.99 and it created an instance called that which is version 12.

6 Answers 6

Update:

Visual Studio 2022 ships with Microsoft SQL Server 2019 15.0.4153.1 LocalDB . If you have Visual Studio 2022 installed but have previously used an earlier version of Visual Studio you can jump to the command sqllocaldb versions below to upgrade.

Original:

This is what I did since Visual Studio 2019 still ships with Microsoft SQL Server 2016 (13.1.4001.0) LocalDB .

I needed to do it because I tried to add Temporal tables with cascading delete that failed.

Failed executing DbCommand (31ms) [Parameters=[], CommandType='Text', CommandTimeout='30'] ALTER TABLE Text SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = History.Text));

Setting SYSTEM_VERSIONING to ON failed because table 'Project.Repository.dbo.Text' has a FOREIGN KEY with cascading DELETE or UPDATE.

Reading up on it it turns out this error only affects SQL Server 2016 and not 2017 and later.

ON DELETE CASCADE and ON UPDATE CASCADE are not permitted on the current table. In other words, when temporal table is referencing table in the foreign key relationship (corresponding to parent_object_id in sys.foreign_keys) CASCADE options are not allowed. To work around this limitation, use application logic or after triggers to maintain consistency on delete in primary key table (corresponding to referenced_object_id in sys.foreign_keys). If primary key table is temporal and referencing table is non-temporal, there's no such limitation.

This limitation applies to SQL Server 2016 only. CASCADE options are supported in SQL Database and SQL Server 2017 starting from CTP 2.0.

enter image description here

You can get information about your current localDBs by running the command sqllocaldb info in Powershell.

This is quite a good upgrading guide but I choose to do some things a bit differently.

Download SQL Server Express 2019 LocalDB or newer and run the exe.

Select Download Media:

enter image description here

enter image description here

Install from the downloaded exe:

enter image description here

My recommendation is to restart your computer after this but I'm not sure it is needed. I did it anyway.

Checking sqllocaldb versions caused the exception Windows API call "RegGetValueW" returned error code: 0. for me.

enter image description here

Solved it using this answer:

This is how Registry Editor (regedit) looks like in the non working example:

enter image description here

After changing the folder name everything works:

enter image description here

enter image description here

After this back up databases in your current localdb. This will probably not be needed since we will attach all databases from your current localdb to the new version later but if you have sensitive data this is recommended.

I have the standard name MSSQLLocalDB from Visual Studio so my example will use this. As mentioned before you can use sqllocaldb info command to view your current versions.

Run these three commands from powershell:

If everything works the last command should generate something like LocalDB instance "mssqllocaldb" created with version 15.0.2000.5.

enter image description here

Then log into your new LocalDB via SSMS (localdb)\mssqllocaldb or a similar program and attach your old databases. Usually stored in the %UserProfile% folder.

В этом разделе описываются варианты обновления файла базы данных (MDF) после установки более новой версии Visual Studio. Он содержит инструкции по следующим задачам.

обновите файл базы данных, чтобы использовать более новую версию SQL Server Express LocalDB

Обновление файла базы данных для использования более новой версии SQL Server Express

работа с файлом базы данных в Visual Studio, сохраняя совместимость с более ранней версией SQL Server Express или LocalDB

сделать SQL Server Express ядром субд по умолчанию

Visual Studio можно использовать для открытия проекта, содержащего файл базы данных (mdf), который был создан с помощью более старой версии SQL Server Express или LocalDB. однако, чтобы продолжить разработку проекта в Visual Studio, необходимо, чтобы эта версия SQL Server Express или LocalDB была установлена на том же компьютере, что и Visual Studio, или необходимо обновить файл базы данных. если обновить файл базы данных, вы не сможете получить к нему доступ с помощью более старых версий SQL Server Express или LocalDB.

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

Рекомендуется создать резервную копию файла базы данных перед обновлением.

если вы обновляете mdf -файл, созданный в LocalDB 2014 (V12) 32 bit to LocalDB 2016 (V13) или более поздней версии, вы не сможете открыть этот файл еще раз в версии 32 LocalDB.

Перед обновлением базы данных учитывайте следующие критерии.

Не обновляйте, если вы хотите работать с проектом в более старой и более поздней версии Visual Studio.

не обновляйте приложение, если оно будет использоваться в средах, использующих SQL Server Express, а не LocalDB.

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

не обновляйте приложение, если оно зависит от службы IIS (IIS).

Если вы хотите тестировать приложения базы данных в изолированной среде, но не хотите администрировать базу данных, рассмотрите возможность обновления.

обновление файла базы данных для использования LocalDB версии

в обозреватель сервера нажмите кнопку Подключение к базе данных .

В диалоговом окне Добавление соединения укажите следующие сведения.

Источник данных: Microsoft SQL Server (SqlClient)

Имя сервера:

Чтобы использовать версию по умолчанию: (localdb)\MSSQLLocalDB . в зависимости от того, какая версия Visual Studio установлена и когда был создан первый экземпляр LocalDB, будет указываться либо ProjectV12, либо ProjectV13. узел MSSQLLocalDB в SQL Server обозревателе объектов показывает, на какую версию он указывает.

для использования конкретной версии: (localdb)\ProjectsV12 или (localdb)\ProjectsV13 , где V12 — LocalDB 2014, а V13 — LocalDB 2016.

Присоединить файл базы данных: физический путь к первичному MDF -файлу.

Логическое имя: имя, которое вы хотите использовать с файлом.

При появлении запроса нажмите кнопку Да , чтобы обновить файл.

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

можно также изменить подключение SQL Server Express, чтобы использовать LocalDB, открыв контекстное меню подключения и выбрав пункт изменить подключение. В диалоговом окне изменение соединения измените имя сервера на (LocalDB)\MSSQLLocalDB . В диалоговом окне Дополнительные свойства убедитесь, что для параметра Пользовательский экземпляр задано значение false.

обновление файла базы данных для использования SQL Server Express версии

В контекстном меню подключения к базе данных выберите изменить подключение.

В диалоговом окне изменение соединения нажмите кнопку Дополнительно .

В диалоговом окне Дополнительные свойства нажмите кнопку ОК , не изменяя имя сервера.

Файл базы данных обновляется в соответствии с текущей версией SQL Server Express.

для работы с базой данных в Visual Studio, сохраняя совместимость с SQL Server Express

в Visual Studio откройте проект, не обновляя его.

Чтобы запустить проект, нажмите клавишу F5 .

Чтобы изменить базу данных, откройте MDF файл в Обозреватель решений и разверните узел в Обозреватель сервера для работы с базой данных.

создание SQL Server Express ядра субд по умолчанию

В строке меню выберите пункт Сервис > Параметры.

В диалоговом окне Параметры разверните узел Параметры инструментов базы данных и выберите подключения к данным.

в текстовом поле SQL Server имя экземпляра укажите имя экземпляра SQL Server Express или LocalDB, который требуется использовать. Если экземпляр не имеет имя, укажите .\SQLEXPRESS or (LocalDB)\MSSQLLocalDB .

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

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

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

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

Установщик LocalDB ( SqlLocalDB.msi ) доступен на установочном носителе для всех выпусков, кроме Express Core. Он находится в папке \_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\\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\ . Файлы пользовательской базы данных хранятся в месте, указанном пользователем, как правило, в папке C:\Users\\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 удаленно с помощью 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, не учитывая принадлежности к группе локальных администраторов.

This topic describes the options for upgrading a database file (.mdf) after you install a newer version of Visual Studio. It includes instructions for the following tasks:

Upgrade a database file to use a newer version of SQL Server Express LocalDB

Upgrade a database file to use a newer version of SQL Server Express

Work with a database file in Visual Studio but retain compatibility with an older version of SQL Server Express or LocalDB

Make SQL Server Express the default database engine

You can use Visual Studio to open a project that contains a database file (.mdf) that was created by using an older version of SQL Server Express or LocalDB. However, to continue to develop your project in Visual Studio, you must have that version of SQL Server Express or LocalDB installed on the same machine as Visual Studio, or you must upgrade the database file. If you upgrade the database file, you won't be able to access it by using older versions of SQL Server Express or LocalDB.

You may also be prompted to upgrade a database file that was created through an earlier version of SQL Server Express or LocalDB if the version of the file isn't compatible with the instance of SQL Server Express or LocalDB that's currently installed. To resolve the issue, Visual Studio will prompt you to upgrade the file.

We recommend that you back up the database file before you upgrade it.

If you upgrade an .mdf file that was created in LocalDB 2014 (V12) 32 bit to LocalDB 2016 (V13) or later, you will not be able to open the file again in the 32-bit version of LocalDB.

Before you upgrade a database, consider the following criteria:

Don't upgrade if you want to work on your project in both an older version and a newer version of Visual Studio.

Don't upgrade if your application will be used in environments that use SQL Server Express rather than LocalDB.

Don't upgrade if your application uses remote connections, because LocalDB doesn't accept them.

Don't upgrade if your application relies on Internet Information Services (IIS).

Consider upgrading if you want to test database applications in a sandbox environment but don't want to administer a database.

To upgrade a database file to use the LocalDB version

In Server Explorer, select the Connect to Database button.

In the Add Connection dialog box, specify the following information:

Data Source: Microsoft SQL Server (SqlClient)

Server Name:

To use the default version: (localdb)\MSSQLLocalDB . This will specify either ProjectV12 or ProjectV13, depending on which version of Visual Studio is installed and when the first LocalDB instance was created. The MSSQLLocalDB node in SQL Server Object Explorer shows which version it is pointing to.

To use a specific version: (localdb)\ProjectsV12 or (localdb)\ProjectsV13 , where V12 is LocalDB 2014 and V13 is LocalDB 2016.

Attach a database file: The physical path of the primary .mdf file.

Logical Name: The name that you want to use with the file.

Select the OK button.

When you're prompted, select the Yes button to upgrade the file.

The database is upgraded, is attached to the LocalDB database engine, and is no longer compatible with the older version of LocalDB.

You can also modify a SQL Server Express connection to use LocalDB by opening the shortcut menu for the connection and then selecting Modify Connection. In the Modify Connection dialog box, change the server name to (LocalDB)\MSSQLLocalDB . In the Advanced Properties dialog box, make sure that User Instance is set to False.

To upgrade a database file to use the SQL Server Express version

On the shortcut menu for the connection to the database, select Modify Connection.

In the Modify Connection dialog box, select the Advanced button.

In the Advanced Properties dialog box, select the OK button without changing the server name.

The database file is upgraded to match the current version of SQL Server Express.

To work with the database in Visual Studio but retain compatibility with SQL Server Express

In Visual Studio, open the project without upgrading it.

To run the project, select the F5 key.

To edit the database, open the .mdf file in Solution Explorer, and expand the node in Server Explorer to work with your database.

To make SQL Server Express the default database engine

On the menu bar, select Tools > Options.

In the Options dialog box, expand the Database Tools options, and then select Data Connections.

In the SQL Server Instance Name text box, specify the name of the instance of SQL Server Express or LocalDB that you want to use. If the instance isn't named, specify .\SQLEXPRESS or (LocalDB)\MSSQLLocalDB .

Select the OK button.

SQL Server Express will be the default database engine for your applications.

If you’re like me and you always want to be on the latest and greatest, you’d be surprised that the latest and greatest version of SQL Server installed with VS2019 is two major versions behind the currently-shipping version.

It’s not very difficult to upgrade manually, but there are a couple steps. Follow them carefully, and you’ll be up and running in no time. Oh, and these steps work for SQL Server 2017 LocalDB too 😉.

Step 1: Upgrade the LocalDB bits

You can grab the latest SQL 2019 installer here. When you run it, it will first download the installation files to C:\SQL2019, then it will execute the SQL Installer.


Select “Upgrade from a previous version of SQL Server”. It should take you to the “Upgrade to SQL Server 2019” wizard.


Roll through the process until you get to the “Select Features” phase. NOTE: There appears to be a bug on this page of the UI that start the upgrade no matter what you click… so don’t click anywhere in the window unless you are sure you want to proceed.


This will take a few minutes to complete. After it’s done, you might want to restart your computer.

Step 2: Rebuild the LocalDB instance

For reasons beyond my understanding, the upgrade process doesn’t actually upgrade the code itself… any current instances on your machine will still be leveraging the old code. In order to solve this problem, you must blow away your old instances and re-attach the databases.

Open a Powershell window and run the following commands:

At this point you have a clean instance. One more step to go.

Step 3: Reattach your databases

The LocalDB databases and their log files are usually stored in the %UserProfile% folder. You’ll want to check and make sure there are there before you continue.

You should at this point be able to open Visual Studio 2019, and hit Ctrl+\, Ctrl+S to open the SQL Server Object Explorer view.


Click the icon with the green “plus”, and the Connect screen will come up. (Note: At some point, VS2019 will re-add the “ProjectsV13" instance, probably during monthly updates. Ignore it for now.)


Select “MSSQLLocalDB” and click “Connect”. You should see it show up under “SQL Server” in the SQL Server Object Explorer.

Right-click that instance and select “New Query” to open a new Query window in Visual Studio. Then paste in the query below:

Make sure you substitute for the location of the database, and for every database you’re re-attaching.

It’s unfortunate that this process is not more automatic. Microsoft could do a lot more work here than they have to just make it automatic. In the absence of that, maybe someone can whip up a script at some point to make it easier. In the meantime, I hope this helps 👊🏻.

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