繁体   English   中英

对SQL Server(T-SQL)中的DROP表的权限

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM