sql >> Databáze >  >> RDS >> Sqlserver

Můžeme zakázat odstranění z konkrétních tabulek?

Rozhodně!

DENY DELETE ON (YourTableNameHere) TO YourUserNameHere

Podívejte se na úžasné a rozsáhlé dokumenty MSDN Books Online pro více podrobností!

Pokud chcete zakázat DELETE oprávnění ke všem tabulky v databázi, můžete použít:

DENY DELETE TO YourUserNameHere

Nebo pokud jste svou databázi strukturovali tak, že tabulky jsou seskupeny do schémat , pak můžete uživateli také odepřít přístup z konkrétního schématu.

Pokud jste svých 90 tabulek neseskupili do samostatného schématu (nebo dvou, tří schémat), pak neexistuje žádný snadný, kouzelný způsob použít oprávnění k 90 tabulkám najednou. Jsou to buď všechny tabulky , konkrétní schéma nebo konkrétní databázový objekt (jako tabulka) podle DENY prohlášení.

Aktualizace: ke generování těchto DENY můžete vždy použít pohledy systémového katalogu a poté použijte ty, které potřebujete:

SELECT 
    'DENY DELETE ON ' + t.NAME + ' TO (youruser)'
FROM sys.tables t

To vytvoří jako výstup (např. v SQL Server Management Studio) seznam příkazů, které mají zakázat DELETE povolení od vašeho uživatele. Zkopírujte tyto řádky do textového editoru a odstraňte ty řádky, které nepotřebujete – a zde máte svůj dlouhý seznam DENY prohlášení!




  1. Nejjednodušší způsob, jak ověřit odkaz na e-mail PHP

  2. Funkce BITAND() v Oracle

  3. Zobrazit data na základě vybraného ID v modálním vyskakovacím okně po kliknutí na tlačítko php mysql

  4. Zabránit odvození vlastních podstatných jmen v PostgreSQL?