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. |
|
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:
|
|
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.
|
|
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
Creazione e modifica di script di database
È possibile specificare script pre-distribuzione e post-distribuzione per eseguire azioni prima o dopo la distribuzione di un database. È ad esempio possibile utilizzare lo script di post-distribuzione per aggiungere dati di riferimento a una tabella di ricerca.Refactoring del codice e dei dati del database
È possibile utilizzare il refactoring del database per eliminare alcune attività ripetitive e facilmente soggette a errori, ad esempio la ridenominazione di tutti i riferimenti a un oggetto, la creazione di nomi completi, l'espansione di caratteri jolly o lo spostamento di un oggetto in un altro schema.Compilazione e distribuzione di database in un ambiente di sviluppo isolato
Dopo avere modificato gli oggetti nel progetto, compilare e distribuire le modifiche nell'ambiente di sviluppo isolato.Analisi del codice di database per migliorare la qualità del codice
È possibile analizzare il codice del database per trovare e correggere problemi comuni di progettazione, denominazione e prestazioni.Modifica degli oggetti e degli script di database con l'editor Transact-SQL (sito Web Microsoft)
È possibile utilizzare l'editor Transact-SQL per modificare script e definizioni di oggetti di database.
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