Autorizzazioni necessarie per le funzionalità di database di Visual Studio
Prima di poter eseguire un'azione in un database in Visual Studio, è necessario accedere con un account provvisto di determinate autorizzazioni. Le autorizzazioni specifiche necessarie variano in base all'azione che si desidera eseguire. Nelle sezioni seguenti vengono descritte le azioni che è possibile eseguire e le autorizzazioni specifiche necessarie per eseguirle.
Autorizzazioni per creare o distribuire un database
Autorizzazioni per eseguire il refactoring di un database
Autorizzazioni per eseguire unit test in un database
Autorizzazioni per generare dati
Autorizzazioni per confrontare schemi e dati
Autorizzazioni per eseguire l'Editor T-SQL (Transact-SQL)
Autorizzazioni per progetti Common Language Runtime di SQL Server (CLR SQL)
Autorizzazioni per creare o distribuire un database
Per creare o distribuire un database è necessario disporre delle autorizzazioni riportate di seguito.
Azioni |
Autorizzazioni necessarie |
Importare oggetti di database e relative impostazioni |
È necessario avere la possibilità di connettersi al database di origine.
|
Importare oggetti server e relative impostazioni |
È necessario avere la possibilità di connettersi al database "master" nel server specificato.
|
Creare o aggiornare un progetto di database |
Non è necessario disporre di alcuna autorizzazione per database per creare o modificare un progetto di database. |
Distribuire un database nuovo o distribuire con l'opzione Ricrea sempre database impostata |
È necessario disporre dell'autorizzazione CREATE DATABASE oppure essere membro del ruolo dbcreator nel server di destinazione. Quando si crea un database, Visual Studio viene connesso al database modello di cui viene copiato il contenuto. Per l'accesso iniziale (ad esempio yourLogin), utilizzato per connettersi al database di destinazione, sono necessarie le autorizzazioni db_creator e CONNECT SQL. Questo accesso deve disporre di un utente che esegue il mapping sul database modello. Se si dispone delle autorizzazioni sysadmin, è possibile creare il mapping eseguendo le istruzioni Transact-SQL seguenti:
L'utente (in questo esempio yourUser) deve disporre delle autorizzazioni CONNECT e VIEW DEFINITION per il database modello. Se si dispone delle autorizzazioni sysadmin, è possibile concederle eseguendo le istruzioni Transact-SQL seguenti:
Se si distribuisce un database contenente vincoli senza nome e l'opzione CheckNewContraints è abilitata (è abilitata per impostazione predefinita), è necessario disporre dell'autorizzazione db_owner o sysadmin. In caso contrario la distribuzione non verrà eseguita. Questa regola è applicabile solo ai vincoli senza nome. Per ulteriori informazioni sull'opzione CheckNewConstraints, vedere Panoramica delle impostazioni del progetto di database. |
Distribuire aggiornamenti in un database esistente |
È necessario essere un utente di database valido. È inoltre necessario essere membro del ruolo db_ddladmin, proprietario dello schema oppure degli oggetti che si desidera creare o modificare nel database di destinazione. Per utilizzare concetti più avanzati come accessi o server collegati negli script pre-distribuzione o di post-distribuzione, sono necessarie autorizzazioni aggiuntive.
Importante
Se si esegue la distribuzione al database master, è necessario disporre anche dell'autorizzazione VIEW ANY DEFINITION per il server a cui si distribuisce.
|
Utilizzare un assembly con l'opzione EXTERNAL_ACCESS in un progetto di database |
È necessario impostare la proprietà TRUSTWORTHY per il progetto di database. È necessario disporre dell'autorizzazione EXTERNAL ACCESS ASSEMBLY per l'accesso a SQL Server. |
Distribuire assembly in un database nuovo o esistente |
È necessario essere membro del ruolo sysadmin nel server di distribuzione di destinazione. |
Per ulteriori informazioni, vedere la SQL Server 2005 Documentazione in linea o la SQL Server 2008 Documentazione in linea.
Autorizzazioni per eseguire il refactoring di un database
Il refactoring del database viene eseguito solo all'interno del progetto di database. È necessario disporre delle autorizzazioni per utilizzare il progetto di database. Non sono necessarie autorizzazioni in un database di destinazione, finché non si distribuiscono le modifiche in tale database.
Autorizzazioni per eseguire unit test in un database
Per eseguire unit test in un database, è necessario disporre delle autorizzazioni seguenti.
Azioni |
Autorizzazioni necessarie |
Eseguire un'azione di test |
È necessario utilizzare la connessione al database del contesto di esecuzione. Per ulteriori informazioni, vedere Cenni preliminari sulle stringhe di connessione e sulle autorizzazioni. |
Eseguire un'azione di pre-test o post-test |
È necessario utilizzare la connessione al database del contesto autorizzato. Questa connessione ha più autorizzazioni rispetto alla connessione del contesto di esecuzione. |
Eseguire script TestInitialize e TestCleanup |
È necessario utilizzare la connessione al database del contesto autorizzato. |
Distribuire le modifiche apportate al database prima di eseguire i test |
È necessario utilizzare la connessione al database del contesto autorizzato. Per ulteriori informazioni, vedere la classe Procedura: configurare l'esecuzione di unit test del database. |
Generare dati prima di eseguire i test |
È necessario utilizzare la connessione al database del contesto autorizzato. Per ulteriori informazioni, vedere Procedura: configurare l'esecuzione di unit test del database. |
Autorizzazioni per generare dati
Per generare dati di test tramite il generatore di dati, è necessario disporre delle autorizzazioni INSERT e SELECT per gli oggetti del database di destinazione. Se si eliminano dei dati prima di generarne altri, è necessario disporre anche delle autorizzazioni DELETE per gli oggetti del database di destinazione. Per reimpostare la colonna IDENTITY di una tabella, è necessario essere proprietari della tabella oppure membri del ruolo db_owner o db_ddladmin.
Autorizzazioni per confrontare schemi e dati
Per confrontare schemi e dati, è necessario disporre delle autorizzazioni seguenti.
Azioni |
Autorizzazioni necessarie |
Confrontare gli schemi di due database |
È necessario disporre delle autorizzazioni per importare oggetti e impostazioni dai database come descritto nella sezione Autorizzazioni per creare o distribuire un database. |
Confrontare gli schemi di un database e di un progetto di database |
È necessario disporre delle autorizzazioni per importare oggetti e impostazioni dal database come descritto nella sezione Autorizzazioni per creare o distribuire un database. Il progetto di database deve inoltre essere aperto in Visual Studio. |
Scrivere aggiornamenti in un database di destinazione |
È necessario disporre delle autorizzazioni per distribuire gli aggiornamenti al database di destinazione come descritto nella sezione Autorizzazioni per creare o distribuire un database. |
Confrontare i dati di due database |
Oltre alle autorizzazioni necessarie per confrontare gli schemi di due database, è necessaria l'autorizzazione SELECT per tutte le tabelle che si desidera confrontare. |
Per ulteriori informazioni, vedere queste pagine del sito Web Microsoft: Documentazione in linea o Documentazione in linea.
Autorizzazioni per eseguire l'editor Transact-SQL
Le azioni possibili all'interno dell'editor Transact-SQL sono determinate dal contesto di esecuzione nel database di destinazione.
Autorizzazioni per progetti Common Language Runtime di SQL Server (CLR SQL)
Nella tabella seguente sono elencate le autorizzazioni necessarie per distribuire o eseguire il debug di progetti CLR SQL:
Azioni |
Autorizzazioni necessarie |
---|---|
Eseguire la distribuzione (iniziale o incrementale) di un assembly del set di autorizzazioni sicuro |
|
Distribuire un assembly del set di autorizzazioni external_access |
È inoltre necessario disporre di quanto segue:
|
Distribuire un assembly del set di autorizzazioni non sicuro |
È inoltre necessario disporre di quanto segue:
|
Eseguire il debug remoto di un assembly CLR SQL |
È necessario disporre dell'autorizzazione del ruolo predefinito sysadmin. |
Importante |
---|
In tutti i casi, il proprietario dell'assembly deve essere l'utente utilizzato per distribuire l'assembly oppure il proprietario deve essere un ruolo di cui tale utente è un membro. Questo requisito si applica anche a qualsiasi assembly a cui fa riferimento l'assembly da distribuire. |
Vedere anche
Concetti
Creazione e gestione di database e applicazioni di livello dati in Visual Studio