SQL Server 无法删除视图'XXX',因为它不存在或您没有权限

vkc1a9a2  于 2023-01-29  发布在  其他
关注(0)|答案(9)|浏览(536)

我们从2005年到2014年迁移了服务器,用户可以在2005年的服务器中删除它,但在2014年,我们得到的错误,因为没有权限或不存在我们已经给予相同的权限,甚至他是一个系统管理员。在我们的应用程序端,他们无法删除应用程序用户通过我们数据库中的用户连接的视图,该用户拥有所有权限,并且他是sysyadmin

kadbb459

kadbb4591#

这个问题可以简单地解决,如果它只是发生,按照步骤:
1.查看您正在使用的数据库,例如,我正在使用数据库student_fast
1.在获得正在使用的数据库名称后,编写一个查询(使用database_name)并执行它
1.现在试试丢弃命令。
1.它按照我的问题工作。

eyh26e7m

eyh26e7m2#

我遇到过一个非常类似的问题。请确保在移动数据库时架构没有更改。
在我的例子中,所有的表和视图都被放置在一个带有databasename的模式中,所以这些表不是被称为table1,而是被称为database.table1。
如上所述,这是显示此错误的原因之一。
编辑:在看到注解后,他们建议同样的事情,在tablename之前使用schema,并且是的。如果dbo是您的schema,那么尝试编写dbo.tablename

oo7oh9g9

oo7oh9g93#

我也遇到过同样的问题(SQL Server 2016)。
这有点奇怪,但是当我使用本地Windows帐户(也Map到sa)通过Windows身份验证连接到SQL Server时,我得到了这个错误。
当我使用用户名sa及其关联密码通过SQL Server身份验证连接到SQL Server时,我拥有所有权限,这个讨厌的错误消失了。

gfttwv5a

gfttwv5a4#

如果应用程序/任何其他进程已连接到您尝试删除的数据库,则可能会收到该错误。请尝试先断开与数据库的连接,然后删除架构,这样应该可以正常工作。

t3irkdon

t3irkdon5#

重新启动SQL Server对我很有效。但对于生产环境来说,这不是一个经济实惠的解决方案...

vpfxa7rd

vpfxa7rd6#

错误:-“无法删除表'ProductDb',因为它不存在或您没有权限。”即使我面临同样的错误...然后我创建了相同的表具有相同的名称和相同的属性。然后更新数据库或刷新数据库它解决了我的错误。

nbysray5

nbysray57#

如果数据库中不存在表,那么我们可以从迁移代码中删除删除删除命令。因为它在数据库中查找表,而表不存在,所以它会给出错误。

gk7wooem

gk7wooem8#

在您的情况下,检查如果您使删除视图语句两次,有时您删除视图在两个不同的地方,这将导致这个问题。

sq1bmfud

sq1bmfud9#

它已经发布多年了。我遇到了同样的情况。如果我运行如下:

Drop view [Schemaname.viewname]

它会有错误。
如果我去掉[ ],作为

Drop view Schemaname.viewname

很有效。不知道是什么原因。

相关问题