Κοινοποίηση μέσω


SqlPackage για βάση δεδομένων SQL στο Microsoft Fabric

Ισχύει για:Βάση δεδομένων SQL στο Microsoft Fabric

Σε αυτή την εκμάθηση, θα μάθετε πώς να εργάζεστε με το SqlPackage στη βάση δεδομένων SQL σας στο Fabric.

Το SqlPackage είναι ένα CLI που παρέχει φορητότητα βάσης δεδομένων και αναπτύξεις βάσης δεδομένων.

  • Η φορητότητα (εισαγωγή/εξαγωγή) μιας βάσης δεδομένων που διαχειρίζεται το Azure ή το Fabric εξασφαλίζει ότι τα δεδομένα σας είναι φορητά σε άλλες πλατφόρμες εάν θέλετε να κάνετε μετεγκατάσταση αργότερα. - Η φορητότητα περιλαμβάνει μετακίνηση από και προς ΤΟΝ SQL Server, τη Βάση δεδομένων SQL Azure, τη Διαχειριζόμενη παρουσία Azure SQL και τη βάση δεδομένων SQL στο Fabric μέσω αυτόνομων αντιγράφων βάσης δεδομένων (.bacpac ή .dacpac αρχείων).

Το SqlPackage μπορεί επίσης να επιτρέψει την εύκολη ανάπτυξη βάσεων δεδομένων επαυξητικών αλλαγών στα αντικείμενα βάσης δεδομένων (νέες στήλες σε πίνακες, αλλαγές σε υπάρχουσες αποθηκευμένες διαδικασίες κ.λπ.).

  • Το SqlPackage μπορεί να εξαγάγει ένα .dacpac αρχείο που περιέχει τους ορισμούς των αντικειμένων σε μια βάση δεδομένων και να δημοσιεύσει ένα .dacpac αρχείο για να εφαρμόσει αυτή την κατάσταση αντικειμένου σε μια νέα ή υπάρχουσα βάση δεδομένων.
  • Η λειτουργία δημοσίευσης ενοποιείται επίσης με έργα SQL, τα οποία επιτρέπουν κύκλους ανάπτυξης χωρίς σύνδεση και πιο δυναμικούς κύκλους ανάπτυξης για βάσεις δεδομένων SQL.

Προαπαιτούμενα στοιχεία

Ρύθμιση

Το SqlPackage διατίθεται για Windows, macOS και Linux ως εργαλείο dotnet. Μπορείτε να την εγκαταστήσετε χρησιμοποιώντας την ακόλουθη εντολή:

dotnet tool install --global Microsoft.SqlPackage

Ως καθολικό εργαλείο dotnet, το SqlPackage είναι διαθέσιμο στο τερματικό σας όπως sqlpackage από οποιονδήποτε φάκελο.

Εισαγωγή βάσης δεδομένων με το SqlPackage

Το A .bacpac είναι ένα φορητό αντίγραφο μιας βάσης δεδομένων, χρήσιμο για ορισμένα σενάρια μετεγκατάστασης και δοκιμών. Μπορείτε να το.bacpac εισαγάγετε σε μια κενή βάση δεδομένων SQL με την εισαγωγή SqlPackage.

Σημείωμα

