在我的SSDT项目中,为什么我会收到此错误?
“对象__refactorlog上的选择权限被拒绝了?”
项目中有一个重构日志项目。
我选择从VS内部生成发布脚本。
编辑:目标是一个生产服务器,所以我没有权限创建表或在那里选择数据,我只需创建部署脚本,而且无论如何都没有表__refactorlog ..答案 0 :(得分:4)
您需要比当前在该服务器上拥有的更多权限才能生成发布脚本。我验证在代码处理重构操作中有一个调用“SELECT OBJECT_ID(N'dbo .__ RefactorLog')”来检查表是否存在。由于您没有权限甚至要求选择对象,因此代码可能会失败。您可以通过对数据库运行该查询并查看是否收到错误来自行检查。
确定所需权限的建议:
答案 1 :(得分:0)
以下是我处理此问题的方法,即使它是一个糟糕的替代品,对自动化数据库发布没有用。我编写发布脚本,然后进行全局搜索和替换,将“dbo”更改为我可以访问的模式。这对我有用,因为我已经删除了所有试图编写我无法控制的对象的选项,并且dbo架构完全不在我的手中,就像你一样。
我并不为此感到自豪,我希望我可以选择控制该表所在的位置,但至少完全支持Visual Studio的重构功能。