使用 Visual Studio 2012 高级版导出架构比较升级脚本到 transact-sql
Posted
技术标签:
【中文标题】使用 Visual Studio 2012 高级版导出架构比较升级脚本到 transact-sql【英文标题】:Export schema compare upgrade script to transact-sql with visual studio 2012 premium 【发布时间】:2014-01-24 23:53:34 【问题描述】:我有幸在工作中使用了 Visual Studio 2012 Premium。我被分配的任务之一是在开发和系统测试数据库之间进行模式比较。这一切都很好,但是当我生成要移交给迁移团队的脚本时,我在标题中得到了这个:
/*
Deployment script for MyGloriousDatabase
This code was generated by a tool.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
*/
GO
:setvar DatabaseName "MyGloriousDatabase"
:setvar DefaultFilePrefix "MyGloriousDatabase"
:setvar DefaultDataPath "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\"
:setvar DefaultLogPath "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\"
GO
:on error exit
GO
/*
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
To re-enable the script after enabling SQLCMD mode, execute the following:
SET NOEXEC OFF;
*/
:setvar __IsSqlCmdEnabled "True"
GO
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
BEGIN
PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
SET NOEXEC ON;
END
GO
USE [$(DatabaseName)];
...
现在,将其删除并制作成 .sql 脚本并不难,您可以简单地在 SSMS 中运行。但我看到以前版本的 Visual Studio 有一个“导出到 Transact-SQL”选项。该选项是否隐藏在 2012 年?我能找到的最好的方法是注释掉 SQLCMD 行。
谢谢!
【问题讨论】:
【参考方案1】:我也没有看到执行此 Visual Studio 2013 Premium 的选项,但是通过 SSMS 中的 Query->SQLCMD 模式菜单项打开 SQL 命令模式,生成的脚本可以在 SSMS 中运行。
见:sql-server-setvar-error
【讨论】:
以上是关于使用 Visual Studio 2012 高级版导出架构比较升级脚本到 transact-sql的主要内容,如果未能解决你的问题,请参考以下文章
谁有visual studio 2012 professional的密钥
如何在 Visual Studio 2012 速成版附带的混合中制作 wpf 应用程序
2013 年发布后的 Visual Studio 2012 速成版在哪里?