Το .bacpac δεν είναι αντίγραφο ασφαλείας ή αντικατάσταση για δυνατότητες δημιουργίας αντιγράφων ασφαλείας/επαναφοράς. Για περισσότερες πληροφορίες σχετικά με τα αντίγραφα ασφαλείας για τη βάση δεδομένων SQL στο Fabric, ανατρέξτε στο θέμα Αυτόματη δημιουργία αντιγράφων ασφαλείας σε βάση δεδομένων SQL στο Microsoft Fabric και Επαναφορά από ένα αντίγραφο ασφαλείας στη βάση δεδομένων SQL στο Microsoft Fabric.

  1. Εάν χρησιμοποιείτε ένα από ένα .bacpac περιβάλλον Azure ή SQL Server, ίσως χρειαστεί να αλλάξετε τη βάση δεδομένων προέλευσης για να ικανοποιεί τη βάση δεδομένων SQL στην περιοχή επιφάνειας Fabric T-SQL. Ανατρέξτε στο θέμα Εξαγωγή και δημοσίευση φορητότητας για μια εναλλακτική μέθοδο που επιτρέπει στις ιδιότητες sqlPackage να παραλείψουν ορισμένα μη υποστηριζόμενα αντικείμενα.

  2. Δημιουργήστε τη νέα βάση δεδομένων SQL σας στο Fabric όπως συνήθως μέσω της διασύνδεσης Fabric.

  3. Αντιγράψτε τη συμβολοσειρά σύνδεσης από τις ρυθμίσεις.

    Στιγμιότυπο οθόνης από την πύλη Fabric που εμφανίζει τη σελίδα Συμβολοσειρές σύνδεσης της βάσης δεδομένων SQL.

  4. Χρησιμοποιήστε την εντολή εισαγωγής από το τερματικό στον φάκελο sqlpackage. Καταχωρήστε τον κάτοχο <servername> και <database_name>.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • Αντικαταστήστε τη συμβολοσειρά σύνδεσης από το παράθυρο διαλόγου Ρυθμίσεις βάσης δεδομένων SQL.
    • Αντικαταστήστε την sourcefile τιμή με το .bacpac όνομα (DatabaseName) και location στον τοπικό υπολογιστή σας.
  5. Ακολουθήστε την εισαγωγή με μια εργασία αντιγραφής στο Data Factory στο Microsoft Fabric. Για να ξεκινήσετε, ανατρέξτε στο θέμα Οδηγός γρήγορης εκκίνησης: Δημιουργία εργασίας αντιγραφής.

Εξαγωγή βάσης δεδομένων με το SqlPackage

Η εξαγωγή μιας .bacpac λειτουργίας είναι η αντίστροφη λειτουργία, όπου η δική σας targetfile είναι .bacpac και μπορείτε sourceconnectionstring να τη βρείτε στο παράθυρο διαλόγου Ρυθμίσεις βάσης δεδομένων SQL, όπως στο προηγούμενο παράδειγμα. Καταχωρήστε τον κάτοχο <servername> και <database_name>. Για παράδειγμα:

sqlpackage /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

Για περισσότερες πληροφορίες σχετικά με την εξαγωγή, ανατρέξτε στο θέμα Εξαγωγή sqlPackage.

Εξαγωγή και δημοσίευση

Διάγραμμα του τρόπου με τον οποίο έργα βάσης δεδομένων SQL μπορούν να μετακινήσουν αλλαγές σχήματος.

Το A .dacpac είναι ένα αρχείο μοντέλου σχήματος βάσης δεδομένων, που περιέχει ορισμούς για τους πίνακες, αποθηκευμένες διαδικασίες και άλλα αντικείμενα στη βάση δεδομένων προέλευσης. Αυτό το αρχείο μπορεί να δημιουργηθεί από μια υπάρχουσα βάση δεδομένων με sqlPackage ή από ένα έργο βάσης δεδομένων SQL.

Το SqlPackage έχει τη δυνατότητα ανάπτυξης μιας .dacpac νέας (κενής) βάσης δεδομένων ή επαυξητικής ενημέρωσης μιας υπάρχουσας βάσης δεδομένων ώστε να ταιριάζει με την επιθυμητή .dacpac κατάσταση.

  • Η εξαγωγή δημιουργεί .dacpac αρχεία ή sql από μια υπάρχουσα βάση δεδομένων.
  • Η δημοσίευση αναπτύσσει μια .dacpac σε μια βάση δεδομένων.

Το SqlPackage δημοσιεύει και εξαγωγή σύνταξη είναι παρόμοια με τις εντολές εισαγωγής/εξαγωγής.

Προειδοποίηση

Συνιστάται η χρήση του SqlPackage για την ανάπτυξη ενός έργου SQL ή .dacpac στη βάση δεδομένων SQL στο Fabric. Η ανάπτυξη μιας .dacpac από το Visual Studio μπορεί να αποτύχει.

