Supporto dell'applicazione livello dati per oggetti e versioni di SQL ServerDAC Support For SQL Server Objects and Versions

Un'applicazione livello dati (DAC) supporta gli oggetti del Motore di databaseDatabase Engine più comunemente utilizzati.A data-tier application (DAC) supports the most commonly used Motore di databaseDatabase Engine objects.

Contenuto dell'argomentoIn This Topic

Oggetti di SQL Server supportati Supported SQL Server Objects

Durante la creazione o la modifica di un'applicazione livello dati, è possibile specificare solo oggetti supportati.Only supported objects can be specified in a data-tier application as it is being authored or edited. Non è possibile estrarre, registrare o importare un'applicazione livello dati da un database esistente che contiene oggetti non supportati in un'applicazione livello dati.You cannot extract, register, or import a DAC from an existing database that contains objects that are not supported in a DAC. SQL Server 2017SQL Server 2017 i seguenti oggetti sono supportati in un'applicazione livello dati. supports the following objects in a DAC.

RUOLO DEL DATABASEDATABASE ROLE FUNZIONE: inline con valori di tabellaFUNCTION: Inline Table-valued
FUNZIONE: con valori di tabella e istruzioni multiple.FUNCTION: Multistatement Table-valued FUNZIONE: scalareFUNCTION: Scalar
INDICE: clusterINDEX: Clustered INDICE: non clusterINDEX: Non-clustered
INDICE: spazialeINDEX: Spacial INDICE: univocoINDEX: Unique
LOGINLOGIN AutorizzazioniPermissions
Appartenenze a ruoliRole Memberships SCHEMASCHEMA
StatisticheStatistics STORED PROCEDURE: Transact-SQLSTORED PROCEDURE: Transact-SQL
SinonimiSynonyms TABELLA: vincolo CHECKTABLE: Check Constraint
TABELLA: regole di confrontoTABLE: Collation TABELLA: colonna, incluse le colonne calcolateTABLE: Column, including computed columns
TABELLA: vincolo DEFAULTTABLE: Constraint, Default TABELLA: vincoli FOREIGN KEYTABLE: Constraint, Foreign Key
TABELLA: vincoli, indiceTABLE: Constraint, Index TABELLA: vincolo PRIMARY KEYTABLE: Constraint, Primary Key
TABELLA: vincolo UNIQUETABLE: Constraint, Unique TRIGGER: DMLTRIGGER: DML
TIPO: HIERARCHYID, GEOMETRY, GEOGRAPHYTYPE: HIERARCHYID, GEOMETRY, GEOGRAPHY TIPO: tipo di dati definito dall'utenteTYPE: User-defined Data Type
TIPO: tipo di tabella definito dall'utenteTYPE: User-defined Table Type USERUSER
VIEWVIEW

Supporto dell'applicazione livello dati con le versioni di SQL Server Data-tier Application Support by the Versions of SQL Server

Le versioni di SQL ServerSQL Server supportano operazioni di applicazione livello dati a livelli diversi.The versions of SQL ServerSQL Server have different levels of support for DAC operations. Tutte le operazioni dell'applicazione livello dati supportate da una versione di SQL ServerSQL Server sono supportate da tutte le edizioni di tale versione.All of the DAC operations supported by a version of SQL ServerSQL Server are supported by all editions of that version.

