[英]Permission to DROP Tables in SQL Server (T-SQL)
在SQL Server上运行以下DROP命令(T-SQL)时,将显示以下消息:
无法删除表'[dbo]。[TABELA]',因为该表不存在或您没有权限。
COMAND
EXEC sp_MSForEachTable 'DROP TABLE [?]'
但是,当我运行另一个T-SQL命令或基本的DROP表时,不会显示以上错误消息,并且该命令已正确执行。
DROP TABLE TABELA
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
以上两个命令均有效, EXEC sp_MSForEachTable 'DROP TABLE [?]'
需要权限的原因是什么? 以及如何授予此权限?
尝试不带括号。 它们似乎使引擎相信您要删除名为 [dbo].[tablea]
因为sp_MSForEachTable
在必要时已经引用了。 当然,不存在名为[dbo].[tablea]
的表。
EXEC sp_MSForEachTable 'DROP TABLE ?'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.