使用可以通过SQL Server 2008 R2导入的SQL Server 2012工具创build数据库备份

基本上,我正在学习MS堆栈的软件,并在使用* .mdf文件安装到本地./SQLEXPRESS实例的应用程序上工作。

然后,我将计算机上的所有软件升级到了Windows 8 RTM,Visual Studio 2012 Pro等。并且安装了SQL Server Express 2012和最新版本的基本Management Studio。 当我第一次开始使用VS2012时,它要求我把MDF文件转换成最新版本,我也这样做了。 对于它的价值,我也有一个没有升级/转换的副本。

现在我想在共享主机上部署和testing这个应用程序,并在SQL服务器上加载我的数据库,这个托pipe服务使用SQL Server 2008 R2。 当我尝试将最新的上述Ms工具创build的* .bak文件导入到此服务器时,它会给我一个错误,如下所示: The media family on device is incorrectly formed. SQL Server cannot process this media family. (severity 16) The media family on device is incorrectly formed. SQL Server cannot process this media family. (severity 16) The media family on device is incorrectly formed. SQL Server cannot process this media family. (severity 16)我已经阅读了,它似乎严格与版本不兼容,在旧版本的SQL服务器将无法使用* .bak文件和其他人创造的新一代工具。

我做的第一件事就是下载SQL Server Management Studio 2008到我的Windows 8机器上,让我失望的是这是一个不行的事情,当我试图做一个备份,并且总体上觉得它有兼容性问题时,它给了我错误。 也许因为我连接到新的本地(LocalDB)\ 11.0服务器,而不是旧的./SQLEXPRESS,我没有安装了。

一般来说,我应该期望SQL Server 2008 Express和pipe理工具在Windows 8上工作吗? 否则,我的select是什么(除了在VM中加载旧的软件堆栈等),创build备份时可能有向后兼容模式? 或者一些其他的软件,将在Windows 8中运行,并使用旧版本的mdf文件进行* .bak转储?

您无法将数据库备份从较高版本的SQL Server还原到较低版本的SQL Server。

我可以连接到一个2005 Express实例,没有问题从新版本的SQL Server Management Studio(在我的情况下是指SQL 2008 R2)。 我希望这个工作是一样的(我以前错了)。 我会告诉它不要升级现有的实例,并保持旧的引擎,以便testing它,然后将其部署到您的虚拟机上。 FWIW,你可以尝试使用“备份数据库@DatabaseName到磁盘= @FilePath WITH INIT,STATS = 10,CHECKSUM,COMPRESSION;” 而不是使用内置备份,所以远程执行远程实例上的proc。 您曾经(也可能仍然可以)在同一台机器上运行多个SQL版本(不确定是否支持)。 有什么阻止你这样做吗?