2

我们已将生产环境迁移到 Azure(使用 SQL Azure 而不是 SQL Server)

我们的本地开发环境使用 SQL Server。当发布期间需要更改数据库时,我们会编写更改脚本。

问题

现在的问题是某些 T-SQL 命令/语句/关键字在 SQL Azure 上运行时不起作用。这不断扰乱我们的发布过程。

正在教育每个人使用 T-SQL 的子集,但这些问题不断出现。

在运行 SQL Server 之前,我们是否无法使用解析器将我们的 SQL 脚本解析为“Azure SQL 兼容”:

在此处输入图像描述

谢谢

4

2 回答 2

1

您不会喜欢这个答案.. 但最好的选择是将您的开发环境迁移到 SQL Azure。我们从相同的过程开始,但您将面临持续不断的战斗。我们使用了 Redgates SQL 比较工具,但我不相信它们会解决您的问题,但也许值得一试,因为它们会不断变得更好。

即使您有多个开发人员并且他们每个人都需要一个 SQL 数据库,我仍然建议让每个人都注册 Azure 并支付它的费用。值得庆幸的是,数据库的运行成本并不高,而且您可能会使用免费层结构。对我们来说,运行 SQL Azure Dev 盒的成本仍然比发布时的痛苦和浪费时间要便宜。

于 2013-09-08T22:16:20.467 回答
1

如果您使用新的“SQL Server 数据库项目”,Visual Studio 中有一个功能允许您选择 SQL Azure 的“目标平台”。这将允许您构建所有 t-sql 脚本并检查它们的 SQL Azure 兼容性。任何兼容性错误都会引发错误,它可以创建与 SQL Azure 兼容的 bacdac/dacpac/t-sql 脚本。

为了利用这一点,您必须使用 Visual Studio 中的“SQL Server 数据库项目”项目来管理您的代码。

于 2013-09-09T02:36:30.973 回答