SQL Server 2000 non ha integrato nessun meccanismo per prevenire l'eliminazione di una tabella. Questa situazione non è del tutto remota, un bug all'interno di uno scripts SQL, un collega troppo sicuro di sè, un click "allegro" su Enterprise Manager o Query Analyzer e voilà il gioco è fatto! Per evitare simili situazioni, ecco un semplice suggerimento su come proteggere una tabella da una DROP non prevista:
CREATE VIEW dbo.V_ProteggiAutori
WITH SCHEMABINDING
AS
SELECT COUNT(*) AS Count FROM dbo.Authors
GO
La creazione della vista V_ProteggiAutori con l'opzione WITH SCHEMABINDING implica la creazione di una dipenza diretta tra la vista e la sottostante tabella dbo.Authors a cui fa riferimento.
A questo punto l'eliminazione diretta della tabella Authors non è più possibile se non dopo aver eliminato la vista dbo.V_ProteggiAutori oppure dopo aver modificato la stessa rimuovendo l'opzione SCHEMABINDING.
Non rimane che ricorrere alla saggezza popolare: Uomo avvisato mezzo salvato!