问题标签 [schema-compare]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 架构比较时如何忽略数据丢失警告?
尝试在 Visual Studio 的 SQL 架构比较中更新数据库时,出现以下错误。
(48,1):SQL72014:.Net SqlClient 数据提供程序:检测到消息 50000、级别 16、状态 127、第 6 行。架构更新正在终止,因为可能会发生数据丢失。执行批处理时发生错误。
我了解该工具在更新时检查了数据丢失情况。
我在想会有一些我忽略这个的选项。
谷歌搜索后,我得到了以下链接,但在 Visual Studio 2012 中, https://social.msdn.microsoft.com/Forums/en-US/ce95ac1d-a31c-4e83-904e-78a8491d0761/shema-compare-force-update- with-data-loss?forum=vstsdb
但我在我的架构选项中没有找到任何这样的选项
visual-studio-2015 - Visual Studio Professional 2015 - SQL 架构比较和重新打开 .publish.sql 生成的脚本
不确定这是否是以前的问题,或者这是最新工具更新的新错误,但是:
我注意到,在两个数据库之间进行比较并单击“生成脚本”后,* .publish.sql 将完美运行。
但是,在保存该文件、关闭它并重新打开后,
块都以不正确的语法返回。
这是VS中的错误还是我做错了什么?
sql-server - Visual Studio 2015 架构比较不显示更改
我正在尝试进行模式比较VS 2015
以确定我对暂存数据库所做的更改,但由于某种原因它没有显示任何更改。它只显示delete
和add
。
我知道我已经对许多存储过程和许多函数进行了更改。
我已经在互联网上搜索了至少 2 天,试图弄清楚为什么这不起作用,但是没有太多的信息可以继续 :(
尝试了以下方法:
- 更改数据库目标平台
- 匹配数据库排序规则
- 在架构比较设置下找到的不同设置的数量
- 将 LIVE 数据库与我的暂存数据库进行比较(仍然只是添加和删除)
有没有其他人经历过这种情况Visual Studio 2015 Enterprise edition
?
如果您需要我方面的任何进一步信息,请告诉我。
请帮忙!!!
谢谢,
麦克风
sql-server - Visual Studio 2017 中的 SQL Server 比较架构
我正在尝试比较同一服务器上两个数据库的架构。
这两个数据库被命名为benchmarkdb
和benchmarkdb_dev
。
在 Visual Studio 2017 中,我转到工具 > SQL Server > 新架构比较...
从标有“选择源”和“选择目标”的两个下拉菜单中(如下图所示),我想选择benchmarkdb
作为源和bencmarkdb_dev
目标。
点击选择一个源后,弹出“Select Source Schema”,我点击了“Select Connection...”按钮,又弹出了一个。最新的弹出窗口(下图中右侧的那个)显示了我要比较的两个数据库。
但是,在我为源或目标选择一个之后,所有弹出窗口都会关闭,但没有任何内容填充“选择源...”或“选择目标...”下拉菜单。事实上,它只是回到看起来像第一张照片。
有没有解决方案,所以我可以比较数据库之间的模式?
更新:
我在 VS 2012、2015 和 2017 上试过这个。所有人都面临同样的问题。VS软件和系统软件是最新的。以下是我正在使用的一些软件版本,如果有帮助的话。
Windows 7 企业版 SP1
对比 2012、2015 和 2017
SQL Server 2014
.NET 框架 v4.7.02053
sql-server - 是否可以在 Visual Studio 的架构比较中忽略 NOT FOR REPLICATION?
我有两个环境:开发和测试。Dev 有一个 SQL 实例。测试有三个使用合并复制。
当我在 dev 和 test 之间使用 Schema Compare 时,每个表总是被标记为不同的,因为 Test 中的表有一些复制工件:
- 为复制生成的唯一 ID:
[rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [MSmerge_df_rowguid_DDDF85B24558D414B8FD278B2219C33A]
- 主键标记为
NOT FOR REPLICATION
(我看到模式比较选项的常规选项卡中有一个选项可以忽略此选项) [repl_identity_range...]
要求主键在分配给该实例的范围内的约束
有没有办法repl_identity_range_...
在运行模式比较时忽略 rowguid 列和约束?
c# - SSDT 如何从 DACPAC 文件创建新数据库?
目前使用 SqlPackage.exe 命令行工具生成脚本,通过将 DacPac 文件与目标数据库进行比较。如果数据库不存在,这将创建数据库。
我们现在想将其切换为使用 Microsoft.Data.Tools.Msbuild Nuget 包(使用 C# 进行部署),但是当数据库容器不存在时,使用 SchemaComparison 进行比较会失败。似乎没有太多与该软件包相关的文档。
这个包中是否有任何工具可以让我在比较之前创建一个空的数据库容器?
我目前正在使用以下代码(在与现有数据库进行比较时有效):
此时,ComparisonResult 出现错误消息:{Error SQL0: Cannot open database "DeployTestDB" requested by the login. 登录失败。用户“myUsername”登录失败。}
visual-studio - 架构比较后 Azure Sql 数据库架构缺少约束
我在 Azure 中创建了一个空白 SQL 数据库。
从 Visual Studio 2017 开始,我执行了架构比较,并将空白 Azure 数据库更新为我的架构。没有错误,所以我没有检查一切是否完全相同。
我设置了复制并很好地复制了所有数据。
在执行另一个模式比较时,我发现所有外键约束以及默认值和索引都丢失了。
visual-studio-2017 - 架构比较后,Visual Studio 中的“生成脚本”按钮被禁用
我想从数据库和我的数据库项目创建一个增量脚本。数据库作为源,数据库项目作为目标。该Update
按钮工作正常,没有任何错误,我的错误列表仅包含此警告:
源的登录名没有 VIEW ANY DEFINITION 权限。如果目标是数据库,则比较将仅限于数据库范围的元素。
此权限:https ://technet.microsoft.com/en-us/library/ms175808(v=sql.105).aspx
模式比较后,更新目标按钮被禁用对我没有帮助。
如何generate Script
在 Visual Studio Enterprise 2017 中激活按钮?我真的需要访问元数据来生成脚本吗?
(编辑):
即使有此权限,它也不起作用。但是我可以在比较两个数据库时生成一个脚本。
azure - VS 2015 架构比较差异未显示但已检测到
当我在 Azure 数据库上进行架构比较时,架构比较工具在底部显示“比较完成。检测到差异”,但除了以下消息外,中心屏幕仍为空:
您可以将源架构与目标架构进行比较以确定它们之间的差异。然后,您可以更新目标架构以匹配您选择的数据库对象的源架构。根据目标模式类型,您可以直接更新目标或生成更新脚本。要比较两个架构,首先选择源架构和目标架构,然后选择比较。
我尝试重新输入我的所有凭据并重新克隆我的仓库。
我还尝试针对不同的 Azure 数据库与同一个项目进行架构比较,结果确实出现了。
我的同事能够与完全相同的项目和远程数据库进行架构比较,显示更改。
sql-server - 无法在 SQL Server 架构比较中选择目标,Visual Studio 2017
我有一个奇怪的问题,我无法找到解决方案。突然我无法在 VS2017 的架构比较中选择目标或源。当我单击组合框时,没有任何反应。仍然可以进行数据比较和 SQL 查询。
我已将 SSDT 更新到 15.5.1 版,但没有成功。VS 是版本 15.5.2