Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Akcja SqlPackage Import importuje dane schematu i tabeli z pliku BACPAC (.bacpac) do nowej lub pustej bazy danych w SQL Server lub Azure SQL Database. W czasie operacji importowania do istniejącej bazy danych docelowa baza danych nie może zawierać żadnych obiektów schematu zdefiniowanych przez użytkownika. Alternatywnie nową bazę danych można utworzyć za pomocą akcji importowania, gdy uwierzytelniony użytkownik ma uprawnienia do tworzenia bazy danych. Akcja Importuj jest częścią funkcji przenoszenia bazy danych sqlPackage.
Uwaga / Notatka
Chociaż identyfikator Entra firmy Microsoft to nowa nazwa usługi Azure Active Directory (Azure AD), aby zapobiec zakłócaniu działania istniejących środowisk, usługa Azure AD nadal pozostaje w niektórych zakodowanych na stałe elementach, takich jak pola interfejsu użytkownika, dostawcy połączeń, kody błędów i polecenia cmdlet. W tym artykule dwie nazwy są wymienne.
Uwaga / Notatka
Importowanie pakietu SqlPackage działa najlepiej w przypadku baz danych poniżej 200 GB. W przypadku większych baz danych możesz chcieć zoptymalizować operację przy użyciu właściwości dostępnych w tym artykule i wskazówek w temacie Rozwiązywanie problemów z pakietem SqlPackage lub ewentualnie osiągnąć przenośność bazy danych za pośrednictwem danych w plikach parquet.
Składnia wiersza polecenia
sqlPackage inicjuje akcje określone przy użyciu parametrów, właściwości i zmiennych SQLCMD określonych w wierszu polecenia.
SqlPackage /Action:Import {parameters} {properties}
Wymagane parametry
Akcja Importuj wymaga parametru SourceFile , aby określić nazwę i lokalizację pliku bacpac zawierającego obiekty i dane bazy danych.
Akcja Eksportuj wymaga połączenia docelowego, w którym nowa baza danych zostanie utworzona przez pakiet SqlPackage lub gdzie znajduje się pusta baza danych. Jest to określane za pomocą kombinacji:
-
TargetServerNameiTargetDatabaseNameparametry, lub -
TargetConnectionStringparametr.
Przykłady
# example import to Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
/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 import using short form parameter names
SqlPackage /a:Import /tsn:"{yourserver}.database.windows.net,1433" /tdn:"AdventureWorksLT" /tu:"sqladmin" \
/tp:"{your_password}" /sf:"C:\AdventureWorksLT.bacpac"
# example import using Microsoft Entra managed identity
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
/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 import connecting using Microsoft Entra username and password
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
/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 import connecting using Microsoft Entra universal authentication
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" /UniversalAuthentication:True \
/TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Parametry akcji Importuj
| Parametr | Krótki formularz | Wartość | Opis |
|---|---|---|---|
| /AccessToken: | /przy: | {string} | Określa token dostępu do uwierzytelniania opartego na tokenach, który ma być używany podczas nawiązywania połączenia z docelową bazą danych. |
| /Akcja: | /a: | Importowanie | Określa akcję do wykonania. |
| /AzureCloudConfig: | /acc: | {string} | Określa niestandardowe punkty końcowe służące do nawiązywania połączenia z identyfikatorem Entra firmy Microsoft w formacie: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" . |
| /Diagnostyka: | /d: | {Prawda|Fałsz} | Określa, czy rejestrowanie diagnostyczne jest wyprowadzane na konsolę. Wartość domyślna to False. |
| /DiagnosticsFile: | /df: | {string} | Określa plik do przechowywania dzienników diagnostycznych. |
| /DiagnosticsLevel: | /dl | {Brak|Wyłączone|Krytyczne|Błąd|Ostrzeżenie|Informacje|Pełne} | Określa poziomy komunikatów śledzenia filtrowanych w pliku diagnostycznym. |
| /DiagnosticsPackageFile: | /dpf | {string} | Określa plik do przechowywania pakietu diagnostycznego. |
| /MaxParallelism: | /Mp: | {int} | Określa stopień równoległości dla operacji współbieżnych uruchomionych względem bazy danych. Wartość domyślna to 8. |
| /ModelFilePath: | /mfp: | {string} | Określa ścieżkę pliku, aby zastąpić model.xml w pliku źródłowym. Użycie tego ustawienia może spowodować niepowodzenie wdrożenia i/lub niezamierzoną utratę danych. To ustawienie jest przeznaczone tylko do użycia podczas rozwiązywania problemów z publikowaniem, importowaniem lub generowaniem skryptu. |
| /Właściwości: | /p: | {PropertyName}={Value} | Określa parę wartości nazwy dla właściwości specyficznej dla akcji; {PropertyName}={Value}. |
| /Cisza: | /q: | {Prawda|Fałsz} | Określa, czy szczegółowe opinie są pomijane. Wartość domyślna to False. |
| /SourceFile: | /Sf: | {string} | Określa plik źródłowy, który ma być używany jako źródło akcji z magazynu lokalnego. Jeśli ten parametr jest używany, żaden inny parametr źródłowy nie jest prawidłowy. |
| /TargetConnectionString: | /tcs: | {string} | Określa prawidłowe parametry połączenia programu SQL Server/platformy Azure z docelową bazą danych. Jeśli ten parametr zostanie określony, będzie używany wyłącznie ze wszystkich innych parametrów docelowych. |
| /TargetDatabaseName: | /tdn: | {string} | Określa zastąpienie nazwy bazy danych, która jest celem akcji SqlPackage. |
| /TargetEncryptConnection: | /Tec: | {Opcjonalnie|Obowiązkowe|Ścisłe|Prawda|Fałsz} | Określa, czy na potrzeby docelowego połączenia z bazą danych należy używać szyfrowania SQL. Domyślna wartość to Prawda. |
| /TargetHostNameInCertificate: | /etniczny: | {string} | Określa wartość używaną do sprawdzania poprawności docelowego certyfikatu TLS/SSL programu SQL Server, gdy warstwa komunikacji jest szyfrowana przy użyciu protokołu TLS. |
| /TargetPassword: | /teleportacja: | {string} | W przypadku scenariuszy uwierzytelniania programu SQL Server definiuje hasło używane do uzyskiwania dostępu do docelowej bazy danych. |
| /TargetServerName: | /tsn: | {string} | Definiuje nazwę serwera hostowania docelowej bazy danych. |
| /TargetTimeout: | /tt: | {int} | Określa limit czasu nawiązywania połączenia z docelową bazą danych w sekundach. W przypadku identyfikatora Entra firmy Microsoft zaleca się, aby ta wartość była większa lub równa 30 sekundom. |
| /TargetTrustServerCertificate: | /ttsc: | {Prawda|Fałsz} | Określa, czy używać protokołu TLS do szyfrowania docelowego połączenia z bazą danych i pomijania chodzenia łańcucha certyfikatów w celu zweryfikowania zaufania. Wartość domyślna to Fałsz. |
| /TargetUser: | /tu: | {string} | W scenariuszach uwierzytelniania SQL Server, definiuje użytkownika SQL Server, który ma być użyty do uzyskania dostępu do docelowej bazy danych. |
| /TenantId: | /tid: | {string} | Reprezentuje identyfikator dzierżawy Microsoft Entra lub nazwę domeny. Ta opcja jest wymagana do obsługi użytkowników gości lub zaimportowanych użytkowników firmy Microsoft Entra, a także kont Microsoft, takich jak outlook.com, hotmail.com lub live.com. Jeśli ten parametr zostanie pominięty, użyty zostanie domyślny identyfikator dzierżawy dla Microsoft Entra ID, przy założeniu, że uwierzytelniony użytkownik jest użytkownikiem rodzimym dla tej usługi AD. Jednak w tym przypadku wszyscy goście lub zaimportowani użytkownicy i/lub konta Microsoft hostowane w tym identyfikatorze Entra firmy Microsoft nie są obsługiwane i operacja zakończy się niepowodzeniem. Aby uzyskać więcej informacji, zobacz Universal authentication with SQL Database and Azure Synapse Analytics (SSMS support for MFA) (Uwierzytelnianie uniwersalne w usługach SQL Database i Azure Synapse Analytics (SSMS support for MFA). |
| /ThreadMaxStackSize: | /tmss: | {int} | Określa maksymalny rozmiar w megabajtach dla wątku z uruchomioną akcją SqlPackage. Ta opcja powinna być używana tylko w przypadku napotkania wyjątków przepełnienia stosu występujących podczas analizowania bardzo dużych instrukcji Transact-SQL. |
| /UniversalAuthentication: | /Ua: | {Prawda|Fałsz} | Określa, czy należy używać uwierzytelniania uniwersalnego. Po ustawieniu wartości True interakcyjny protokół uwierzytelniania jest aktywowany obsługujący uwierzytelnianie wieloskładnikowe. Ta opcja może być również używana w przypadku uwierzytelniania Microsoft Entra bez uwierzytelniania wieloskładnikowego, z użyciem interaktywnego protokołu wymagającego od użytkownika wprowadzenia nazwy użytkownika i hasła lub zintegrowanego uwierzytelniania (poświadczenia systemu Windows). Jeśli /UniversalAuthentication jest ustawiona na wartość True, w parametrze SourceConnectionString (/scs) nie można określić uwierzytelniania Microsoft Entra. Jeśli /UniversalAuthentication jest ustawiona na fałsz, uwierzytelnianie Microsoft Entra musi być określone w sourceConnectionString (/scs). Aby uzyskać więcej informacji, zobacz Universal authentication with SQL Database and Azure Synapse Analytics (SSMS support for MFA) (Uwierzytelnianie uniwersalne w usługach SQL Database i Azure Synapse Analytics (SSMS support for MFA). |
Właściwości specyficzne dla akcji Importuj
| Majątek | Wartość | Opis |
|---|---|---|
| /p: | CommandTimeout=(INT32 '60') | Określa limit czasu polecenia w sekundach podczas wykonywania zapytań względem programu SQL Server. |
| /p: | DatabaseEdition=({ Podstawowy | Standardowa | Premium | Magazyn Danych | Ogólnego Przeznaczenia | Biznes Krytyczne | Hiperskala | Domyślny } 'Domyślny') | Definiuje edycję usługi Azure SQL Database. Zobacz Warstwy usługi Azure SQL Database. |
| /p: | DatabaseLockTimeout=(INT32 '60') | Określa limit czasu blokady bazy danych w sekundach podczas wykonywania zapytań względem serwera SQLServer. Użyj -1, aby czekać na czas nieokreślony. |
| /p: | DatabaseMaximumSize=(INT32 '0') | Definiuje maksymalny rozmiar w GB usługi Azure SQL Database. |
| /p: | CelUsługowyBazyDanych=(STRING) | Definiuje poziom wydajności usługi Azure SQL Database, taki jak "P0" lub "S1". |
| /p: | DisableIndexesForDataPhase=(WARTOŚĆ LOGICZNA 'True') | Jeśli wartość true (wartość domyślna), wyłącza indeksy przed zaimportowaniem danych. Jeśli wartość jest false, indeksy nie zostaną odbudowane. |
| /p: | DisableParallelismForEnablingIndexes=(WARTOŚĆ LOGICZNA 'False') | Nieużywanie równoległości podczas odbudowy indeksów podczas importowania danych do programu SQL Server. |
| /p: | HashObjectNamesInLogs=(BOOLEAN 'Fałsz') | Określa, czy zastąpić wszystkie nazwy obiektów w dziennikach losową wartością skrótu. |
| /p: | ImportContributorArguments=(STRING) | Określa argumenty współautora wdrożenia dla współautorów wdrożenia. Ta właściwość powinna być rozdzieloną średnikami listą wartości. |
| /p: | ImportContributorPaths=(STRING) | Określa ścieżki do ładowania dodatkowych modułów importu. Ta właściwość powinna być rozdzieloną średnikami listą wartości. |
| /p: | ImportContributors=(STRING) | Określa współautorów wdrożenia, które powinny być uruchamiane po zaimportowaniu pliku bacpac. Ta właściwość powinna być listą w pełni określonych nazw lub identyfikatorów współautorów kompilacji, oddzieloną średnikami. |
| /p: | LongRunningCommandTimeout=(INT32 '0') | Określa długotrwały limit czasu polecenia w sekundach podczas wykonywania zapytań względem programu SQL Server. Użyj 0, aby poczekać na czas nieokreślony. |
| /p: | PreserveIdentityLastValues=(WARTOŚĆ LOGICZNA 'False') | Określa, czy podczas wdrażania powinny być zachowywane ostatnie wartości kolumn tożsamości. |
| /p: | RebuildIndexesOfflineForDataPhase=(WARTOŚĆ LOGICZNA 'False') | W przypadku wartości true ponownie kompiluje indeksy w trybie offline po zaimportowaniu danych do programu SQL Server. |
| /p: | Storage=({File|Pamięć}) | Określa sposób przechowywania elementów podczas tworzenia modelu bazy danych. Ze względów wydajności wartość domyślna to InMemory. W przypadku dużych baz danych wymagane jest przechowywanie oparte na plikach. |
Dalsze kroki
- Dowiedz się więcej o narzędziu SqlPackage
- Rozwiązywanie problemów z pakietem SqlPackage
- Importowanie z usługi Azure Blob Storage