Condividi tramite


DROP SCHEMA (Transact-SQL)

Rimuove uno schema dal database.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

DROP SCHEMA schema_name

Argomenti

  • schema_name
    Nome con il quale è noto lo schema all'interno del database.

Osservazioni

Lo schema da rimuovere non deve contenere oggetti, in caso contrario l'istruzione DROP avrà esito negativo.

Le informazioni sugli schemi sono visibili nella vista del catalogo sys.schemas.

Attenzione   A partire da SQL Server 2005, il funzionamento degli schemi è stato modificato. È pertanto possibile che il codice in cui gli schemi vengono considerati equivalenti agli utenti del database non restituisca risultati corretti. Non utilizzare le viste del catalogo delle versioni precedenti, inclusa sysobjects, nei database in cui sia già stata utilizzata una delle istruzioni DDL seguenti: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. In tali database è invece necessario utilizzare le nuove viste del catalogo. Le nuove viste del catalogo prendono in considerazione la separazione tra entità e schemi introdotta in SQL Server 2005. Per ulteriori informazioni sulle viste del catalogo, vedere Viste del catalogo (Transact-SQL).

Autorizzazioni

È richiesta l'autorizzazione CONTROL per lo schema o l'autorizzazione ALTER ANY SCHEMA per il database.

Esempi

L'esempio seguente inizia con una singola istruzione CREATE SCHEMA. Tale istruzione crea lo schema Sprockets di proprietà di Krishna e la tabellaSprockets.NineProngs, quindi concede l'autorizzazione SELECT ad Anibal e nega l'autorizzazione SELECT a Hung-Fu.

USE AdventureWorks;
GO
CREATE SCHEMA Sprockets AUTHORIZATION Krishna 
    CREATE TABLE NineProngs (source int, cost int, partnumber int)
    GRANT SELECT TO Anibal 
    DENY SELECT TO Hung-Fu;
GO

Le istruzioni seguenti rimuovono lo schema. Si noti che è prima necessario rimuovere la tabella contenuta nello schema.

DROP TABLE Sprockets.NineProngs;
DROP SCHEMA Sprockets;
GO