Για να αναπτύξετε μια .dacpac που δημιουργήθηκε από τη Βάση δεδομένων SQL Azure, τον SQL Server ή ένα έργο SQL που στοχεύει σε μια πλατφόρμα διαφορετική από τη βάση δεδομένων SQL στο Fabric, προσαρτήστε την ιδιότητα /p:AllowIncompatiblePlatform=true στην εντολή δημοσίευσης του SqlPackage.

Εξαγωγή και δημοσίευση φορητότητας

Ενώ οι εντολές εισαγωγής/εξαγωγής του SqlPackage εστιάζουν στη φορητότητα των δεδομένων με τη .bacpac μορφή, οι εντολές εξαγωγής και δημοσίευσης έχουν τη δυνατότητα μεταφοράς δεδομένων με τη .dacpac μορφή. Οι ιδιότητες εξαγωγής και δημοσίευσης μπορούν να χρησιμοποιηθούν για τον έλεγχο της συμπεριφοράς των λειτουργιών εξαγωγής και δημοσίευσης και την παροχή μεγαλύτερης ευελιξίας για μετατροπές μεταξύ πλατφορμών.

Για να εξαγάγετε ένα .dacpac και να συμπεριλάβετε τα δεδομένα, χρησιμοποιήστε την /p:ExtractAllTableData=true ιδιότητα . Η λειτουργία εξαγωγής δημιουργεί ένα .dacpac που περιέχει τόσο το σχήμα όσο και τα δεδομένα από τη βάση δεδομένων προέλευσης. Η ιδιότητα /p:ExtractReferencedServerScopedElements=false δεν περιλαμβάνει στοιχεία εμβέλειας διακομιστή, τα οποία δεν υποστηρίζονται στη βάση δεδομένων SQL στο Fabric. Η ακόλουθη εντολή εξάγει ένα .dacpac με δεδομένα από μια υπάρχουσα βάση δεδομένων SQL στο Fabric:

sqlpackage /action:extract /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /targetfile:"C:\extracted.dacpac" /p:ExtractAllTableData=true  /p:ExtractReferencedServerScopedElements=false

Για να δημοσιεύσετε μια .dacpac που έχει εξαχθεί μαζί με τα δεδομένα, δεν απαιτούνται επιπλέον ιδιότητες. Ωστόσο, μπορούν να χρησιμοποιηθούν πολλές ιδιότητες για τον έλεγχο της συμπεριφοράς της λειτουργίας δημοσίευσης:

  • /p:AllowIncompatiblePlatform=true Επιτρέπει την ανάπτυξη μιας .dacpac που έχει εξαχθεί από μια διαφορετική πλατφόρμα (για παράδειγμα, βάση δεδομένων SQL Azure, SQL Server).
  • /p:ExcludeObjectTypes=Logins;Users Εξαιρεί τύπους αντικειμένων που ενδέχεται να αντιμετωπίσουν προβλήματα συμβατότητας κατά τη δημοσίευση σε βάση δεδομένων SQL στο Fabric. Για μια πλήρη λίστα των τύπων αντικειμένων που μπορούν να εξαιρεθούν, ανατρέξτε στο θέμα Δημοσίευση sqlPackage.

Παρόμοια με την εντολή εισαγωγής SqlPackage, πριν από τη δημοσίευση μιας .dacpac βάσης δεδομένων SQL στο Fabric, πρέπει να δημιουργήσετε τη βάση δεδομένων στο Fabric. Μπορείτε να δημιουργήσετε τη βάση δεδομένων μέσω της πύλης Fabric ή άλλης διασύνδεσης Fabric. Η ακόλουθη εντολή δημοσιεύει την εξαγωγή .dacpac σε μια κενή βάση δεδομένων SQL στο Fabric:

sqlpackage /action:publish /sourcefile:"C:\extracted.dacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /p:AllowIncompatiblePlatform=true /p:ExcludeObjectTypes=Logins;Users