Condividi tramite


Creazione e modifica di oggetti server e di database

Gli Oggetti di database definiscono la struttura del contenuto del database. Questi oggetti sono contenuti in un progetto di database il quale può inoltre includere piani di generazione dati e script. Gli oggetti server definiscono oggetti che esistono nel server database ma non in un database, ad esempio account di accesso, certificati o messaggi di errore personalizzati. Gli oggetti server sono contenuti in progetti server.

In Esplora soluzioni le definizioni degli oggetti server e di database si trovano in file e vengono raggruppate per tipo all'interno del progetto server o di database. Quando si utilizzano oggetti server e di database, può risultare più intuitivo utilizzare Visualizzazione schema, nella quale gli oggetti vengono raggruppati per tipo. I file nel progetto di database vengono analizzati per individuare la relativa definizione di oggetto di database se contrassegnati con Build Type Compilazione. I file contenuti nel progetto di database ma con Build Type differente non vengono considerati come contenenti oggetti di database e non sono inclusi in Visualizzazione schema.

Attività comuni

Nella tabella seguente sono disponibili descrizioni di attività comuni che supportano questo scenario e collegamenti a ulteriori informazioni su come è possibile completare correttamente tali attività.

Attività

Contenuto di supporto

Fare pratica: è possibile seguire le procedure dettagliate introduttive per acquisire familiarità con le modalità per creare un progetto di database e i relativi oggetti e per modificare tali oggetti.

Ulteriori informazioni su oggetti server e di database: più avanti in questo argomento sono disponibili ulteriori informazioni su oggetti server e di database, ad esempio sulle modalità di risoluzione dei nomi, sui riferimenti a nomi di database nelle definizioni degli oggetti e sulla convalida degli oggetti.

  • Definizioni degli oggetti

  • Oggetti in Esplora soluzioni e Visualizzazione schema

  • Risoluzione dei nomi degli oggetti

  • Riferimenti al nome del database nelle definizioni di oggetti

  • Opzioni SET a livello di oggetto

  • Convalida di oggetti

Informazioni sulle dipendenze tra oggetti di database: è possibile visualizzare gli oggetti da cui dipende un oggetto di database e gli oggetti che dipendono a loro volta da esso.

Aggiungere oggetti a un progetto server o di database: è possibile aggiungere oggetti a un progetto server o di database in diversi modi:

  • È possibile importare oggetti da uno script o da un server o database aggiornato.

  • È possibile creare oggetti nello schema predefinito o in un schema specifico.

  • È possibile aggiungere file che contengono definizioni di oggetto al progetto.

  • È possibile personalizzare le opzioni a livello di oggetto (note come opzioni SET) dopo avere aggiunto gli oggetti al progetto.

  • È possibile specificare autorizzazioni per gli oggetti di database.

Aggiungere oggetti specializzati al progetto server o di database: per aggiungere alcuni tipi di oggetto al progetto, è necessario eseguire una procedura lievemente diversa specifica del tipo di oggetto in questione.

  • È possibile definire opzioni di tabella e indice.

  • È possibile aggiungere un utente a un ruolo.

  • È possibile definire cataloghi full-text

  • È possibile definire filegroup e file.

Modificare oggetti server o di database: è possibile modificare le definizioni degli oggetti nel progetto server o di database. È inoltre possibile modificare le opzioni SET a livello di oggetto per tali oggetti.

Rimuovere oggetti dal progetto server o di database: è possibile eliminare oggetti dal progetto server o di database per rimuoverli in modo definitivo. È inoltre possibile escludere temporaneamente oggetti ancora in fase di sviluppo.

Personalizzare i modelli per gli oggetti server e di database: è possibile visualizzare e modificare i modelli utilizzati per creare oggetti server e di database.

Risolvere problemi: sono disponibili ulteriori informazioni su come risolvere problemi comuni relativi ai progetti server e di database.

Definizioni degli oggetti

Gli oggetti server e di database sono definiti in una raccolta di file con estensione sql archiviati in una cartella di progetto. La maggior parte degli oggetti sono definiti in file separati. Le eccezioni includono le colonne in una tabella e i parametri di una stored procedure o di una funzione. Le colonne sono specificate nel file che contiene la definizione della tabella, mentre i parametri nel file che contiene la stored procedure o la funzione.

