sql-server - SSDT 和 TFS : compare SQL Server database not working

标签 sql-server visual-studio sql-server-data-tools

我在 Visual Studio 2015 和 TFS 源代码控制中有一个带有 SSDT(SQL Server Data Tools)的数据库项目。

今天早上,当我试图比较两个数据库(DB -> TFS)时,它不起作用,我收到了一个错误:

Comparison completed. Difference detected. Restricted comparison. See error list for detail



在错误列表窗口警告是:

Severity Code Description Project File Line Suppression State Warning The login for the target does not have the VIEW ANY DEFINITION permission. The comparison will be restricted to database scoped elements if the source is a database.



SSDT 的 SQL Server 用户是 sa .

提前致谢

ScreenShot

更新:
我通过以下查询修复了比较警告,但主要问题仍然存在:
USE [master]
GO

Grant VIEW ANY DEFINITION to [USERNAME];
GO

USE [DBNAME]
GO

GRANT CONNECT to [USERNAME]
GRANT VIEW DEFINITION TO [USERNAME]

最佳答案

我有一个 similar problem .虽然您没有字符串文字,但它可能仍在检查:

  • Schema Compare 认为不同之处在于 - 单击“Procedure”左侧的展开按钮。
  • 如果您在比较选项中打开了“忽略空格”。
  • 如果文件的行尾是 windows ( CR LF ) 或 unix ( LF )。
  • (暴力破解)使用sqlpackage.exe提取 .dacpac两个数据库,重命名为 .zip ,并比较两者的内容model.xml 's - 某处会有所不同。
  • 关于sql-server - SSDT 和 TFS : compare SQL Server database not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40190590/

    相关文章:

    asp.net - 将 ASP.NET Web.config 从 3.5 更新到 4.0 的工具

    java - Oracle 数据库的 SSDT 等价物

    sql-server - 使用 SSDT,如何创建具有唯一约束的列?

    sql - 如何有效地选择小于和大于给定值的最接近值?

    SQL 服务器 : impact of column collation on T-SQL instructions

    sql-server - 以编程方式重命名 SQL Server 2000 中的表 - sp_rename 是唯一的解决方案吗?

    sql-server - SSIS 包在 BIDS 中运行但因 SQL 代理中的体系结构不匹配而失败

    c# - 如何关闭 Visual Studio 的格式化选项?

    mysql - 数据库列中的文本搜索

    build - 项目构建在错误的、看似随机的目录中寻找文件