Le istanze del Motore di databaseDatabase Engine supportano le seguenti operazioni dell'applicazione livello dati:Instances of the Motore di databaseDatabase Engine support the following DAC operations:

  • Le operazioni di esportazione ed estrazione sono supportate in tutte le versioni di SQL ServerSQL Server.Export and extract are supported on all supported versions of SQL ServerSQL Server.

  • Tutte le operazioni sono supportate nel Database SQL di AzureAzure SQL Database e in tutte le versioni di SQL Server 2014SQL Server 2014, SQL Server 2012SQL Server 2012e SQL Server 2008 R2SQL Server 2008 R2.All operations are supported on Database SQL di AzureAzure SQL Database and all versions of SQL Server 2014SQL Server 2014, SQL Server 2012SQL Server 2012, and SQL Server 2008 R2SQL Server 2008 R2.

  • Tutte le operazioni sono supportate in SQL Server 2008SQL Server 2008 Service Pack 2 (SP2) o versioni successive e SQL Server 2005SQL Server 2005 SP4 o versioni successive.All operations are supported on SQL Server 2008SQL Server 2008 Service Pack 2 (SP2) or later, and SQL Server 2005SQL Server 2005 SP4 or later.

    Framework applicazione livello dati comprende gli strumenti lato client per la compilazione e l'elaborazione di pacchetti di applicazione livello dati e file di esportazione.The DAC Framework comprises the client-side tools for building and processing DAC packages and export files. Nei seguenti prodotti è incluso Framework applicazione livello datiThe following products include the DAC Framework

  • SQL Server 2014SQL Server 2014 e SQL Server 2012SQL Server 2012 è incluso DAC Framework 3.0 che supporta tutte le operazioni dell'applicazione livello dati. includes DAC Framework 3.0, which supports all DAC operations.

  • SQL Server 2008 R2SQL Server 2008 R2 SP1 e Visual Studio 2010 SP1 è incluso DAC Framework 1.1 che supporta tutte le operazioni dell'applicazione livello dati, eccetto l'esportazione e l'importazione. SP1 and Visual Studio 2010 SP1 included DAC Framework 1.1, which supports all DAC operations except export and import.

  • SQL Server 2008 R2SQL Server 2008 R2 e Visual Studio 2010 è incluso Framework 1.0, applicazione livello dati, che supporta tutte le operazioni dell'applicazione livello dati eccetto l'esportazione, l'importazione e l'aggiornamento sul posto. and Visual Studio 2010 included DAC Framework 1.0, which supports all DAC operations except export, import, and in—place upgrade.

  • Gli strumenti client di versioni precedenti di SQL Server o Visual Studio non supportano operazioni dell'applicazione livello dati.The client tools from earlier versions of SQL Server or Visual Studio do not support DAC operations.

    Un pacchetto di applicazione livello dati o un file di esportazione compilato con una versione di Framework applicazione livello dati non può essere elaborato da una versione precedente di Framework applicazione livello dati.A DAC package or export file built with one version of the DAC Framework cannot be processed by an earlier version of the DAC Framework. Ad esempio, un pacchetto di applicazione livello dati estratto utilizzando gli strumenti client di SQL Server 2014SQL Server 2014 non può essere distribuito utilizzando gli strumenti client di SQL Server 2008 R2SQL Server 2008 R2 .For example, a DAC package extracted using the SQL Server 2014SQL Server 2014 client tools cannot be deployed using the SQL Server 2008 R2SQL Server 2008 R2 client tools.

    Un pacchetto di applicazione livello dati o un file di esportazione compilato con una versione di Framework applicazione livello dati può essere elaborato da qualsiasi versione successiva di Framework applicazione livello dati.A DAC package or export file built with one version of the DAC Framework can be processed by any later version of the DAC Framework. Ad esempio, un pacchetto di applicazione livello dati estratto utilizzando gli strumenti client di SQL Server 2008 R2SQL Server 2008 R2 può essere distribuito utilizzando gli strumenti client di SQL Server 2008 R2SQL Server 2008 R2 SP1 o versione successiva.For example, a DAC package extracted using the SQL Server 2008 R2SQL Server 2008 R2 client tools can be deployed using either the SQL Server 2008 R2SQL Server 2008 R2 SP1 or higher client tools.

Limitazioni sulla distribuzione dei dati Data Deployment Limitations

Si notino le seguenti limitazioni di fedeltà nel motore di distribuzione dati di DAC Framework in SQL Server 2012 SP1.Note these fidelity limitations in the DAC Framework data deployment engine in SQL Server 2012 SP1. Le limitazioni si applicano alle azioni di DAC Framework seguenti: distribuzione o pubblicazione di un file con estensione dacpac e importazione di un file con estensione bacpac.The limitations apply to the following DAC Framework actions: deploy or publish a .dacpac file, and import a .bacpac file.

  1. Perdita di metadati in determinate situazioni e per alcuni tipi di base nelle colonne sql_variant.Loss of metadata for certain conditions and base types within sql_variant columns. Nei casi interessati, verrà visualizzato un avviso con il messaggio seguente: Determinate proprietà in tipi di dati specifici utilizzati in una colonna sql_variant non vengono mantenute se distribuite mediante DAC Framework.In the affected cases, you will see a warning with the following message: Certain properties on certain data types used within a sql_variant column are not preserved when deployed by the DAC Framework.

    • Tipi di base MONEY, SMALLMONEY, NUMERIC, DECIMAL: la precisione non viene mantenuta.MONEY, SMALLMONEY, NUMERIC, DECIMAL base types: Precision is not preserved.

      • Tipi di base DECIMAL/NUMERIC con precisione 38: i metadati sql_variant "TotalBytes" sono sempre impostati su 21.DECIMAL/NUMERIC base types with precision 38: the “TotalBytes” sql_variant metadata is always set to 21.
    • Tutti i tipi di base di testo: le regole di confronto predefinite del database vengono applicate a tutto il testo.All text base types: The database default collation is applied for all text.

    • Tipi di base BINARY: la proprietà Max Length non viene mantenuta.BINARY base types: Max length property is not preserved.

    • Tipi di base TIME, DATETIMEOFFSET: la precisione è sempre impostata su 7.TIME, DATETIMEOFFSET base types: Precision is always set to 7.

  2. Perdita di dati nelle colonne sql_variant.Loss of data within sql_variant columns. Nel caso interessato, verrà visualizzato un avviso con il messaggio seguente: La distribuzione di un valore in una colonna sql_variant DATETIME2 con scala maggiore di 3 da parte di DAC Framework comporta la perdita di dati. Durante la distribuzione, il valore DATETIME2 è limitato a una scala uguale a 3.In the affected case, you will see a warning with the following message: There will be data loss when a value in a sql_variant DATETIME2 column with scale greater than 3 is deployed by the DAC Framework. The DATETIME2 value is limited to a scale equal to 3 during deployment.

    • Tipo di base DATETIME2 con scala maggiore di 3: la scala è limitata a uguale a 3.DATETIME2 base type with scale greater than 3: scale is limited to equal 3.
  3. L'operazione di distribuzione non viene completata per le condizioni seguenti nelle colonne sql_variant.Deployment operation fails for the following conditions within sql_variant columns. Nei casi interessati, verrà visualizzata una finestra di dialogo con il messaggio seguente: Operazione non riuscita a causa di limitazioni dei dati in DAC Framework.In the affected cases, you will see a dialog with the following message: Operation failed due to data limitations in the DAC Framework.

    • Tipi di base DATETIME2, SMALLDATETIME e DATE: se il valore non è compreso nell'intervallo DATETIME, ad esempio, l'anno è inferiore al 1753.DATETIME2, SMALLDATETIME and DATE base types: If the value is outside of DATETIME range – for example, the year is less than 1753.

    • Tipo di base DECIMAL, NUMERIC: quando la precisione del valore è maggiore di 28.DECIMAL, NUMERIC base type: when precision of the value is greater than 28.

