Confronto schema con MS Data Tools a VS2008
-
03-10-2019 - |
Domanda
Quando si esegue uno schema di confronto con i diritti db_owner sui risultati del database di destinazione il seguente errore:
L'utente non dispone dell'autorizzazione per eseguire questa azione.
Utilizzo di SQL Server Profiler ho capito questo errore si verifica l'esecuzione di una query mira la vista principale db:. [SYS] [dm_database_encryption_keys]
Mentre specificamente ignorando tutti i tipi di oggetti, ma Tabelle si potrebbe presumere l'SQL Confronto non ha bisogno di accesso alle chiavi di cifratura db. Anche nota:
http: //social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/c11a5f8a-b9cc-454f-ba77-e1c69141d64b/
Una soluzione sarebbe quella di concedere VIEW SERVER STATE per l'utente db, ma nel mio caso non mi ospita i servizi di database e non sarà possibile ottenere i diritti per lo stato del server.
Abbiamo anche provato escluso DatabaseEncryptionKey elemento nel file confrontare.
<PropertyElementName>
<Name>Microsoft.Data.Schema.Sql.SchemaModel.SqlServer.ISql100DatabaseEncryptionKey</Name>
<Value>ExcludedType</Value>
</PropertyElementName>
Chiunque ha una soluzione questo?
Stiamo utilizzando MS dati Strumenti Confronta di pubblicare da un progetto di database in un ambiente DCPA.
Soluzione
La soluzione unica di successo che ho trovato è quello di implementare lo schema per un database di sviluppo locale e poi fare il confronto schema utilizzando tale database locale come la fonte al posto del progetto di database.
L'errore viene ancora in questa situazione, ma il pulsante Write Updates
non è più disabili e gli aggiornamenti dello schema come previsto.
Altri suggerimenti
Perché non puoi provare altri strumenti di confronto (esterno) dello schema? Scopri SQL di Cancello rosso Confronta.
E 'necessario utilizzando strumenti di MS dati in VS 2008? Penso che si dovrebbe provare un tool esterni come questo:
Questa bellissima strumenti per il confronto dello schema del vostro DB. Inoltre è possibile generare script per sincronizzare lo schema.