VS2010 数据库比较。如何创建 *.DBSchema 扩展文件?

Posted

技术标签:

【中文标题】VS2010 数据库比较。如何创建 *.DBSchema 扩展文件?【英文标题】:VS2010 Database Compare. How do you create a *.DBSchema extensioned file? 【发布时间】:2010-05-04 02:12:20 【问题描述】:

我想拍摄我的数据库的快照,进行一些更改,然后使用数据库比较功能来识别更改,谁知道呢,甚至可能生成脚本来进行更改。

我想避免为了获得“之前”快照而必须备份当前数据库并将其还原为单独的数据库。我想我不应该这样做。

显然,我对 db 项目一无所知,并且希望指出正确的方向。

ty!

【问题讨论】:

【参考方案1】:

在您将生成架构文件的机器上,执行以下操作: Download Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop。先安装 32 位版本,再安装 64 位(如果您的服务器是 64 位)

Copy the files in (Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy) to the machine on which you will run VSDBCMD.EXE,忽略步骤 2 中的 CE 文件,您已经在上面的 Compact SQL 安装中安装了这些文件。

阅读并理解 VSDBCMD.EXE http://msdn.microsoft.com/en-us/library/dd193283.aspx 的命令行参考

通过从命令提示符运行以下命令生成 dbschema 文件:VSDBCMD /a:import /cs:"DbConnectionString" /dsp:SQL /ModelFile: outputfilname.dbschema

【讨论】:

天啊!我的图形用户界面在哪里!!!!???? ...并且我们需要一个 COMPACT 框架来比较两个数据库以比较并生成脚本以将一个升级到另一个的状态?说不是这样!红门我来了…… 好吧,如果你可以直接访问服务器,你可以使用 VS2010,创建一个数据库项目并从数据库中生成一个模型,进行更改,然后在 VS2010 中进行比较。但是你不需要 dbschema 文件【参考方案2】:

我正在使用 VS2010 Premium 并且能够执行以下操作:

    在服务器资源管理器中,添加到数据库 A 和数据库 B 的数据连接 右键单击数据库 A 并选择比较架构 选择数据库 B 作为目标,设置选项/变量,然后单击确定

我还安装了 SQL Server Developer Edition...所以也许这就是添加此功能的原因。

不知道为什么,但这不适用于 SQL Azure 数据库。

【讨论】:

以上是关于VS2010 数据库比较。如何创建 *.DBSchema 扩展文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VS2010 的紧凑型数据库中添加外键?

C#创建Windows服务入门图解(VS2010)

vs2010环境下,MFC如何修改窗体名字?

安装VS2010后,如何设置老版本的项目文件不是默认用VS2010打开

如何在 MSI 安装完成后运行脚本?使用 VS2010 + 安装向导创建的 MSI

如何创建一个像 VS 2010 形状奇特的高质量闪屏?