sql azure single database bacpac export - Json column support

M S 0 Punti di reputazione
2025-02-13T12:51:03.2+00:00

Hi,

Using the Azure Console, when try to export a sql azure single database that contains a table with a json datatype column, I get the error

The ImportExport operation with Request Id '06449f76-1e14-4d25-aed2-817daa07450d' failed due to '50006: Error the database type '' is not understood by the data reader. Could not export schema and data from database.'.

I get the same error if use the "Export data-tier application" in SSMS.

Is there any solution for this problem?

Thank you

Database SQL di Microsoft Azure
0 commenti Nessun commento
{count} voti

1 risposta

Ordina per: Più utili
  1. PratikLad 1,125 Punti di reputazione Personale Esterno Microsoft Moderator
    2025-02-26T09:27:39.7933333+00:00

    Ciao M S,

    Ho provato a esportare il database in cui esiste una colonna con tipo di dati Json e ho riscontrato un problema simile. L'errore si verifica perché database SQL di Azure non supporta l'esportazione dei tipi di dati JSON durante il processo di esportazione in BACPAC.

    Per risolvere il problema, è possibile usare una soluzione alternativa come aggiungere una nuova colonna con 'NVARCHAR(MAX)' e spostare i dati dalla colonna JSON esistente alla nuova colonna in modo sicuro.

    • Aggiungere una nuova colonna
    
    ALTER  TABLE Orders
    
    ADD order_details_new NVARCHAR(MAX);
    
    
    • Copiare i dati nella nuova colonna
    UPDATE Orders
    SET order_details_new =  CONVERT(NVARCHAR(MAX), order_details);
    
    • Eliminare la vecchia colonna e rinominare la nuova colonna con il nome originale.
    ALTER  TABLE Orders
    DROP  COLUMN order_details;
    
    EXEC sp_rename 'Orders.order_details_new', 'order_details', 'COLUMN';
    

    Dopo questo sono stato in grado di esportare con successo il database:

    enter image description here

    0 commenti Nessun commento

Risposta

Le risposte possono essere contrassegnate come risposte accettate dall'autore della domanda. Ciò consente agli utenti di sapere che la risposta ha risolto il problema dell'autore.