我们从2005年到2014年迁移了服务器,用户可以在2005年的服务器中删除它,但在2014年,我们得到的错误,因为没有权限或不存在我们已经给予相同的权限,甚至他是一个系统管理员。在我们的应用程序端,他们无法删除应用程序用户通过我们数据库中的用户连接的视图,该用户拥有所有权限,并且他是sysyadmin
kadbb4591#
这个问题可以简单地解决,如果它只是发生,按照步骤:1.查看您正在使用的数据库,例如,我正在使用数据库student_fast。1.在获得正在使用的数据库名称后,编写一个查询(使用database_name)并执行它。1.现在试试丢弃命令。1.它按照我的问题工作。
student_fast
eyh26e7m2#
我遇到过一个非常类似的问题。请确保在移动数据库时架构没有更改。在我的例子中,所有的表和视图都被放置在一个带有databasename的模式中,所以这些表不是被称为table1,而是被称为database.table1。如上所述,这是显示此错误的原因之一。编辑:在看到注解后,他们建议同样的事情,在tablename之前使用schema,并且是的。如果dbo是您的schema,那么尝试编写dbo.tablename
oo7oh9g93#
我也遇到过同样的问题(SQL Server 2016)。这有点奇怪,但是当我使用本地Windows帐户(也Map到sa)通过Windows身份验证连接到SQL Server时,我得到了这个错误。当我使用用户名sa及其关联密码通过SQL Server身份验证连接到SQL Server时,我拥有所有权限,这个讨厌的错误消失了。
sa
gfttwv5a4#
如果应用程序/任何其他进程已连接到您尝试删除的数据库,则可能会收到该错误。请尝试先断开与数据库的连接,然后删除架构,这样应该可以正常工作。
t3irkdon5#
重新启动SQL Server对我很有效。但对于生产环境来说,这不是一个经济实惠的解决方案...
vpfxa7rd6#
错误:-“无法删除表'ProductDb',因为它不存在或您没有权限。”即使我面临同样的错误...然后我创建了相同的表具有相同的名称和相同的属性。然后更新数据库或刷新数据库它解决了我的错误。
nbysray57#
如果数据库中不存在表,那么我们可以从迁移代码中删除删除删除命令。因为它在数据库中查找表,而表不存在,所以它会给出错误。
gk7wooem8#
在您的情况下,检查如果您使删除视图语句两次,有时您删除视图在两个不同的地方,这将导致这个问题。
sq1bmfud9#
它已经发布多年了。我遇到了同样的情况。如果我运行如下:
Drop view [Schemaname.viewname]
它会有错误。如果我去掉[ ],作为
[ ]
Drop view Schemaname.viewname
很有效。不知道是什么原因。
9条答案
按热度按时间kadbb4591#
这个问题可以简单地解决,如果它只是发生,按照步骤:
1.查看您正在使用的数据库,例如,我正在使用数据库
student_fast
。1.在获得正在使用的数据库名称后,编写一个查询(使用database_name)并执行它。
1.现在试试丢弃命令。
1.它按照我的问题工作。
eyh26e7m2#
我遇到过一个非常类似的问题。请确保在移动数据库时架构没有更改。
在我的例子中,所有的表和视图都被放置在一个带有databasename的模式中,所以这些表不是被称为table1,而是被称为database.table1。
如上所述,这是显示此错误的原因之一。
编辑:在看到注解后,他们建议同样的事情,在tablename之前使用schema,并且是的。如果dbo是您的schema,那么尝试编写dbo.tablename
oo7oh9g93#
我也遇到过同样的问题(SQL Server 2016)。
这有点奇怪,但是当我使用本地Windows帐户(也Map到
sa
)通过Windows身份验证连接到SQL Server时,我得到了这个错误。当我使用用户名
sa
及其关联密码通过SQL Server身份验证连接到SQL Server时,我拥有所有权限,这个讨厌的错误消失了。gfttwv5a4#
如果应用程序/任何其他进程已连接到您尝试删除的数据库,则可能会收到该错误。请尝试先断开与数据库的连接,然后删除架构,这样应该可以正常工作。
t3irkdon5#
重新启动SQL Server对我很有效。但对于生产环境来说,这不是一个经济实惠的解决方案...
vpfxa7rd6#
错误:-“无法删除表'ProductDb',因为它不存在或您没有权限。”即使我面临同样的错误...然后我创建了相同的表具有相同的名称和相同的属性。然后更新数据库或刷新数据库它解决了我的错误。
nbysray57#
如果数据库中不存在表,那么我们可以从迁移代码中删除删除删除命令。因为它在数据库中查找表,而表不存在,所以它会给出错误。
gk7wooem8#
在您的情况下,检查如果您使删除视图语句两次,有时您删除视图在两个不同的地方,这将导致这个问题。
sq1bmfud9#
它已经发布多年了。我遇到了同样的情况。如果我运行如下:
它会有错误。
如果我去掉
[ ]
,作为很有效。不知道是什么原因。