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.
L'operazione di pubblicazione di SqlPackage aggiorna in modo incrementale lo schema di un database di destinazione in modo che corrisponda alla struttura di un database di origine. La pubblicazione di un pacchetto di distribuzione contenente i dati utente per tutti o un subset di tabelle aggiorna i dati della tabella oltre allo schema. La distribuzione dei dati sovrascrive lo schema e i dati nelle tabelle esistenti del database di destinazione. La distribuzione dei dati non modificherà lo schema o i dati esistenti nel database di destinazione per le tabelle non incluse nel pacchetto di distribuzione. È possibile creare un nuovo database tramite l'azione di pubblicazione quando l'utente autenticato dispone delle autorizzazioni di creazione del database. Le autorizzazioni necessarie per l'azione di pubblicazione in un database esistente sono db_owner.
Annotazioni
Anche se Microsoft Entra ID è il nuovo nome per Azure Active Directory (Azure AD), per evitare l'interruzione degli ambienti esistenti, la denominazione Azure AD è tuttora mantenuta in alcuni elementi hardcoded, ad esempio campi dell'interfaccia utente, provider di connessioni, codici errore e cmdlet. All’interno di questo articolo i due nomi vengono utilizzati in modo intercambiabile.
Sintassi della riga di comando
SqlPackage avvia le azioni specificate usando i parametri, le proprietà e le variabili SQLCMD indicati nella riga di comando.
SqlPackage /Action:Publish {parameters} {properties} {sqlcmd variables}
Annotazioni
Quando viene estratto un database con credenziali utente di autenticazione SQL, la password viene sostituita con una password diversa di complessità appropriata. Si presuppone che dopo la pubblicazione del file dacpac la password utente venga modificata.
Esempi
# example publish from Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Persist Security Info=False;User ID=sqladmin;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# example publish using short form parameter names, skips schema validation
SqlPackage /a:Publish /tsn:"{yourserver}.database.windows.net,1433" /tdn:"AdventureWorksLT" /tu:"sqladmin" \
/tp:"{your_password}" /sf:"C:\AdventureWorksLT.dacpac" /p:VerifyDeployment=False
# example publish using Microsoft Entra managed identity
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# example publish connecting using Microsoft Entra username and password
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;User ID={yourusername};Password={yourpassword}"
# example publish connecting using Microsoft Entra universal authentication
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" /UniversalAuthentication:True \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# example publish with 2 SQLCMD variables
# as seen in a post deployment script for user passwords
# https://github.com/Azure-Samples/app-sql-devops-demo-project/blob/main/sql/wwi-dw-ssdt/PostDeploymentScripts/AddUsers.sql
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Persist Security Info=False;User ID=sqladmin;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" \
/v:ETLUserPassword="asecurestringaddedhere" /v:AppUserPassword="asecurestringaddedhere"
# example publish connecting using an access token associated with a service principal
$Account = Connect-AzAccount -ServicePrincipal -Tenant $Tenant -Credential $Credential
$AccessToken_Object = (Get-AzAccessToken -Account $Account -Resource "https://database.windows.net/")
$AccessToken = $AccessToken_Object.Token
SqlPackage /at:$AccessToken /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# OR
SqlPackage /at:$($AccessToken_Object.Token) /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Parametri per l'azione Pubblica
Parametro | Forma breve | Valore | Descrizione |
---|---|---|---|
/AccessToken: | /a: | {string} | Specifica il token di accesso per l'autenticazione basata su token da usare per la connessione al database di destinazione. |
/Azione: | /un: | Pubblicare | Specifica l'azione da eseguire. |
/AzureCloudConfig: | /Acc: | {string} | Specifica gli endpoint personalizzati per la connessione a Microsoft Entra ID nel formato: AzureActiveDirectoryAuthority={value};DatabaseServicePrincipalName={value}". |
/AzureKeyVaultAuthMethod: | /akv: | {Interactive|ClientIdSecret} | Specifica il metodo di autenticazione usato per l'accesso ad Azure KeyVault se un'operazione di pubblicazione include modifiche a una tabella/colonna crittografata. |
/ClientId: | /Cid: | {string} | Specifica l'ID client da usare per l'autenticazione in Azure KeyVault, se necessario |
/DeployReportPath: | /Drp: | {string} | Specifica un percorso file facoltativo in cui restituire come output il file XML del report di distribuzione. |
/DeployScriptPath: | /Dsp: | {string} | Specifica un percorso file facoltativo in cui restituire come output lo script di distribuzione. Per una distribuzione di Azure, se sono disponibili comandi Transact-SQL per creare o modificare il database master, verrà scritto uno script nello stesso percorso, ma con "Filename_Master.sql" come nome del file di output. |
/Diagnostica: | /d: | {Vero|Falso} | Specifica se la registrazione diagnostica viene visualizzata nella console. Il valore predefinito è False. |
/DiagnosticsFile: | /Df: | {string} | Specifica un file per archiviare i log di diagnostica. |
/DiagnosticsLevel: | /Dl | {Nessuno|Disattivato|Critico|Errore|Avviso|Informazioni|Dettagliato} | Specifica i livelli dei messaggi di traccia filtrati nel file di diagnostica |
/DiagnosticsPackageFile: | /dpf | {string} | Specifica un file in cui archiviare il pacchetto di diagnostica. |
/MaxParallelism: | /Mp: | {int} | Specifica il grado di parallelismo per le operazioni simultanee in esecuzione su un database. Il valore predefinito è 8. |
/ModelFilePath: | /mfp: | {string} | Specifica il percorso del file per eseguire la sostituzione di model.xml nel file di origine. L'uso di questa impostazione può causare un errore di distribuzione e/o una perdita di dati imprevista. Questa impostazione è destinata all'uso solo per la risoluzione dei problemi relativi alla pubblicazione, all'importazione o alla generazione di script. |
/OverwriteFiles: | /di: | {Vero|Falso} | Specifica se SqlPackage deve sovrascrivere i file esistenti. Se si specifica False e viene rilevato un file esistente, SqlPackage interrompe l'azione. Il valore predefinito è True. |
/Profilo: | /Pr: | {string} | Specifica il percorso del file per un profilo di pubblicazione DAC. Il profilo definisce una raccolta di proprietà e variabili da usare durante la generazione di output. |
/Proprietà: | /p: | {NomeProprietà}={Valore} | Specifica una coppia nome/valore per una proprietà specifica dell'azione; {PropertyName}={Value}. |
/Silenzioso: | /q: | {Vero|Falso} | Specifica se il feedback dettagliato è soppresso. Il valore predefinito è False. |
/ReferencePaths: | /Rp: | {NomeProprietà}={Valore} | Specifica le directory aggiuntive in cui cercare i riferimenti con estensione dacpac. |
/Segreto: | /secr: | {string} | Specifica il segreto client da usare per l'autenticazione con Azure KeyVault, quando necessario |
/SourceFile: | /Sf: | {string} | Specifica un file di origine da utilizzare come origine dell'azione anziché come database dall'archiviazione locale. Se si utilizza questo parametro, non sarà valido alcun altro parametro di origine. |
/SourceConnectionString: | /Scs: | {string} | Specifica una stringa di connessione valida di SQL Server o Azure al database di origine. Se si specifica questo parametro, verrà utilizzato esclusivamente rispetto a tutti gli altri parametri di origine. |
/SourceDatabaseName: | /Sdn: | {string} | Definisce il nome del database di origine. |
/SourceEncryptConnection: | /secondo: | {Opzionale|Obbligatorio|Rigoroso|Vero|Falso} | Specifica se la crittografia SQL deve essere utilizzata per la connessione al database di origine. Il valore predefinito è True. |
/SourceHostNameInCertificate: | /shnic: | {string} | Specifica il valore usato per convalidare il certificato TLS/SSL di SQL Server di origine quando il livello di comunicazione viene crittografato tramite TLS. |
/SourcePassword: | /Sp: | {string} | Per gli scenari di autenticazione di SQL Server, definisce la password da usare per accedere al database di origine. |
/SourceServerName: | /Ssn: | {string} | Definisce il nome del server che ospita il database di origine. |
/SourceTimeout: | /San: | {int} | Specifica il timeout per stabilire una connessione al database di origine in pochi secondi. |
/SourceTrustServerCertificate: | /stsc: | {Vero|Falso} | Specifica se usare TLS per crittografare la connessione al database di origine e ignorare la catena di certificati per convalidare l'attendibilità. Il valore predefinito è False. |
/SourceUser: | /su: | {string} | Per gli scenari di autenticazione di SQL Server, definisce l'utente di SQL Server da usare per accedere al database di origine. |
/TargetConnectionString: | /Tcs: | {string} | Specifica una stringa di connessione valida di SQL Server o Azure al database di destinazione. Se questo parametro viene specificato, deve essere usato esclusivamente per tutti gli altri parametri di destinazione. |
/TargetDatabaseName: | /tdn: | {string} | Specifica un override per il nome del database di destinazione dell'azione SqlPackage. |
/TargetEncryptConnection: | /Tec: | {Opzionale|Obbligatorio|Rigoroso|Vero|Falso} | Specifica se la crittografia SQL deve essere utilizzata per la connessione al database di destinazione. Il valore predefinito è True. |
/TargetHostNameInCertificate: | /etnico: | {string} | Specifica il valore usato per convalidare il certificato TLS/SSL di SQL Server di destinazione quando il livello di comunicazione viene crittografato tramite TLS. |
/TargetPassword: | /carta igienica: | {string} | Per gli scenari di autenticazione di SQL Server, definisce la password da usare per accedere al database di destinazione. |
/TargetServerName: | /tsn: | {string} | Definisce il nome del server che ospita il database di destinazione. |
/TargetTimeout: | /Tt: | {int} | Specifica il timeout in secondi per stabilire una connessione al database di destinazione. Per Microsoft Entra ID, è consigliabile che questo valore sia maggiore o uguale a 30 secondi. |
/TargetTrustServerCertificate: | /ttsc: | {Vero|Falso} | Specifica se usare TLS per crittografare la connessione al database di destinazione e aggirare la verifica della catena di certificati per convalidare l'attendibilità. Il valore predefinito è False. |
/TargetUser: | /tu: | {string} | Per gli scenari di autenticazione di SQL Server, definisce l'utente di SQL Server da usare per accedere al database di destinazione. |
/TenantId: | /Tid: | {string} | Rappresenta l'ID tenant o il nome di dominio di Microsoft Entra. Questa opzione è necessaria per supportare gli utenti guest o importati di Microsoft Entra, nonché gli account Microsoft, ad esempio outlook.com, hotmail.com o live.com. Se questo parametro viene omesso, verrà usato l'ID tenant predefinito per Microsoft Entra ID, presupponendo che l'utente autenticato sia un utente nativo per questo tenant. Tuttavia, in questo caso, gli utenti guest o importati e/o gli account Microsoft ospitati in questo ID Microsoft Entra non sono supportati e l'operazione avrà esito negativo. Per ulteriori informazioni, vedere l'autenticazione universale con il database SQL e Azure Synapse Analytics (supporto SSMS per MFA). |
/ThreadMaxStackSize: | /tmss: | {int} | Specifica le dimensioni massime in megabyte per il thread che esegue l'azione di SqlPackage. Questa opzione deve essere usata solo in presenza di eccezioni di stack overflow che si verificano durante l'analisi di istruzioni Transact-SQL molto grandi. |
/UniversalAuthentication: | /Ua: | {Vero|Falso} | Specifica se deve essere usata l'autenticazione universale. Se impostato su True, il protocollo di autenticazione interattiva viene attivato per supportare l'autenticazione a più fattori. Questa opzione può essere usata anche per l'autenticazione di Microsoft Entra senza MFA, usando un protocollo interattivo che richiede all'utente di immettere il nome utente e la password o l'autenticazione integrata (credenziali di Windows). Se /UniversalAuthentication è impostato su True, non è possibile specificare l'autenticazione di Microsoft Entra in SourceConnectionString (/scs). Se /UniversalAuthentication è impostato su False, l'autenticazione di Microsoft Entra deve essere specificata in SourceConnectionString (/scs). Per altre informazioni sull'autenticazione universale di Active Directory, vedere Autenticazione universale con il database SQL e Azure Synapse Analytics (supporto SSMS per MFA). |
/Variabili: | /v: | {NomeProprietà}={Valore} | Specifica una coppia nome/valore per una variabile specifica dell'azione: {NomeVariabile}={Valore}. Il file DACPAC contiene l'elenco di variabili SQLCMD valide. Viene generato un errore se non viene fornito un valore per ogni variabile. |
Proprietà specifiche dell'azione Pubblica
Proprietà | Valore | Descrizione |
---|---|---|
/p: | ArgomentiAggiuntiviDelContibutoreDiDistribuzione=(STRING) | Specifica argomenti aggiuntivi per i contributori alla distribuzione. Questa proprietà deve essere un elenco di valori separati da punti e virgola. |
/p: | PercorsiCreatoriDiDistribuzioneAddizionali=(STRING) | Specifica i percorsi per caricare contributori di implementazione aggiuntivi. Questa proprietà deve essere un elenco di valori separati da punti e virgola. |
/p: | AdditionalDeploymentContributors=(STRING) | Specifica contributori aggiuntivi alla distribuzione da eseguire durante la distribuzione del dacpac. Questa proprietà deve essere un elenco delimitato da punti e virgola di nomi o ID di collaboratori di compilazione qualificati completamente. |
/p: | AllowDropBlockingAssemblies=(BOOLEAN 'False') | Questa proprietà viene utilizzata dalla distribuzione in SqlClr per comportare l'eliminazione di eventuali assembly che bloccano come parte del piano di distribuzione. Per impostazione predefinita, tutti gli assembly di blocco o di riferimento bloccheranno l'aggiornamento di un assembly se l'assembly di riferimento deve essere eliminato. |
/p: | AllowExternalLanguagePaths=(BOOLEAN 'Falso') | Consente di usare percorsi di file, se disponibili, per generare istruzioni di linguaggi esterni. |
/p: | AllowExternalLibraryPaths=(BOOLEAN 'Falso') | Consente di usare percorsi di file, se disponibili, per generare istruzioni di librerie esterne. |
/p: | AllowIncompatiblePlatform=(BOOLEAN 'Falso') | Specifica se tentare l'azione indipendentemente dalle piattaforme SQL Server incompatibili. |
/p: | AllowTableRecreation=(BOOLEAN 'True') | Specifica se consentire, qualora necessario, la ricreazione della tabella durante la distribuzione per eseguire la modifica dello schema. La ricostruzione della tabella ricompila la tabella mantenendo i dati, ma può avere un impatto significativo sulle prestazioni. |
/p: | AllowUnsafeRowLevelSecurityDataMovement = (BOOLEAN 'Falso') | Non bloccare il movimento dei dati in una tabella con sicurezza a livello di riga se questa proprietà è impostata su true. Il valore predefinito è false. |
/p: | AzureSharedAccessSignatureToken = (STRING) | Token di firma di accesso condiviso di Azure Vedere SqlPackage per Azure Synapse Analytics e SqlPackage con dati nei file Parquet. |
/p: | AzureStorageBlobEndpoint=(STRING) | Endpoint di Azure Blob Storage, vedere SqlPackage per Azure Synapse Analytics e SqlPackage con i dati nei file Parquet. |
/p: | AzureStorageContainer=(STRING) | contenitore di archiviazione blob di Azure, vedere SqlPackage per Azure Synapse Analytics e SqlPackage con dati nei file Parquet. |
/p: | ChiaveDiArchiviazioneAzure=(STRING) | Chiave dell'account di archiviazione di Azure: vedere SqlPackage per Azure Synapse Analytics e SqlPackage con dati nei file Parquet. |
/p: | AzureStorageRootPath=(STRING) | Percorso principale di archiviazione all'interno del contenitore. Senza questa proprietà, per impostazione predefinita il percorso è servername/databasename/timestamp/ . Vedere SqlPackage per Azure Synapse Analytics e SqlPackage con dati nei file Parquet. |
/p: | BackupDatabaseBeforeChanges=(BOOLEAN 'False') | Esegue il backup del database prima di distribuire le modifiche. Questa proprietà non è applicabile al database SQL di Azure. |
/p: | BloccaSuPossibilePerditaDati=(BOOLEAN 'True') | Specifica che l'operazione verrà terminata durante il passaggio di convalida dello schema se le modifiche dello schema risultanti potrebbero causare una perdita di dati, inclusa la riduzione della precisione dei dati o una modifica del tipo di dati che richiede un'operazione di cast. Il valore predefinito (True ) determina l'interruzione dell'operazione indipendentemente dal fatto che il database di destinazione contenga dati. Un'esecuzione con un valore False per BlockOnPossibleDataLoss può comunque non riuscire durante l'esecuzione del piano di distribuzione se sono presenti dati nella destinazione che non possono essere convertiti nel nuovo tipo di colonna. |
/p: | BloccaQuandoDerivaRilevata=(BOOLEAN 'Vero') | Specifica se bloccare l'aggiornamento di un database il cui schema non corrisponde più alla relativa registrazione o di cui è stata annullata la registrazione. |
/p: | CommandTimeout=(INT32 '60') | Specifica il timeout del comando in secondi durante l'esecuzione di query su SQL Server. |
/p: | CommentOutSetVarDeclarations=(BOOLEAN 'Falso') | Specifica se le dichiarazioni delle variabili SETVAR devono essere commentate nello script di pubblicazione generato. È possibile scegliere di eseguire questa operazione se si prevede di specificare i valori nella riga di comando quando si pubblica usando uno strumento come SQLCMD.EXE. |
/p: | CompareUsingTargetCollation=(BOOLEAN 'Falso') | Questa impostazione determina come vengono gestite le regole di confronto del database durante la distribuzione; per impostazione predefinita, le regole di confronto del database di destinazione verranno aggiornate se non corrispondono alle regole di confronto specificate dall'origine. Quando questa opzione è impostata, è necessario usare le regole di confronto del database di destinazione (o del server). |
/p: | CreateNewDatabase=(BOOLEAN 'Falso') | Specifica se il database di destinazione deve essere aggiornato o se deve essere eliminato e ricreato durante la pubblicazione in un database. |
/p: | DatabaseEdition=({ Basic | Standard | Premium | DataWarehouse | Utilizzo generico | BusinessCritical | Hyperscale | Default } 'Default') | Definisce l'edizione di un database SQL di Azure. Vedere Livelli di servizio del database SQL di Azure. |
/p: | DatabaseLockTimeout=(INT32 '60') | Specifica il timeout di blocco del database in secondi durante l'esecuzione di query su SQLServer. Usare -1 per attendere per un periodo illimitato. |
/p: | DatabaseMaximumSize=(INT32 '0') | Definisce le dimensioni massime in GB di un database SQL di Azure. |
/p: | ObjectiveDelServizioDatabase=(STRING) | Definisce il livello di prestazioni di un database SQL di Azure, ad esempio "P0" o "S1". |
/p: | DistribuisciDatabaseInModalitàSingoloUtente=(BOOLEAN 'False') | Se true, il database è impostato sulla modalità utente singolo prima della distribuzione. |
/p: | DisableAndReenableDdlTriggers=(BOOLEAN 'Vero') | Specifica se disabilitare i trigger DDL (Data Definition Language) all'inizio del processo di pubblicazione e riabilitarli alla fine dell'azione di pubblicazione. |
/p: | DisableIndexesForDataPhase=(BOOLEAN 'True') | Disabilitare gli indici prima di importare i dati in SQL Server. |
/p: | DisableParallelismForEnablingIndexes=(BOOLEAN 'Falso') | Il parallelismo non verrà usato quando si ricompilano gli indici durante l'importazione di dati in SQL Server. |
/p: | DoNotAlterChangeDataCaptureObjects=(BOOLEAN 'True') | Se true, gli oggetti Change Data Capture non vengono modificati. |
/p: | DoNotAlterReplicatedObjects=(BOOLEAN 'True') - Non alterare gli oggetti replicati=(BOOLEAN 'True') | Specifica se gli oggetti replicati vengono identificati durante la verifica. |
/p: | DoNotDropDatabaseWorkloadGroups=(BOOLEAN 'Falso') | Se false, i gruppi di carico di lavoro del database nel database di destinazione non definiti nell'origine verranno eliminati durante la distribuzione. |
/p: | DoNotDropObjectType=(STRING) | Tipo di oggetto che non deve essere rimosso quando DropObjectsNotInSource è True. I nomi di tipi di oggetto validi sono: Aggregates, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Contracts, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Defaults, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Logins, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, ExternalStreams, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages. Questa proprietà può essere specificata più volte per indicare più opzioni. |
/p: | DoNotDropObjectTypes=(STRING) | Elenco delimitato da punto e virgola di tipi di oggetto che non devono essere eliminati quando DropObjectsNotInSource è true. I nomi di tipi di oggetto validi sono: Aggregates, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Contracts, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Defaults, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Logins, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, ExternalStreams, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages. |
/p: | DoNotDropWorkloadClassifiers=(booleano 'Falso') | Se è false, l'oggetto WorkloadClassifiers presente nel database di destinazione che non è definito nel database di origine verrà eliminato durante la distribuzione. |
/p: | DoNotEvaluateSqlCmdVariables=(BOOLEANO 'Vero') | Specifica se le variabili SQLCMD non devono essere sostituite con valori |
/p: | DropConstraintsNotInSource=(BOOLEAN 'Vero') | Specifica se i vincoli che non esistono nel file snapshot del database (con estensione dacpac) verranno eliminati dal database di destinazione quando si esegue la pubblicazione in un database. |
/p: | DropDmlTriggersNotInSource=(BOOLEAN 'Vero') | Specifica se i trigger DML che non esistono nel file di snapshot del database (.dacpac) verranno eliminati dal database di destinazione quando pubblichi su un database. |
/p: | EliminaProprietàEsteseNonNellaSorgente=(BOOLEAN 'True') | Specifica se le proprietà estese che non esistono nel file snapshot del database (con estensione dacpac) verranno eliminate dal database di destinazione quando si esegue la pubblicazione in un database. |
/p: | DropIndexesNotInSource=(BOOLEAN 'Vero') | Specifica se gli indici che non esistono nel file di snapshot del database (con estensione dacpac) verranno eliminati dal database di destinazione quando si esegue la pubblicazione in un database. |
/p: | DropObjectsNotInSource=(BOOLEAN 'False') | Specifica se gli oggetti che non esistono nel file snapshot del database (con estensione dacpac) verranno eliminati dal database di destinazione quando si esegue la pubblicazione in un database. Questo valore ha la precedenza su DropExtendedProperties. |
/p: | DropPermessiNonNellaSorgente=(BOOLEAN 'False') | Specifica se le autorizzazioni che non esistono nel file snapshot del database (con estensione dacpac) verranno eliminate dal database di destinazione quando si pubblicano gli aggiornamenti in un database. |
/p: | DropRoleMembersNotInSource=(BOOLEAN 'False') | Specifica se i membri del ruolo che non sono definiti nel file con estensione .dacpac dello snapshot di database verranno eliminati dal database di destinazione quando si pubblicano gli aggiornamenti in un database. |
/p: | DropStatisticsNotInSource=(BOOLEAN 'Vero') | Specifica se le statistiche che non esistono nel file snapshot del database (con estensione dacpac) verranno eliminate dal database di destinazione durante la pubblicazione in un database. |
/p: | EnclaveAttestationProtocol=(STRING) | Specifica un protocollo di attestazione da usare con la funzionalità Always Encrypted basata su enclave. |
/p: | EnclaveAttestationUrl=(STRING) | Specifica l'URL di attestazione dell'enclave (un endpoint del servizio di attestazione) da usare con la funzionalità Always Encrypted basata su enclave. |
/p: | ExcludeObjectType=(STRING) | Tipo di oggetto che deve essere ignorato durante la distribuzione. I nomi di tipi di oggetto validi sono: Aggregates, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Contracts, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Defaults, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Logins, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, ExternalStreams, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages. Questa proprietà può essere specificata più volte per indicare più opzioni. |
/p: | ExcludeObjectTypes=(STRING) | Elenco delimitato da punto e virgola di tipi di oggetto che devono essere ignorati durante la distribuzione. I nomi di tipi di oggetto validi sono: Aggregates, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Contracts, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Defaults, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Logins, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, ExternalStreams, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages. |
/p: | GeneraValoriPredefinitiIntelligenti=(BOOLEAN 'False') | Fornisce automaticamente un valore predefinito quando si aggiorna una tabella contenente dati con una colonna che non consente valori Null. |
/p: | HashObjectNamesInLogs=(BOOLEAN 'Falso') | Specifica se sostituire tutti i nomi degli oggetti nei log con un valore hash casuale. |
/p: | IgnoreAnsiNulls=(BOOLEAN 'Vero') | Specifica se le differenze nell'impostazione ANSI NULLS devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreAuthorizer=(BOOLEAN 'False') | Specifica se le differenze nell'autorizzatore devono essere ignorate o aggiornate quando si pubblica su un database. |
/p: | IgnoreColumnCollation=(BOOLEAN 'Falso') | Specifica se le differenze nelle regole di confronto delle colonne devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreColumnOrder=(BOOLEAN 'False') | Specifica se le differenze nell'ordine delle colonne della tabella devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreComments=(BOOLEAN 'Falso') | Specifica se le differenze nei commenti devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoreCryptographicProviderFilePath=(BOOLEAN 'Vero') | Specifica se le differenze nel percorso del file per il provider di crittografia devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoraGruppiDipendenzaDatabase=(BOOLEAN 'False') | Specifica se escludere i gruppi di carico di lavoro presenti nella destinazione durante la distribuzione. Non verranno aggiunti, modificati o eliminati gruppi di carico di lavoro del database. |
/p: | IgnoreDdlTriggerOrder=(BOOLEAN 'False') | Specifica se le differenze nell'ordine dei trigger DDL (Data Definition Language) devono essere ignorate o aggiornate durante la pubblicazione in un database o in un server. |
/p: | IgnoreDdlTriggerState=(BOOLEANO 'Falso') | Specifica se le differenze nello stato abilitato o disabilitato dei trigger Data Definition Language (DDL) devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoreDefaultSchema=(BOOLEAN 'Falso') | Specifica se le differenze nell'opzione DEFAULT_SCHEMA per gli utenti e i ruoli applicazione devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreDmlTriggerOrder=(BOOLEAN 'False') | Specifica se le differenze nell'ordine dei trigger DML (Data Manipulation Language) devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreDmlTriggerState=(BOOLEAN 'False') | Specifica se le differenze nello stato abilitato o disabilitato dei trigger DML devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoraProprietàEstese=(BOOLEAN 'False') | Specifica se le differenze nelle proprietà estese devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoreFileAndLogFilePath=(BOOLEAN 'Vero') | Specifica se le differenze nei percorsi dei file e dei file di log devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreFilegroupPlacement=(BOOLEAN 'Vero') | Specifica se le differenze nella posizione degli oggetti in FILEGROUPs devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoraDimensioneFile=(BOOLEAN 'Vero') | Specifica se le differenze nelle dimensioni dei file devono essere ignorate o se deve essere generato un avviso durante la pubblicazione in un database. |
/p: | IgnoreFillFactor=(BOOLEAN 'Vero') | Specifica se le differenze nel fattore di riempimento per l'archiviazione dell'indice devono essere ignorate o se deve essere generato un avviso durante la pubblicazione in un database. |
/p: | IgnoraPercorsoFileCatalogoTestoCompleto=(BOOLEAN 'True') | Specifica se le differenze nel percorso del file per il catalogo full-text devono essere ignorate o se deve essere generato un avviso durante la pubblicazione in un database. |
/p: | IgnoreIdentitySeed=(BOOLEAN 'Falso') | Specifica se le differenze nel valore seed per una colonna Identity devono essere ignorate o aggiornate quando si pubblicano gli aggiornamenti in un database. |
/p: | IgnoreIncrement=(BOOLEAN 'Falso') | Specifica se le differenze nell'incremento di una colonna Identity devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreIndexOptions=(BOOLEAN 'Falso') | Specifica se le differenze nelle opzioni di indice devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreIndexPadding=(BOOLEAN 'Vero') | Specifica se le differenze nella spaziatura interna dell'indice devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreKeywordCasing=(BOOLEAN 'Vero') | Specifica se le differenze nelle maiuscole e nelle minuscole delle parole chiave devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoraSuggerimentiDiBloccoSugliIndici=(BOOLEAN 'False') | Specifica se le differenze negli hint di blocco sugli indici devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoraLoginSID=(BOOLEAN 'Vero') | Specifica se le differenze nell'ID di sicurezza (SID) devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoreNonPerReplicazione=(BOOLEAN 'False') | Specifica se le impostazioni 'non per la replica' devono essere ignorate o aggiornate quando si pubblica su un database. |
/p: | IgnoreObjectPlacementOnPartitionScheme=(BOOLEAN 'True') | Specifica se il posizionamento di un oggetto in uno schema di partizione deve essere ignorato o aggiornato durante la pubblicazione in un database. |
/p: | IgnoraSchemiDiPartizione=(BOOLEAN 'False') | Specifica se le differenze negli schemi di partizione e nelle funzioni devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoraPermessi=(BOOLEAN 'Falso') | Specifica se le differenze nelle autorizzazioni devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoreQuotedIdentifiers=(BOOLEAN 'Vero') | Specifica se le differenze nell'impostazione degli identificatori tra virgolette devono essere ignorate o aggiornate durante la pubblicazione su un database. |
/p: | IgnoreRoleMembership=(BOOLEAN 'False') | Specifica se le differenze nell'appartenenza al ruolo degli account di accesso devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreRouteLifetime=(BOOLEAN 'Vero') | Specifica se le differenze nel tempo di conservazione in SQL Server della route nella tabella di routing devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoreSemicolonBetweenStatements=(BOOLEAN 'Vero') | Specifica se le differenze nei punti e virgola tra le istruzioni T-SQL verranno ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoraClassificazioniSensibilità=(BOOLEAN 'Falso') | Specifica se le classificazioni di riservatezza dei dati nelle colonne devono essere ignorate durante il confronto dei modelli di schema. Questo funziona solo per le classificazioni aggiunte con la sintassi ADD SENSITIVITY CLASSIFICATION introdotta in SQL 2019. |
/p: | OpzioniIgnoraTabella=(BOOLEAN 'False') | Specifica se le differenze nelle opzioni di tabella devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoreTablePartitionOptions=(BOOLEAN 'Falso') | Specifica se le differenze nelle opzioni di partizione della tabella verranno ignorate o aggiornate durante la pubblicazione in un database. Questa opzione si applica solo ai database del pool SQL dedicato di Azure Synapse Analytics. |
/p: | IgnoraImpostazioniUtenteOggetti=(BOOLEANO 'Falso') | Specifica se le differenze negli oggetti impostazioni utente verranno ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoreWhitespace=(BOOLEAN 'Vero') | Specifica se le differenze nello spazio vuoto verranno ignorate o aggiornate durante la pubblicazione in un database. |
/p: | IgnoraConNessunControlloSuVincoliDiVerifica=(BOOLEAN 'Falso') | Specifica se, durante la pubblicazione, si debba ignorare o aggiornare le differenze nel valore della clausola WITH NOCHECK per i vincoli CHECK. |
/p: | IgnoreWithNocheckOnForeignKeys=(BOOLEAN 'Falso') | Specifica se le differenze nel valore della clausola WITH NOCHECK per chiavi esterne devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | IgnoraClassificatoriDiCarico=(BOOLEAN 'False') | Specifica se escludere i classificatori del carico di lavoro esistenti nella destinazione durante la distribuzione. |
/p: | IncludiOggettiCompositi=(BOOLEAN 'Falso') | Includi tutti gli elementi compositi con lo stesso database come parte di una singola operazione di pubblicazione. |
/p: | IncludiScriptTransazionali=(BOOLEAN 'False') | Specifica se utilizzare istruzioni di transazione laddove possibile durante la pubblicazione su un database. |
/p: | IsAlwaysEncryptedParameterizationEnabled=(BOOLEAN 'Falso') | Abilita la parametrizzazione delle variabili nelle colonne Always Encrypted negli script di pre-distribuzione/post-distribuzione. |
/p: | LongRunningCommandTimeout=(INT32 '0') | Specifica il timeout del comando a esecuzione prolungata in secondi durante l'esecuzione di query su SQL Server. Usare 0 per attendere per un periodo illimitato. |
/p: | NoAlterStatementsToChangeClrTypes=(BOOLEAN 'False') | Specifica che, in caso di differenze, la pubblicazione deve sempre comportare l'eliminazione e la ricreazione di un assembly, anziché l'esecuzione di un'istruzione ALTER ASSEMBLY. |
/p: | EseguiOperazioniIndiceOnline=(BOOLEAN 'False') | Specifica se eseguire operazioni sugli indici online durante la distribuzione. |
/p: | PopulateFilesOnFileGroups=(BOOLEAN 'Vero') | Specifica se, quando si crea un nuovo FileGroup nel database di destinazione, viene anche creato un nuovo file. |
/p: | PreserveIdentityLastValues=(BOOLEAN 'Falso') | Specifica se gli ultimi valori per le colonne Identity devono essere mantenuti durante la distribuzione. |
/p: | RebuildIndexesOfflineForDataPhase=(BOOLEAN 'Falso') | Ricompilare gli indici offline dopo l'importazione dei dati. |
/p: | RegisterDataTierApplication=(BOOLEAN 'False') | Specifica se lo schema è registrato con il server di database. |
/p: | RestoreSequenceCurrentValue=(BOOLEAN 'Vero') | Specifica se il valore corrente dell'oggetto sequenza deve essere distribuito con il file dacpac, il valore predefinito è True. |
/p: | EseguiEsecutoriPianoDistribuzione=(BOOLEAN 'False') | Specifica per i collaboratori DeploymentPlanExecutor se devono essere eseguiti quando vengono effettuate altre operazioni. |
/p: | ScriptDatabaseCollation=(BOOLEAN 'Falso') | Specifica se le differenze nelle regole di confronto del database devono essere ignorate o aggiornate durante la pubblicazione in un database. |
/p: | ScriptDatabaseCompatibility=(BOOLEAN 'Falso') | Specifica se le differenze nella compatibilità del database devono essere ignorate o aggiornate quando si esegue la pubblicazione in un database. |
/p: | ScriptDatabaseOptions=(BOOLEAN 'Vero') | Specifica se le proprietà del database di destinazione devono essere impostate o aggiornate come parte dell'azione di pubblicazione. |
/p: | ScriptDeployStateChecks=(BOOLEAN 'Falso') | Specifica se nello script di pubblicazione vengono generate istruzioni per verificare che il nome del database e il nome del server corrispondano ai nomi specificati nel progetto del database. |
/p: | ScriptFileSize=(BOOLEAN 'Falso') | Controlla se le dimensioni vengono specificate quando si aggiunge un file a un filegroup. |
/p: | ScriptNewConstraintValidation=(BOOLEAN 'True') | Al termine della pubblicazione tutti i vincoli verranno verificati come un unico set, evitando errori nei dati causati da un controllo o da un vincolo di chiave esterna durante la pubblicazione. Se impostato su False, i vincoli vengono pubblicati senza controllare i dati corrispondenti. |
/p: | ScriptRefreshModule=(BOOLEAN 'Vero') | Includere dichiarazioni di aggiornamento alla fine dello script di pubblicazione. |
/p: | Storage=({File|Memoria}) | Specifica la modalità di archiviazione degli elementi durante la compilazione del modello di database. Per motivi di prestazioni, il valore predefinito è InMemory. Per i database di grandi dimensioni, l'archiviazione supportata da file può essere necessaria ed è disponibile solo per la versione .NET Framework di SqlPackage. |
/p: | TrattaErroriDiVerificaComeAvvisi=(BOOLEAN 'False') | Specifica se gli errori rilevati durante la verifica della pubblicazione devono essere considerati come avvisi. Il controllo viene effettuato rispetto al piano di distribuzione generato prima che il piano venga eseguito nel database di destinazione. La verifica del piano rileva problemi, ad esempio la perdita di oggetti di sola destinazione (ad esempio indici) che devono essere eliminati per apportare una modifica. Con la verifica è anche possibile individuare le dipendenze, ad esempio una tabella o una visualizzazione, presenti a causa di un riferimento a un progetto composito ma che non esistono nel database di destinazione. È possibile scegliere di eseguire questa operazione per ottenere un elenco completo di tutti i problemi, anziché interrompere l'azione di pubblicazione al primo errore. |
/p: | UnmodifiableObjectWarnings=(BOOLEAN 'True') | Specifica se gli avvisi devono essere generati quando vengono rilevate differenze negli oggetti che non possono essere modificati, ad esempio se le dimensioni o i percorsi dei file sono diversi per un file. |
/p: | VerifyCollationCompatibility=(BOOLEANO 'Vero') | Specifica se viene verificata la compatibilità di confronto. |
/p: | VerificaDistribuzione=(BOOLEAN 'True') | Specifica se prima della pubblicazione devono essere eseguiti i controlli che arresteranno l'azione di pubblicazione qualora vengono rilevati problemi che potrebbero bloccare l'esecuzione della pubblicazione. Ad esempio, l'azione di pubblicazione potrebbe arrestarsi se sono presenti chiavi esterne nel database di destinazione che non esistono nel progetto di database e che causano errori durante la pubblicazione. |
Variabili SQLCMD
Nella tabella seguente viene descritto il formato dell'opzione che è possibile usare per eseguire l'override del valore di una variabile di comando SQL (sqlcmd) usata durante un'azione di pubblicazione. I valori della variabile specificata nella riga di comando eseguono l'override di altri valori assegnati alla variabile , ad esempio in un profilo di pubblicazione.
Parametro | Predefinito | Descrizione |
---|---|---|
/v:{PropertyName}={Value} | Specifica una coppia di valori nome per una variabile specifica dell'azione; {VariableName}={Value}. Il file DACPAC contiene l'elenco di variabili SQLCMD valide. Viene generato un errore se non viene fornito un valore per ogni variabile. |
Passaggi successivi
- Altre informazioni su sqlpackage
- Risoluzione dei problemi relativi a SqlPackage