Definizione del database SQL

Questo articolo fornisce una suddivisione della struttura di definizione per gli elementi del database SQL.

Formati supportati

Supporto e sqlproj formati degli elementi dacpac del database SQL. Se non viene specificato alcun formato, per impostazione predefinita dacpacle operazioni saranno .

Parte del pacchetto dell'applicazione livello dati (dacpac)

La dacpac parte è un file che contiene il modello di database, che include tutti gli oggetti di database SQL, ad esempio tabelle, viste e stored procedure. Il dacpac file viene usato per distribuire e gestire lo schema del database in modo dichiarativo, calcolando dinamicamente le modifiche necessarie per aggiornare il database in modo che corrisponda al dacpac modello.

È possibile creare un file dacpac usando progetti SQL in Visual Studio Code, l'utilità della riga di comando SqlPackage o altri strumenti di sviluppo di database che supportano il formato dacpac. Altre informazioni sui progetti SQL e sulla creazione di dacpac file nella documentazione dei progetti SQL o nell'articolo Database SQL in Fabric in SqlPackage.

Parti di definizione per dacpac il formato

Questa tabella elenca le parti di definizione del dacpac database SQL.

Percorso della parte di definizione type Obbligatorio Description
sqldb.dacpac Pacchetto dell'applicazione livello dati (dacpac) true File dacpac (modello di database)
.platform PlatformDetails (JSON) false Descrive i dettagli comuni dell'elemento

Esempio di payload di definizione usando il formato dacpac

{
  "definition": {
    "parts": [
      {
        "path": "sqldb.dacpac",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      },
      {
        "path": ".platform",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      }
    ]
  }
}

Parte del progetto di database SQL (sqlproj)

Un progetto di database SQL è una rappresentazione locale degli oggetti SQL che costituiscono lo schema di un database singolo, ad esempio tabelle, stored procedure o funzioni. Un progetto di database SQL viene in genere testato localmente compilandolo in un dacpac file per verificare la presenza di errori prima di distribuirlo in un database SQL di destinazione. La struttura di un progetto di database SQL dipende dagli oggetti di database, in cui per impostazione predefinita il database SQL in Fabric organizza i file di progetto in base allo schema e al tipo di oggetto. Ad esempio, una tabella denominata Table1 nello dbo schema sarà rappresentata da un percorso di file di dbo/Tables/Table1.sql. Altre informazioni sui progetti SQL sono disponibili nella documentazione dei progetti SQL.

Parti di definizione per sqlproj il formato

Questa tabella elenca le parti di definizione del sqlproj database SQL.

Percorso della parte di definizione type Obbligatorio Description
sqldb.sqlproj Progetto di database SQL true .sqlproj è il file di progetto per un progetto Microsoft.Build.Sql. Verrà compilata in un dacpac file e distribuita nel database SQL di destinazione. Per definizione viene accettato un solo file di progetto SQL (.sqlproj).
**/*.sql File STRUCTURED Query Language (SQL) false Uno o più file di definizione dell'oggetto SQL. Tutti i file non esclusi in modo esplicito dal .sqlproj file sono inclusi.
.sharedqueries/*.sql File STRUCTURED Query Language (SQL) false Uno o più file di query SQL. Queste query vengono distribuite nel database come query condivise e sono disponibili nell'editor. La .sharedqueries cartella viene esclusa dal file di progetto SQL e queste query non sono incluse nel processo di compilazione.
.platform PlatformDetails (JSON) false Descrive i dettagli comuni dell'elemento

Esempio di payload di definizione con il formato sqlproj

{
  "definition": {
    "parts": [
      {
        "path": "sqldb.sqlproj",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      },
      {
        "path": "dbo/Tables/Table1.sql",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      },
      {
        "path": ".sharedqueries/query.sql",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      },
      {
        "path": ".platform",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      }
    ]
  }
}