簡體   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