Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Prima di poter eseguire un'azione su un database in Visual Studio, è necessario accedere con un account con determinate autorizzazioni per tale database. Le autorizzazioni specifiche necessarie variano in base all'azione che si desidera eseguire. Le sezioni seguenti descrivono ogni azione da eseguire e le autorizzazioni necessarie per eseguirla.
Autorizzazioni per creare o distribuire un database
Per creare o distribuire un database è necessario disporre delle autorizzazioni riportate di seguito.
| Action | Autorizzazioni necessarie |
|---|---|
| Importare oggetti di database e relative impostazioni | È necessario avere la possibilità di connettersi al database di origine. Se il database di origine è basato su SQL Server 2005, è necessario disporre anche dell'autorizzazione VIEW DEFINITION per ogni oggetto.Se il database di origine è basato su SQL Server 2008 o versione successiva, è necessario disporre anche dell'autorizzazione VIEW DEFINITION per ogni oggetto. L'account di accesso deve disporre dell'autorizzazione VIEW SERVER STATE (per le chiavi di crittografia del database). |
| Importare oggetti server e relative impostazioni | È necessario essere in grado di connettersi al database primario nel server specificato. Se il server esegue SQL Server 2005, è necessario disporre dell'autorizzazione VIEW ANY DEFINITION per il server.Se il database di origine si basa su SQL Server 2008 o versione successiva, è necessario disporre dell'autorizzazione VIEW ANY DEFINITION per il server. L'account di accesso deve disporre dell'autorizzazione VIEW SERVER STATE (per le chiavi di crittografia del database). |
| Creare o aggiornare un progetto di database | Non sono necessarie autorizzazioni di database per creare o modificare un progetto di database. |
| Distribuire un nuovo database o distribuire con l'opzione Ricrea sempre database impostata | È necessario disporre dell'autorizzazione CREATE DATABASE o essere un membro del ruolo dbcreator nel server di destinazione.Quando si crea un database, Visual Studio si connette al model database e ne copia il contenuto. L'account di accesso iniziale, ad esempio yourLogin, usato per connettersi al database di destinazione deve avere db_creator e CONNECT SQL autorizzazioni. Questo account di accesso deve avere un mapping utente nel model database. Se si dispone delle autorizzazioni sysadmin , è possibile creare il mapping eseguendo l'istruzione Transact-SQL seguente:USE [model] CREATE USER yourUser FROM LOGIN yourLogin.L'utente (in questo esempio, yourUser) deve avere CONNECT e VIEW DEFINITION autorizzazioni sul model database. Se si dispone di autorizzazioni sysadmin , è possibile concedere queste autorizzazioni eseguendo l'istruzione Transact-SQL seguente:USE [model] GRANT CONNECT to yourUser GRANT VIEW DEFINITION TO yourUser.Se si distribuisce un database contenente vincoli senza nome e l'opzione CheckNewConstraints è abilitata, è necessario disporre delle autorizzazioni db_owner o sysadmin, altrimenti la distribuzione non riesce. CheckNewConstraints è abilitato per impostazione predefinita. Questo requisito è vero solo per i vincoli senza nome. |
| Distribuire aggiornamenti in un database esistente | È necessario essere un utente di database valido. È anche necessario essere membro del ruolo db_ddladmin, proprietario dello schema oppure degli oggetti che si vogliono creare o modificare nel database di destinazione. Per utilizzare concetti più avanzati come account di accesso o server collegati negli script pre-distribuzione o post-distribuzione, sono necessarie autorizzazioni aggiuntive. Se si esegue la distribuzione nel database primario, è necessario disporre anche dell'autorizzazione VIEW ANY DEFINITION per il server in cui si esegue la distribuzione. |
Usare un assembly con l'opzione EXTERNAL_ACCESS in un progetto di database |
È necessario impostare la TRUSTWORTHY proprietà per il progetto di database. È necessario disporre dell'autorizzazione per il login EXTERNAL ACCESS ASSEMBLY di SQL Server. |
| Distribuire assembly in un database nuovo o esistente | È necessario essere membri del ruolo sysadmin nel server di distribuzione di destinazione. |
Autorizzazioni per il refactoring di un database
Il refactoring del database si verifica solo all'interno del progetto di database. È necessario disporre delle autorizzazioni per utilizzare il progetto di database. Non sono necessarie autorizzazioni per un database di destinazione finché non si distribuiscono le modifiche.
Autorizzazioni per eseguire unit test in un database di SQL Server
Per eseguire unit test in un database, è necessario disporre delle autorizzazioni seguenti.
| Action | Autorizzazioni necessarie |
|---|---|
| Eseguire un'azione di test | È necessario utilizzare la connessione al database del contesto di esecuzione. Per altre informazioni, vedere Panoramica delle stringhe di connessione e delle 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. |
Esegui gli 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 altre informazioni, vedere Procedura: Configurare l'esecuzione di unit test di SQL Server. |
| Generare dati prima di eseguire i test | È necessario utilizzare la connessione al database del contesto autorizzato. Per altre informazioni, vedere Procedura: Configurare l'esecuzione di unit test di SQL Server. |
Autorizzazioni per generare dati
Per generare dati di test tramite il Generatore di dati, è necessario disporre delle autorizzazioni INSERT e SELECT sugli oggetti nel database di destinazione. Se si eliminano dati prima di generare dati, è necessario disporre anche delle autorizzazioni DELETE per gli oggetti nel database di destinazione. Per reimpostare la IDENTITY colonna in una tabella, è necessario essere proprietari della tabella oppure essere membri del ruolo db_owner o db_ddladmin .
Autorizzazioni per confrontare schemi e dati
Per confrontare schemi o dati, è necessario disporre delle autorizzazioni seguenti.
| Action | Autorizzazioni necessarie |
|---|---|
| Confrontare gli schemi di due database | È necessario disporre delle autorizzazioni per importare oggetti e impostazioni dai database, come descritto in 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 in 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 nel database di destinazione, come descritto in 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 da confrontare. È necessaria anche l'autorizzazione VIEW DATABASE STATE . |
Autorizzazioni per eseguire l'editor Transact-SQL
Il contesto di esecuzione nel database di destinazione determina le operazioni che è possibile eseguire all'interno dell'editor di Transact-SQL.
Autorizzazioni per i progetti CLR di SQL Server
Nella tabella seguente sono elencate le autorizzazioni necessarie per distribuire o eseguire il debug di progetti CLR (Common Language Runtime).
| Action | Autorizzazioni necessarie |
|---|---|
| Distribuire (inizialmente o in modo incrementale) un assembly del set di autorizzazioni sicuro |
L'autorizzazione db_DDLAdmin concede CREATE e ALTER autorizzazioni per gli assembly e i tipi di oggetti distribuiti.L'autorizzazione a livello VIEW DEFINITION di database è necessaria per la distribuzione.L'autorizzazione a livello CONNECT di database concede la possibilità di connettersi al database. |
| Distribuire un set di autorizzazioni di assembly per l'accesso esterno |
L'autorizzazione db_DDLAdmin concede CREATE e ALTER autorizzazioni per gli assembly e i tipi di oggetto distribuiti.L'autorizzazione a livello VIEW DEFINITION di database è necessaria per la distribuzione.L'autorizzazione a livello CONNECT di database concede la possibilità di connettersi al database.È inoltre necessario impostare l'opzione TRUSTWORTHY di database su ON.L'account di accesso usato per distribuire deve disporre dell'autorizzazione del server di External Access Assembly. |
| Distribuire un assembly del set di autorizzazioni non sicuro |
L'autorizzazione db_DDLAdmin concede CREATE e ALTER autorizzazioni per gli assembly e i tipi di oggetto distribuiti.L'autorizzazione a livello VIEW DEFINITION di database è necessaria per la distribuzione.L'autorizzazione a livello CONNECT di database concede la possibilità di connettersi al database.È inoltre necessario impostare l'opzione TRUSTWORTHY di database su ON.L'account di accesso usato per la distribuzione deve disporre dell'autorizzazione Unsafe Assembly Server . |
| 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 che si sta utilizzando per distribuire l'assembly, oppure il proprietario deve essere un ruolo di cui tale utente è membro. Questo requisito si applica anche a qualsiasi assembly a cui fa riferimento l'assembly da distribuire.