我正在尝试使用Visual Studio 2012比较两个数据库。但是,我的数据库所在的SQL实例被严格锁定,我的用户无权访问VIEW DEFINITIONS权限。
我在Visual Studio中遇到这些错误:
The target database schema could not be retrieved. The reverse engineering operation cannot continue because you do not have View Any Definition permission on the server '(URL here)'.
Comparing the master database requires VIEW ANY DEFINITION permission.
但是,我可以使用Red-Gate SQL Compare和XSQL等工具来比较数据库。我不想购买这个软件,而是使用Visual Studio 2012,因为我已经拥有许可证......我怎样才能解决这个问题?有没有办法在没有查看任何定义权限的情况下使用SQL Server数据工具?
答案 0 :(得分:1)
您需要将SQL Server中的db_owner permission作为
提供给用户 SQL server
安全
登录
具体用户
用户映射
具体数据库
检查db_owner
行
答案 1 :(得分:0)
在数据库级而不是实例级执行比较就可以了。
答案 2 :(得分:0)
奇怪的是,重启我的Visual Studio为我解决了这个问题。