Bagikan melalui


Parameter dan properti Impor SqlPackage

Tindakan Impor SqlPackage mengimpor data skema dan tabel dari file BACPAC (.bacpac) ke dalam database baru atau kosong di SQL Server atau Azure SQL Database. Pada saat operasi impor ke database yang ada, database target tidak boleh berisi objek skema yang ditentukan pengguna. Atau, database baru dapat dibuat oleh tindakan impor saat pengguna yang diautentikasi telah membuat izin database. Tindakan Impor adalah bagian dari fungsionalitas portabilitas database SqlPackage.

Catatan

Meskipun MICROSOFT Entra ID adalah nama baru untuk Azure Active Directory (Azure AD), untuk mencegah mengganggu lingkungan yang ada, Azure AD masih tetap berada di beberapa elemen yang dikodekan secara permanen seperti bidang UI, penyedia koneksi, kode kesalahan, dan cmdlet. Dalam artikel ini, dua nama tersebut dapat dipertukarkan.

Catatan

Impor SqlPackage berkinerja terbaik untuk database di bawah 200GB. Untuk database yang lebih besar, Anda mungkin ingin mengoptimalkan operasi menggunakan properti yang tersedia dalam artikel ini dan tips dalam Pemecahan Masalah dengan SqlPackage atau secara alternatif mencapai portabilitas database melalui data dalam file parket.

Sintaks baris perintah

SqlPackage memulai tindakan yang ditentukan menggunakan parameter, properti, dan variabel SQLCMD yang ditentukan pada baris perintah.

SqlPackage /Action:Import {parameters} {properties}

Parameter yang diperlukan

Tindakan Impor memerlukan SourceFile parameter untuk menentukan nama dan lokasi file .bacpac yang berisi objek dan data database.

Tindakan Ekspor memerlukan koneksi target tempat database baru akan dibuat oleh SqlPackage atau tempat database kosong berada. Ini ditentukan baik melalui kombinasi:

  • TargetServerName dan TargetDatabaseName parameter, atau
  • parameter TargetConnectionString.

Contoh

# 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;"

Parameter untuk tindakan Impor

Parameter Formulir Pendek Nilai Deskripsi
/AccessToken: /Di: {string} Menentukan token akses autentikasi berbasis token yang akan digunakan saat menyambungkan ke database target.
/Tindakan: /J: Impor Menentukan tindakan yang akan dilakukan.
/AzureCloudConfig: /Acc: {string} Menentukan titik akhir kustom untuk menyambungkan ke ID Microsoft Entra dalam format: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" .
/Diagnostik: /D: {True|False} Menentukan apakah pembuatan log diagnostik adalah output ke konsol. Default ke False.
/DiagnosticsFile: /Df: {string} Menentukan file untuk menyimpan log diagnostik.
/MaxParallelism: /Mp: {int} Menentukan tingkat paralelisme untuk operasi bersamaan yang berjalan terhadap database. Nilai default adalah 8.
/ModelFilePath: /Mfp: {string} Menentukan jalur file untuk mengambil alih model.xml dalam file sumber. Penggunaan pengaturan ini dapat mengakibatkan kegagalan penyebaran dan/atau kehilangan data yang tidak diinginkan. Pengaturan ini hanya ditujukan untuk digunakan saat memecahkan masalah dengan penerbitan, impor, atau pembuatan skrip.
/Properti: /P: {PropertyName}={Value} Menentukan pasangan nilai nama untuk properti khusus tindakan; {PropertyName}={Value}.
/Tenang: /T: {True|False} Menentukan apakah umpan balik terperinci ditekan. Default ke False.
/SourceFile: /Sf: {string} Menentukan file sumber yang akan digunakan sebagai sumber tindakan dari penyimpanan lokal. Jika parameter ini digunakan, tidak ada parameter sumber lain yang valid.
/Target Koneksi ionString: /Tcs: {string} Menentukan string koneksi SQL Server/Azure yang valid ke database target. Jika parameter ini ditentukan, parameter ini akan digunakan secara eksklusif dari semua parameter target lainnya.
/TargetDatabaseName: /tdn: {string} Menentukan penimpaan untuk nama database yang merupakan target Tindakan SqlPackage.
/TargetEncrypt Koneksi ion: /Tec: {Opsional|Wajib|Ketat|Benar|False} Menentukan apakah enkripsi SQL harus digunakan untuk koneksi database target. Nilai default adalah True.
/TargetHostNameInCertificate: /thnic: {string} Menentukan nilai yang digunakan untuk memvalidasi sertifikat TLS/SSL SQL Server target saat lapisan komunikasi dienkripsi dengan menggunakan TLS.
/TargetPassword: /Tp: {string} Untuk skenario SQL Server Auth, menentukan kata sandi yang akan digunakan untuk mengakses database target.
/TargetServerName: /Tsn: {string} Menentukan nama server yang menghosting database target.
/TargetTimeout: /Tt: {int} Menentukan batas waktu untuk membuat koneksi ke database target dalam hitungan detik. Untuk ID Microsoft Entra, disarankan agar nilai ini lebih besar dari atau sama dengan 30 detik.
/TargetTrustServerCertificate: /ttsc: {True|False} Menentukan apakah akan menggunakan TLS untuk mengenkripsi koneksi database target dan melewati rantai sertifikat untuk memvalidasi kepercayaan. Nilai defaultnya adalah Salah.
/TargetUser: /Tu: {string} Untuk skenario SQL Server Auth, menentukan pengguna SQL Server yang akan digunakan untuk mengakses database target.
/TenantId: /tid: {string} Mewakili ID penyewa Atau nama domain Microsoft Entra. Opsi ini diperlukan untuk mendukung pengguna Microsoft Entra tamu atau yang diimpor serta akun Microsoft seperti outlook.com, hotmail.com, atau live.com. Jika parameter ini dihilangkan, ID penyewa default untuk ID Microsoft Entra akan digunakan, dengan asumsi bahwa pengguna yang diautentikasi adalah pengguna asli untuk AD ini. Namun, dalam hal ini setiap tamu atau pengguna yang diimpor dan/atau akun Microsoft yang dihosting di ID Microsoft Entra ini tidak didukung dan operasi akan gagal.
Untuk informasi selengkapnya, lihat Autentikasi universal dengan SQL Database dan Azure Synapse Analytics (dukungan SSMS untuk MFA).
/ThreadMaxStackSize: /tmss: {int} Menentukan ukuran maksimum dalam megabyte untuk utas yang menjalankan tindakan SqlPackage. Opsi ini hanya boleh digunakan saat menemukan pengecualian luapan tumpukan yang terjadi saat mengurai pernyataan Transact-SQL yang sangat besar.
/UniversalAuthentication: /Ua: {True|False} Menentukan apakah autentikasi universal harus digunakan. Ketika diatur ke True, protokol autentikasi interaktif diaktifkan mendukung MFA. Opsi ini juga dapat digunakan untuk autentikasi Microsoft Entra tanpa MFA, menggunakan protokol interaktif yang mengharuskan pengguna memasukkan nama pengguna dan kata sandi mereka atau autentikasi terintegrasi (kredensial Windows). Ketika /UniversalAuthentication diatur ke True, tidak ada autentikasi Microsoft Entra yang dapat ditentukan dalam Source Koneksi ionString (/scs). Ketika /UniversalAuthentication diatur ke False, autentikasi Microsoft Entra harus ditentukan dalam Source Koneksi ionString (/scs).
Untuk informasi selengkapnya, lihat Autentikasi universal dengan SQL Database dan Azure Synapse Analytics (dukungan SSMS untuk MFA).