La proprietà Operazione di compilazione per un file con estensione sql indica se il file viene analizzato per verificare se contiene la definizione di un oggetto di database. Per impostazione predefinita, i file che contengono definizioni di oggetti di database sono impostati su Compilazione mentre altri script sql e file vari sono impostati su Non incluso nella compilazione. La proprietà Operazione di compilazione determina inoltre se lo script di compilazione include il file.

Il nome di ogni oggetto determina il relativo nome di file mentre il tipo di oggetto ne determina l'estensione predefinita. Ad esempio, le funzioni sono in file denominati NomeOggetto.function.sql e le stored procedure in file denominati NomeOggetto.proc.sql.

Oggetti in Esplora soluzioni e Visualizzazione schema

In Esplora soluzioni è possibile utilizzare i file inclusi nel progetto contenenti le definizioni degli oggetti. Non è possibile utilizzare refactoring di ridenominazione in Esplora soluzioni. Esplora soluzioni viene utilizzato quando si desidera utilizzare i file, ad esempio per archiviare il progetto nel controllo della versione.

Visualizzazione schema consente invece di utilizzare gli oggetti di database. In Visualizzazione schema è possibile utilizzare gli oggetti e non i file che ne contengono le definizioni. Ad esempio, è possibile utilizzare Visualizzazione schema per creare oggetti di database.

Risoluzione dei nomi degli oggetti

In generale, i nomi degli oggetti devono essere risolti utilizzando le stesse regole adottate per SQL Server. Per alcuni sysobject potrebbe essere necessario un nome completo ai fini della corretta risoluzione. Se si verificano errori o si riscontrano comportamenti imprevisti in situazioni che coinvolgono nomi di oggetti non completi, è consigliabile utilizzare un nome di oggetto completo per tentare di risolvere il problema.

Riferimenti al nome del database nelle definizioni di oggetti

È possibile utilizzare il token $ (databasename) in uno script di definizione di oggetto in un progetto di database, tuttavia si applicano le limitazioni seguenti:

  • È necessario racchiudere il token tra parentesi quadre, come illustrato nell'esempio seguente:

    [$(databasename)]

  • Non è possibile utilizzare il token per specificare un nome a tre parti, come illustrato nell'esempio seguente:

    [$(databasename)].[dbo].[Table1]

Nell'esempio seguente viene illustrato come utilizzare il token del nome $(database) in una stored procedure:

CREATE PROCEDURE [dbo].[MyProcedure]
@param1 INT = 0,
@param2 INT
AS
ALTER DATABASE [$(databasename)]
MODIFY FILEGROUP [FileGroup1] DEFAULT
RETURN 0

Opzioni SET a livello di oggetto

Oltre alle opzioni SET che è possibile impostare per il progetto di database, è anche possibile specificare valori per due opzioni relative a singoli oggetti di database. Tali opzioni sono Null ANSI e Identificatore tra virgolette. Per impostazione predefinita, le opzioni SET per ogni oggetto corrispondono alle opzioni SETdel progetto di database. È possibile impostare queste due opzioni come predefinite del progetto, attivarle o disattivarle. Quando si compila il progetto di database, solo le opzioni SET a livello di oggetto impostate su un valore diverso dall'impostazione predefinita del progetto vengono inserite nello script di compilazione.

Nota

Quando si utilizzano i comandi Importa script o Importa schema database, i valori delle opzioni SET non vengono importati per i singoli oggetti del database. È necessario impostarli nella finestra Proprietà. Per ulteriori informazioni, vedere Procedura: specificare opzioni SET a livello di oggetto.

Convalida di oggetti

La convalida viene effettuata quando si salvano le modifiche in un oggetto di database nuovo o modificato. Eventuali errori nella definizione dell'oggetto vengono visualizzati nella finestra Elenco errori. Se si fa doppio clic sul messaggio di errore, verrà visualizzata la definizione dell'oggetto per consentire di correggere l'errore. Sulle icone degli oggetti di database che contengono errori è visualizzato un punto esclamativo rosso nella finestra Visualizzazione schema.

Nota

Se un oggetto di database non è supportato nella versione in uso, la relativa icona diventa un triangolo giallo inverso.

Per ulteriori informazioni su come risolvere i problemi relativi agli oggetti di database, vedere Risoluzione dei problemi relativi al progetto di database, alla compilazione e alla distribuzione.

Scenari correlati

Vedere anche

Concetti

Compilazione e distribuzione di database in un ambiente di produzione o gestione temporanea

Compilazione e distribuzione di database in un ambiente di sviluppo isolato

Ridenominazione di tutti i riferimenti a un oggetto di database

Scrittura e modifica del codice del database