由于版本问题,无法打开数据库。将 .mdf 文件连接到 Visual Studio 2019
The database cannot be opened because of it's version. Connecting .mdf file to Visual Studio 2019
我有 Visual Studio 2019 和 MS SQL Server Management Studio 18 和 SQL Server 2019 安装了 localdb。
一切都更新了。
我在 Visual Studio 中创建了新的本地数据库文件 .mdf,它列在我的解决方案资源管理器中。
我想处理它,使用 MS SQL 服务器管理创建表等。所以我将创建的 .mdf 文件附加到我的 localdb 数据库。创建表,保存。一切正常。在 Visual Studio 中,我双击解决方案资源管理器中的 .mdf 文件,因此它通常也会添加到我的数据连接中,但无法在此处完成错误:
The database 'D:\VSREPOS\REPOS\CARNOTE\CARNOTE\DATABASE.MDF' cannot be
opened because it is version 904. This server supports version 852 and
earlier. A downgrade path is not supported. Could not open new
database 'D:\VSREPOS\REPOS\CARNOTE\CARNOTE\DATABASE.MDF'. CREATE
DATABASE is aborted. An attempt to attach an auto-named database for
file D:\VSrepos\repos\CarNote\CarNote\Database.mdf failed. A database
with the same name exists, or specified file cannot be opened, or it
is located on UNC share.
所以我尝试了其他方法。
我在 MS SQL Server Management 中创建了版本为 852 的新数据库,我发现它是 SQL Server 2016(选项 -> 兼容级别 - 2016)。我在配置管理器中停止了我的 localdb 服务器,将 .mdf 文件和 .ldf 文件复制到我的 Visual Studio 项目仓库。我已将该数据库文件添加到 Visual Studio 解决方案资源管理器。因此,我再次尝试通过双击将该数据库添加到服务器资源管理器,它还尝试通过添加新连接来添加它。我收到与上面完全相同的错误。
我完全不明白这是什么问题。好吧,这是关于版本的,但我只有一个本地 sql 服务器,所以 visual studio 为什么会使用不同的版本。如何解决这个问题?有什么想法吗?
还有一件事。我正在处理一个连接到在线 sql 服务器的项目。现在我需要让它离线。我需要将它连接到 .mdf 文件。这是一个小项目。我之前在本地没有任何 sql 服务器,所以我今天安装了 sql server express 2019,这样我就可以附加 visual studio .mdf 文件并在那里进行处理。我缺少什么? Visual Studio 有自己的 sql 服务器和自己的版本吗?如何将它更新到我的本地版本,因为它说 Visual Studio 的 852 版本已经过时,而 .mdf 文件的版本是 904。这对我来说没有意义,因为我也试图以其他方式进行。
您无法降级 sql 服务器数据库,也无法在比原始版本更旧的 SQL 服务器版本中打开数据库,并且它与 Compatibility level
不同。
当您安装 Visual studio 时,它会安装自己的 sql 服务器 Express 版实例 可能不同于您使用 sql 服务器独立安装安装的实例。
您可以尝试 SQL SERVER – How to Get List of SQL Server Instances Installed on a Machine? 了解您安装的实例
我在这里找到了解决方案:
https://medium.com/cloudnimble/upgrade-visual-studio-2019s-localdb-to-sql-2019-da9da71c8ed6
安装我的本地 sql 服务器没有更新代码本身。
我打开了 Powershell window 和 运行 以下命令:
sqllocaldb stop projectsv13
sqllocaldb delete projectsv13
sqllocaldb stop mssqllocaldb
sqllocaldb delete mssqllocaldb
sqllocaldb create MSSQLLocalDB
实际上它没有找到任何 projectsv13 但它重新创建了 mssqllocaldb。
现在,我在 VS 存储库中本地化的 .mdf 文件在 VS 和 MS SQL Management Studio 中都可以正常工作。
我有 Visual Studio 2019 和 MS SQL Server Management Studio 18 和 SQL Server 2019 安装了 localdb。 一切都更新了。
我在 Visual Studio 中创建了新的本地数据库文件 .mdf,它列在我的解决方案资源管理器中。 我想处理它,使用 MS SQL 服务器管理创建表等。所以我将创建的 .mdf 文件附加到我的 localdb 数据库。创建表,保存。一切正常。在 Visual Studio 中,我双击解决方案资源管理器中的 .mdf 文件,因此它通常也会添加到我的数据连接中,但无法在此处完成错误:
The database 'D:\VSREPOS\REPOS\CARNOTE\CARNOTE\DATABASE.MDF' cannot be opened because it is version 904. This server supports version 852 and earlier. A downgrade path is not supported. Could not open new database 'D:\VSREPOS\REPOS\CARNOTE\CARNOTE\DATABASE.MDF'. CREATE DATABASE is aborted. An attempt to attach an auto-named database for file D:\VSrepos\repos\CarNote\CarNote\Database.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
所以我尝试了其他方法。 我在 MS SQL Server Management 中创建了版本为 852 的新数据库,我发现它是 SQL Server 2016(选项 -> 兼容级别 - 2016)。我在配置管理器中停止了我的 localdb 服务器,将 .mdf 文件和 .ldf 文件复制到我的 Visual Studio 项目仓库。我已将该数据库文件添加到 Visual Studio 解决方案资源管理器。因此,我再次尝试通过双击将该数据库添加到服务器资源管理器,它还尝试通过添加新连接来添加它。我收到与上面完全相同的错误。
我完全不明白这是什么问题。好吧,这是关于版本的,但我只有一个本地 sql 服务器,所以 visual studio 为什么会使用不同的版本。如何解决这个问题?有什么想法吗?
还有一件事。我正在处理一个连接到在线 sql 服务器的项目。现在我需要让它离线。我需要将它连接到 .mdf 文件。这是一个小项目。我之前在本地没有任何 sql 服务器,所以我今天安装了 sql server express 2019,这样我就可以附加 visual studio .mdf 文件并在那里进行处理。我缺少什么? Visual Studio 有自己的 sql 服务器和自己的版本吗?如何将它更新到我的本地版本,因为它说 Visual Studio 的 852 版本已经过时,而 .mdf 文件的版本是 904。这对我来说没有意义,因为我也试图以其他方式进行。
您无法降级 sql 服务器数据库,也无法在比原始版本更旧的 SQL 服务器版本中打开数据库,并且它与 Compatibility level
不同。
当您安装 Visual studio 时,它会安装自己的 sql 服务器 Express 版实例 可能不同于您使用 sql 服务器独立安装安装的实例。
您可以尝试 SQL SERVER – How to Get List of SQL Server Instances Installed on a Machine? 了解您安装的实例
我在这里找到了解决方案:
https://medium.com/cloudnimble/upgrade-visual-studio-2019s-localdb-to-sql-2019-da9da71c8ed6
安装我的本地 sql 服务器没有更新代码本身。
我打开了 Powershell window 和 运行 以下命令:
sqllocaldb stop projectsv13 sqllocaldb delete projectsv13 sqllocaldb stop mssqllocaldb sqllocaldb delete mssqllocaldb sqllocaldb create MSSQLLocalDB
实际上它没有找到任何 projectsv13 但它重新创建了 mssqllocaldb。 现在,我在 VS 存储库中本地化的 .mdf 文件在 VS 和 MS SQL Management Studio 中都可以正常工作。