Properti khusus untuk tindakan Impor

Properti Nilai Deskripsi
/P: CommandTimeout=(INT32 '60') Menentukan batas waktu perintah dalam detik saat menjalankan kueri terhadap SQL Server.
/P: DatabaseEdition=({ Basic | Standar | Premium | Gudang Data | GeneralPurpose | BusinessCritical | Hyperscale | Default } 'Default') Menentukan edisi Azure SQL Database. Lihat Tingkat layanan Azure SQL Database.
/P: DatabaseLockTimeout=(INT32 '60') Menentukan batas waktu penguncian database dalam hitungan detik saat menjalankan kueri terhadap SQLServer. Gunakan -1 untuk menunggu tanpa batas waktu.
/P: DatabaseMaximumSize=(INT32 '0') Menentukan ukuran maksimum dalam GB Azure SQL Database.
/P: DatabaseServiceObjective=(STRING) Menentukan tingkat performa Azure SQL Database seperti "P0" atau "S1".
/P: DisableIndexesForDataPhase=(BOOLEAN 'True') Ketika true (default), menonaktifkan indeks sebelum mengimpor data. Ketika false, indeks tidak dibangun kembali.
/P: DisableParallelismForEnablingIndexes=(BOOLEAN 'False') Tidak menggunakan paralelisme saat membangun kembali indeks saat mengimpor data ke SQL Server.
/P: HashObjectNamesInLogs=(BOOLEAN 'False') Menentukan apakah akan mengganti semua nama objek dalam log dengan nilai hash acak.
/P: ImportContributorArguments=(STRING) Menentukan argumen kontributor penyebaran untuk kontributor penyebaran. Properti ini harus menjadi daftar nilai yang dibatasi titik koma.
/P: ImportContributorPaths=(STRING) Menentukan jalur untuk memuat kontributor impor tambahan. Properti ini harus menjadi daftar nilai yang dibatasi titik koma.
/P: ImportContributors=(STRING) Menentukan kontributor penyebaran, yang harus berjalan ketika bacpac diimpor. Properti ini harus merupakan daftar semi-titik koma yang dibatasi dari nama kontributor build atau ID build yang sepenuhnya memenuhi syarat.
/P: LongRunningCommandTimeout=(INT32 '0') Menentukan batas waktu perintah yang berjalan lama dalam hitungan detik saat menjalankan kueri terhadap SQL Server. Gunakan 0 untuk menunggu tanpa batas.
/P: PreserveIdentityLastValues=(BOOLEAN 'False') Menentukan apakah nilai terakhir untuk kolom identitas harus dipertahankan selama penyebaran.
/P: RebuildIndexesOfflineForDataPhase=(BOOLEAN 'False') Ketika true, membangun ulang indeks secara offline setelah mengimpor data ke SQL Server.
/P: Storage=({File|Memori}) Menentukan bagaimana elemen disimpan saat membuat model database. Untuk alasan performa, defaultnya adalah InMemory. Untuk database besar, penyimpanan yang didukung file diperlukan.

Langkah berikutnya