2016-10-22 73 views
4

我有一個數據庫項目與Visual Studio 2015和TFS源代碼控制中的SSDT(SQL Server數據工具)。SSDT&TFS:比較SQL Server數據庫不工作

今天早上當我試圖比較兩個數據庫(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


UPDATE: 我用下面的查詢,但主要的問題固定的比較警告存在尚未:

USE [master] 
GO 

Grant VIEW ANY DEFINITION to [USERNAME]; 
GO 

USE [DBNAME] 
GO 

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

你如何比較它們?通過構建定義?發佈定義?你正在執行什麼命令來比較它們? –

+0

@DanielMann使用模式比較嚮導 –

+0

那麼這與TFS有什麼關係?這聽起來像是一個Visual Studio或SSDT問題。 –

回答

0

最後我解決了這個問題通過刪除並重新創建MSSQLServer中的對象:

1

我有一個similar problem。雖然您沒有字符串文字,但它仍可能正在檢查:

  • 什麼模式比較認爲不同之處在於 - 單擊「過程」左側的展開按鈕。
  • 如果您在比較選項中打開了「忽略空白」。
  • 如果你的文件的行結束的窗口(CR LF)或UNIX(LF)。
  • (暴力解決方案)使用sqlpackage.exe來提取兩個數據庫的.dacpac,重命名爲.zip,並比較兩個model.xml的內容 - 在那裏會有差別。
+0

我也建議檢查兩個副本上的文件編碼。 –

+0

尊敬的@泰恩您的回答非常有幫助,我正在研究並發現一些新的細節。請讓我檢查一下 –