Considerazioni aggiuntive per le azioni di distribuzione Additional Considerations for Deployment Actions

Si tengano presenti le considerazioni seguenti per le azioni di distribuzione dati di DAC Framework:Note the following considerations for DAC Framework data deployment actions:

  • Estrazione/Esportazione : queste limitazioni non sono applicabili alle azioni che usano DAC Framework per creare un pacchetto da un database, ad esempio l'estrazione di un file con estensione dacpac e l'esportazione di un file con estensione bacpac.Extract/Export - On actions that use the DAC Framework to create a package from a database – for example, extract a .dacpac file, export a .bacpac file - these limitations do not apply. I dati del pacchetto sono una rappresentazione totalmente fedele dei dati nel database di origine.The data in the package is a full-fidelity representation of the data in the source database. Se una di queste condizioni è presente nel pacchetto, nel registro di estrazione/esportazione sarà contenuto un riepilogo dei problemi tramite i messaggi indicati in precedenza.If any of these conditions are present in the package, the extract/export log will contain a summary of the issues via the messages noted above. In questo modo, l'utente verrà avvisato di potenziali problemi di distribuzione dati con il pacchetto creato.This is to warn the user of potential data deployment issues with the package they created. Inoltre, visualizzerà il seguente messaggio di riepilogo contenuto nel registro: Queste limitazioni non influiscono sulla fedeltà dei valori e tipi di dati archiviati nel pacchetto di applicazione livello dati (DAC) creato da DAC Framework. Le limitazioni sono applicabili unicamente ai valori e tipi di dati derivanti dalla distribuzione di un pacchetto di applicazione livello dati (DAC) in un database. Per altre informazioni sui dati interessati e su come risolvere questa limitazione, vedere questo argomento.The user will also see the following summary message in the log: These limitations do not affect the fidelity of the data types and values stored in the DAC package created by the DAC Framework; they only apply to the data types and values resulting from deploying a DAC package to a database. For more information about the data that is affected and how to work around this limitation, seethis topic.

  • Distribuzione/Pubblicazione/Importazione: queste limitazioni si applicano alle azioni che usano DAC Framework per distribuire un pacchetto in un database, ad esempio la distribuzione o pubblicazione di un file con estensione dacpac e l'importazione di un file con estensione bacpac.Deploy/Publish/Import - On actions that use the DAC Framework to deploy a package to a database, like to deploy or publish a .dacpac file, and import a .bacpac file, these limitations do apply. I dati presenti nel database di destinazione potrebbero non rappresentare in modo totalmente fedele quelli del pacchetto.The data that results in the target database may not contain a full-fidelity representation of the data in the package. Nel registro di distribuzione/importazione sarà contenuto un messaggio, indicato in precedenza, per ogni situazione in cui si è verificato il problema.The Deploy/Import log will contain a message, noted above, for every instance the issue is encountered. L'operazione verrà bloccata da errori (vedere la categoria 3 precedente), ma continuerà con gli altri avvisi.The operation will be blocked by errors – see category 3 above - but will proceed with the other warnings.

    Per altre informazioni sui dati interessati in questo scenario e su come risolvere questa limitazione per le azioni di distribuzione/pubblicazione/importazione, vedere questo argomento.For more information about the data that is affected in this scenario and how to work around this limitation for deploy/publish/import actions, see this topic.

  • Soluzioni alternative : le operazioni di estrazione ed esportazione comporteranno la scrittura di file di dati BCP totalmente fedeli nei file con estensione bacpac o dacpac.Workarounds – Extract and export operations will write full-fidelity BCP data files into the .dacpac or .bacpac files. Per evitare limitazioni, utilizzare l'utilità della riga di comando BCP.exe di SQL Server per distribuire dati totalmente fedeli in un database di destinazione da un pacchetto di applicazione livello dati.To avoid limitations, use the SQL Server BCP.exe command line utility to deploy full-fidelity data to a target database from a DAC package.

Vedere ancheSee Also

Applicazioni livello datiData-tier Applications