Bagikan melalui


Parameter, properti, dan variabel SQLCMD Terbitkan SqlPackage

Operasi penerbitan SqlPackage secara bertahap memperbarui skema database target agar sesuai dengan struktur database sumber. Menerbitkan paket penyebaran yang berisi data pengguna untuk semua atau subset tabel memperbarui data tabel selain skema. Penyebaran data menimpa skema dan data dalam tabel database target yang ada. Penyebaran data tidak akan mengubah skema atau data yang ada dalam database target untuk tabel yang tidak disertakan dalam paket penyebaran. Database baru dapat dibuat oleh tindakan terbitkan saat pengguna yang diautentikasi telah membuat izin database. Izin yang diperlukan untuk tindakan terbitkan pada database yang sudah ada db_owner.

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.

Sintaks baris perintah

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

SqlPackage /Action:Publish {parameters} {properties} {sqlcmd variables}

Catatan

Ketika database dengan kredensial pengguna autentikasi SQL diekstrak, kata sandi diganti dengan kata sandi yang berbeda dari kompleksitas yang sesuai. Diasumsikan bahwa setelah dacpac diterbitkan bahwa kata sandi pengguna diubah.

Contoh

# example publish from Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /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 publish using short form parameter names, skips schema validation
SqlPackage /a:Publish /tsn:"{yourserver}.database.windows.net,1433" /tdn:"AdventureWorksLT" /tu:"sqladmin" \
    /tp:"{your_password}" /sf:"C:\AdventureWorksLT.dacpac" /p:VerifyDeployment=False

# example publish using Microsoft Entra managed identity
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /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 publish connecting using Microsoft Entra username and password
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /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 publish connecting using Microsoft Entra universal authentication
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" /UniversalAuthentication:True \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

# example publish with 2 SQLCMD variables
# as seen in a post deployment script for user passwords
# https://github.com/Azure-Samples/app-sql-devops-demo-project/blob/main/sql/wwi-dw-ssdt/PostDeploymentScripts/AddUsers.sql
SqlPackage /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /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;" \
    /v:ETLUserPassword="asecurestringaddedhere" /v:AppUserPassword="asecurestringaddedhere"
# example publish connecting using an access token associated with a service principal
$Account = Connect-AzAccount -ServicePrincipal -Tenant $Tenant -Credential $Credential
$AccessToken_Object = (Get-AzAccessToken -Account $Account -Resource "https://database.windows.net/")
$AccessToken = $AccessToken_Object.Token

SqlPackage /at:$AccessToken /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# OR
SqlPackage /at:$($AccessToken_Object.Token) /Action:Publish /SourceFile:"C:\AdventureWorksLT.dacpac" \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

Parameter untuk tindakan Terbitkan

Parameter Formulir Pendek Nilai Deskripsi
/AccessToken: /Di: {string} Menentukan token akses autentikasi berbasis token yang akan digunakan saat menyambungkan ke database target.
/Tindakan: /J: Terbitkan Menentukan tindakan yang akan dilakukan.
/AzureCloudConfig: /Acc: {string} Menentukan titik akhir kustom untuk menyambungkan ke ID Microsoft Entra dalam format: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" .
/AzureKeyVaultAuthMethod: /akv: {Interaktif|ClientIdSecret} Menentukan metode autentikasi apa yang digunakan untuk mengakses Azure KeyVault jika operasi penerbitan menyertakan modifikasi pada tabel/kolom terenkripsi.
/ClientId: /Cid: {string} Menentukan ID Klien yang akan digunakan dalam mengautentikasi terhadap Azure KeyVault, jika perlu
/DeployReportPath: /drp: {string} Menentukan jalur file opsional untuk menghasilkan file xml laporan penyebaran.
/DeployScriptPath: /Dsp: {string} Menentukan jalur file opsional untuk menghasilkan skrip penyebaran. Untuk penyebaran Azure, jika ada perintah Transact-SQL untuk membuat atau memodifikasi database master, skrip akan ditulis ke jalur yang sama tetapi dengan "Filename_Master.sql" sebagai nama file output.
/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.
/OverwriteFiles: /of: {True|False} Menentukan apakah SqlPackage harus menimpa file yang ada. Menentukan false menyebabkan SqlPackage membatalkan tindakan jika file yang ada ditemukan. Nilai default adalah True.
/Profil: /Pr: {string} Menentukan jalur file ke Profil Publikasi DAC. Profil menentukan kumpulan properti dan variabel yang akan digunakan saat menghasilkan output.
/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.
/ReferencePaths: /Rp: {PropertyName}={Value} Menentukan direktori tambahan untuk mencari referensi .dacpac.
/Rahasia: /secr: {string} Menentukan Rahasia Klien yang akan digunakan dalam mengautentikasi terhadap Azure KeyVault, jika perlu
/SourceFile: /Sf: {string} Menentukan file sumber yang akan digunakan sebagai sumber tindakan alih-alih database dari penyimpanan lokal. Jika parameter ini digunakan, tidak ada parameter sumber lain yang valid.
/Source Koneksi ionString: /Scs: {string} Menentukan string koneksi SQL Server/Azure yang valid ke database sumber. Jika parameter ini ditentukan, parameter ini akan digunakan secara eksklusif dari semua parameter sumber lainnya.
/SourceDatabaseName: /Sdn: {string} Menentukan nama database sumber.
/SourceEncrypt Koneksi ion: /Sec: {Opsional|Wajib|Ketat|Benar|False} Menentukan apakah enkripsi SQL harus digunakan untuk koneksi database sumber. Nilai default adalah True.
/SourceHostNameInCertificate: /shnic: {string} Menentukan nilai yang digunakan untuk memvalidasi sertifikat TLS/SSL SQL Server sumber saat lapisan komunikasi dienkripsi dengan menggunakan TLS.
/SourcePassword: /Sp: {string} Untuk skenario SQL Server Auth, menentukan kata sandi yang akan digunakan untuk mengakses database sumber.
/SourceServerName: /Ssn: {string} Menentukan nama server yang menghosting database sumber.
/SourceTimeout: /St: {int} Menentukan batas waktu untuk membuat koneksi ke database sumber dalam hitungan detik.
/SourceTrustServerCertificate: /stsc: {True|False} Menentukan apakah akan menggunakan TLS untuk mengenkripsi koneksi database sumber dan melewati rantai sertifikat untuk memvalidasi kepercayaan. Nilai defaultnya adalah Salah.
/SourceUser: /Su: {string} Untuk skenario SQL Server Auth, menentukan pengguna SQL Server yang akan digunakan untuk mengakses database sumber.
/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 penyewa 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 tentang Autentikasi Universal Direktori Aktif, lihat Autentikasi Universal dengan SQL Database dan Azure Synapse Analytics (dukungan SSMS untuk MFA).
/Variabel: /V: {PropertyName}={Value} Menentukan pasangan nilai nama untuk variabel khusus tindakan; {VariableName}={Value}. File DACPAC berisi daftar variabel SQLCMD yang valid. Kesalahan menghasilkan jika nilai tidak disediakan untuk setiap variabel.

Properti khusus untuk tindakan Terbitkan

Properti Nilai Deskripsi
/P: AdditionalDeploymentContributorArguments=(STRING) Menentukan argumen kontributor penyebaran tambahan untuk kontributor penyebaran. Properti ini harus menjadi daftar nilai yang dibatasi titik koma.
/P: AdditionalDeploymentContributorPaths=(STRING) Menentukan jalur untuk memuat kontributor penyebaran tambahan. Properti ini harus menjadi daftar nilai yang dibatasi titik koma.
/P: AdditionalDeploymentContributors=(STRING) Menentukan kontributor penyebaran tambahan, yang harus berjalan saat dacpac disebarkan. Properti ini harus merupakan daftar semi-titik koma yang dibatasi dari nama kontributor build atau ID build yang sepenuhnya memenuhi syarat.
/P: AllowDropBlockingAssemblies=(BOOLEAN 'False') Properti ini digunakan oleh penyebaran SqlClr untuk menyebabkan rakitan pemblokiran dihilangkan sebagai bagian dari rencana penyebaran. Secara default, setiap rakitan pemblokiran/referensi akan memblokir pembaruan perakitan jika perakitan referensi perlu dihilangkan.
/P: AllowExternalLanguagePaths=(BOOLEAN 'False') Memungkinkan jalur file, jika tersedia, untuk digunakan untuk menghasilkan pernyataan bahasa eksternal.
/P: AllowExternalLibraryPaths=(BOOLEAN 'False') Memungkinkan jalur file, jika tersedia, untuk digunakan untuk menghasilkan pernyataan pustaka eksternal.
/P: AllowIncompatiblePlatform=(BOOLEAN 'False') Menentukan apakah akan mencoba tindakan meskipun platform SQL Server tidak kompatibel.
/P: AllowTableRecreation=(BOOLEAN 'True') Menentukan apakah akan mengizinkan rekreasi tabel selama penyebaran jika diperlukan untuk melakukan perubahan skema. Rekreasi tabel membangun kembali tabel saat mempertahankan data, tetapi mungkin memiliki dampak performa yang signifikan.
/P: AllowUnsafeRowLevelSecurityDataMovement=(BOOLEAN 'False') Jangan blokir gerakan data pada tabel yang memiliki Keamanan Tingkat Baris jika properti ini diatur ke true. Defaultnya adalah false.
/P: AzureSharedAccessSignatureToken=(STRING) Token tanda tangan akses bersama (SAS) Azure. Lihat SqlPackage untuk Azure Synapse Analytics dan SqlPackage dengan data dalam file Parquet.
/P: AzureStorageBlobEndpoint=(STRING) Titik akhir Azure Blob Storage, lihat SqlPackage untuk Azure Synapse Analytics dan SqlPackage dengan data dalam file Parquet.
/P: AzureStorageContainer=(STRING) Kontainer Azure Blob Storage, lihat SqlPackage untuk Azure Synapse Analytics dan SqlPackage dengan data dalam file Parquet.
/P: AzureStorageKey=(STRING) Kunci akun penyimpanan Azure, lihat SqlPackage untuk Azure Synapse Analytics dan SqlPackage dengan data dalam file Parquet.
/P: AzureStorageRootPath=(STRING) Jalur akar penyimpanan dalam kontainer. Tanpa properti ini, jalur default ke servername/databasename/timestamp/. Lihat SqlPackage untuk Azure Synapse Analytics dan SqlPackage dengan data dalam file Parquet.
/P: BackupDatabaseBeforeChanges=(BOOLEAN 'False') Mencadangkan database sebelum menyebarkan perubahan apa pun. Properti ini tidak berlaku untuk Azure SQL Database.
/P: BlockOnPossibleDataLoss=(BOOLEAN 'True') Menentukan bahwa operasi akan dihentikan selama langkah validasi skema jika perubahan skema yang dihasilkan dapat menyebabkan hilangnya data, termasuk karena pengurangan presisi data atau perubahan jenis data yang memerlukan operasi transmisi. Nilai default (True) menyebabkan operasi dihentikan terlepas dari apakah database target berisi data. Eksekusi dengan False nilai untuk BlockOnPossibleDataLoss masih dapat gagal selama eksekusi rencana penyebaran jika data ada pada target yang tidak dapat dikonversi ke jenis kolom baru.
/P: BlockWhenDriftDetected=(BOOLEAN 'True') Menentukan apakah akan memblokir pembaruan database yang skemanya tidak lagi cocok dengan pendaftarannya atau tidak terdaftar.
/P: CommandTimeout=(INT32 '60') Menentukan batas waktu perintah dalam detik saat menjalankan kueri terhadap SQL Server.
/P: CommentOutSetVarDeclarations=(BOOLEAN 'False') Menentukan apakah deklarasi variabel SETVAR harus dikomentari dalam skrip penerbitan yang dihasilkan. Anda mungkin memilih untuk melakukan ini jika Anda berencana untuk menentukan nilai pada baris perintah saat Anda menerbitkan dengan menggunakan alat seperti SQLCMD.EXE.
/P: CompareUsingTargetCollation=(BOOLEAN 'False') Pengaturan ini menentukan bagaimana kolase database ditangani selama penyebaran; secara default kolase database target akan diperbarui jika tidak cocok dengan kolase yang ditentukan oleh sumber. Ketika opsi ini diatur, kolase database target (atau server) harus digunakan.
/P: CreateNewDatabase=(BOOLEAN 'False') Menentukan apakah database target harus diperbarui atau apakah database tersebut harus dihilangkan dan dibuat ulang saat Anda menerbitkan ke database.
/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: DeployDatabaseInSingleUserMode=(BOOLEAN 'False') jika true, database diatur ke Mode Pengguna Tunggal sebelum disebarkan.
/P: DisableAndReenableDdlTriggers=(BOOLEAN 'True') Menentukan apakah pemicu Data Definition Language (DDL) dinonaktifkan di awal proses penerbitan dan diaktifkan kembali di akhir tindakan terbitkan.
/P: DisableIndexesForDataPhase=(BOOLEAN 'True') Nonaktifkan indeks sebelum mengimpor data ke SQL Server.
/P: DisableParallelismForEnablingIndexes=(BOOLEAN 'False') Tidak menggunakan paralelisme saat membangun kembali indeks saat mengimpor data ke SQL Server.
/P: DoNotAlterChangeDataCaptureObjects=(BOOLEAN 'True') Jika true, objek Ubah Data Capture tidak diubah.
/P: DoNotAlterReplicatedObjects=(BOOLEAN 'True') Menentukan apakah objek yang direplikasi diidentifikasi selama verifikasi.
/P: DoNotDropDatabaseWorkloadGroups=(BOOLEAN 'False') Ketika false, Database WorkloadGroups dalam database target yang tidak ditentukan dalam sumber akan dihilangkan selama penyebaran.
/P: DoNotDropObjectType=(STRING) Jenis objek yang tidak boleh dihilangkan saat DropObjectsNotInSource adalah true. Nama jenis objek yang valid adalah Agregat, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Kontrak, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Default, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Login, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, External Aliran, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages. Properti ini dapat ditentukan beberapa kali untuk menunjukkan beberapa opsi.
/P: DoNotDropObjectTypes=(STRING) Daftar tipe objek yang dibatasi titik koma yang tidak boleh dihilangkan saat DropObjectsNotInSource benar. Nama jenis objek yang valid adalah Agregat, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Kontrak, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Default, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Login, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, External Aliran, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages.
/P: DoNotDropWorkloadClassifiers=(BOOLEAN 'False') Ketika false, WorkloadClassifiers dalam database target yang tidak ditentukan dalam sumber akan dihilangkan selama penyebaran.
/P: DoNotEvaluateSqlCmdVariables=(BOOLEAN 'True') Menentukan apakah variabel SQLCMD tidak akan diganti dengan nilai
/P: DropConstraintsNotInSource=(BOOLEAN 'True') Menentukan apakah batasan yang tidak ada dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan ke database.
/P: DropDmlTriggersNotInSource=(BOOLEAN 'True') Menentukan apakah pemicu DML yang tidak ada dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan ke database.
/P: DropExtendedPropertiesNotInSource=(BOOLEAN 'True') Menentukan apakah properti yang diperluas yang tidak ada dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan ke database.
/P: DropIndexesNotInSource=(BOOLEAN 'True') Menentukan apakah indeks yang tidak ada dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan ke database.
/P: DropObjectsNotInSource=(BOOLEAN 'False') Menentukan apakah objek yang tidak ada dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan ke database. Nilai ini lebih diutamakan daripada DropExtendedProperties.
/P: DropPermissionsNotInSource=(BOOLEAN 'False') Menentukan apakah izin yang tidak ada dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan pembaruan ke database.
/P: DropRoleMembersNotInSource=(BOOLEAN 'False') Menentukan apakah anggota peran yang tidak ditentukan dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan pembaruan ke database.
/P: DropStatisticsNotInSource=(BOOLEAN 'True') Menentukan apakah statistik yang tidak ada dalam file rekam jepret database (.dacpac) akan dihilangkan dari database target saat Anda menerbitkan ke database.
/P: EnclaveAttestationProtocol=(STRING) Menentukan protokol pengesahan yang akan digunakan dengan Always Encrypted berbasis enklave.
/P: EnclaveAttestationUrl=(STRING) Menentukan URL pengesahan enklave (titik akhir layanan pengesahan) yang akan digunakan dengan Always Encrypted berbasis enklave.
/P: ExcludeObjectType=(STRING) Jenis objek yang harus diabaikan selama penyebaran. Nama jenis objek yang valid adalah Agregat, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Kontrak, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Default, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Login, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, External Aliran, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages. Properti ini dapat ditentukan beberapa kali untuk menunjukkan beberapa opsi.
/P: ExcludeObjectTypes=(STRING) Daftar tipe objek yang dibatasi titik koma yang harus diabaikan selama penyebaran. Nama jenis objek yang valid adalah Agregat, ApplicationRoles, Assemblies, AssemblyFiles, AsymmetricKeys, BrokerPriorities, Certificates, ColumnEncryptionKeys, ColumnMasterKeys, Kontrak, DatabaseOptions, DatabaseRoles, DatabaseTriggers, Default, ExtendedProperties, ExternalDataSources, ExternalFileFormats, ExternalTables, Filegroups, Files, FileTables, FullTextCatalogs, FullTextStoplists, MessageTypes, PartitionFunctions, PartitionSchemes, Permissions, Queues, RemoteServiceBindings, RoleMembership, Rules, ScalarValuedFunctions, SearchPropertyLists, SecurityPolicies, Sequences, Services, Signatures, StoredProcedures, SymmetricKeys, Synonyms, Tables, TableValuedFunctions, UserDefinedDataTypes, UserDefinedTableTypes, ClrUserDefinedTypes, Users, Views, XmlSchemaCollections, Audits, Credentials, CryptographicProviders, DatabaseAuditSpecifications, DatabaseEncryptionKeys, DatabaseScopedCredentials, Endpoints, ErrorMessages, EventNotifications, EventSessions, LinkedServerLogins, LinkedServers, Login, MasterKeys, Routes, ServerAuditSpecifications, ServerRoleMembership, ServerRoles, ServerTriggers, External Aliran, ExternalStreamingJobs, DatabaseWorkloadGroups, WorkloadClassifiers, ExternalLibraries, ExternalLanguages.
/P: GenerateSmartDefaults=(BOOLEAN 'False') Secara otomatis menyediakan nilai default saat memperbarui tabel yang berisi data dengan kolom yang tidak memperbolehkan nilai null.
/P: HashObjectNamesInLogs=(BOOLEAN 'False') Menentukan apakah akan mengganti semua nama objek dalam log dengan nilai hash acak.
/P: IgnoreAnsiNulls=(BOOLEAN 'True') Menentukan apakah perbedaan dalam pengaturan ANSI NULLS harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreAuthorizer=(BOOLEAN 'False') Menentukan apakah perbedaan dalam Authorizer harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreColumnCollation=(BOOLEAN 'False') Menentukan apakah perbedaan dalam kolase kolom harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreColumnOrder=(BOOLEAN 'False') Menentukan apakah perbedaan dalam urutan kolom tabel harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreComments=(BOOLEAN 'False') Menentukan apakah perbedaan dalam komentar harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreCryptographicProviderFilePath=(BOOLEAN 'True') Menentukan apakah perbedaan dalam jalur file untuk penyedia kriptografi harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreDatabaseWorkloadGroups=(BOOLEAN 'False') Menentukan apakah akan mengecualikan grup beban kerja yang ada pada target selama penyebaran. Tidak ada Grup Beban Kerja Database yang akan ditambahkan, dimodifikasi, atau dihilangkan.
/P: IgnoreDdlTriggerOrder=(BOOLEAN 'False') Menentukan apakah perbedaan dalam urutan pemicu Data Definition Language (DDL) harus diabaikan atau diperbarui saat Anda menerbitkan ke database atau server.
/P: IgnoreDdlTriggerState=(BOOLEAN 'False') Menentukan apakah perbedaan dalam status pemicu Data Definition Language (DDL) yang diaktifkan atau dinonaktifkan harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreDefaultSchema=(BOOLEAN 'False') Menentukan apakah perbedaan dalam skema default harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreDmlTriggerOrder=(BOOLEAN 'False') Menentukan apakah perbedaan dalam urutan pemicu Data Manipulation Language (DML) harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreDmlTriggerState=(BOOLEAN 'False') Menentukan apakah perbedaan dalam status pemicu DML yang diaktifkan atau dinonaktifkan harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreExtendedProperties=(BOOLEAN 'False') Menentukan apakah perbedaan dalam properti yang diperluas harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreFileAndLogFilePath=(BOOLEAN 'True') Menentukan apakah perbedaan dalam jalur untuk file dan file log harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreFilegroupPlacement=(BOOLEAN 'True') Menentukan apakah perbedaan dalam penempatan objek dalam FILEGROUP harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreFileSize=(BOOLEAN 'True') Menentukan apakah perbedaan dalam ukuran file harus diabaikan atau apakah peringatan harus dikeluarkan saat Anda menerbitkan ke database.
/P: IgnoreFillFactor=(BOOLEAN 'True') Menentukan apakah perbedaan dalam faktor pengisian untuk penyimpanan indeks harus diabaikan atau apakah peringatan harus dikeluarkan saat Anda menerbitkan ke database.
/P: IgnoreFullTextCatalogFilePath=(BOOLEAN 'True') Menentukan apakah perbedaan dalam jalur file untuk katalog teks lengkap harus diabaikan atau apakah peringatan harus dikeluarkan saat Anda menerbitkan ke database.
/P: IgnoreIdentitySeed=(BOOLEAN 'False') Menentukan apakah perbedaan dalam seed untuk kolom identitas harus diabaikan atau diperbarui saat Anda menerbitkan pembaruan ke database.
/P: IgnoreIncrement=(BOOLEAN 'False') Menentukan apakah perbedaan dalam kenaikan untuk kolom identitas harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreIndexOptions=(BOOLEAN 'False') Menentukan apakah perbedaan dalam opsi indeks harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreIndexPadding=(BOOLEAN 'True') Menentukan apakah perbedaan dalam padding indeks harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreKeywordCasing=(BOOLEAN 'True') Menentukan apakah perbedaan dalam casing kata kunci harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreLockHintsOnIndexes=(BOOLEAN 'False') Menentukan apakah perbedaan petunjuk kunci pada indeks harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreLoginSids=(BOOLEAN 'True') Menentukan apakah perbedaan dalam nomor identifikasi keamanan (SID) harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreNotForReplication=(BOOLEAN 'False') Menentukan apakah tidak untuk pengaturan replikasi harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreObjectPlacementOnPartitionScheme=(BOOLEAN 'True') Menentukan apakah penempatan objek pada skema partisi harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnorePartitionSchemes=(BOOLEAN 'False') Menentukan apakah perbedaan dalam skema dan fungsi partisi harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnorePermissions=(BOOLEAN 'False') Menentukan apakah perbedaan dalam izin harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreQuotedIdentifiers=(BOOLEAN 'True') Menentukan apakah perbedaan dalam pengaturan pengidentifikasi yang dikutip harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreRoleMembership=(BOOLEAN 'False') Menentukan apakah perbedaan dalam keanggotaan peran login harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreRouteLifetime=(BOOLEAN 'True') Menentukan apakah perbedaan dalam jumlah waktu SQL Server mempertahankan rute dalam tabel perutean harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreSemicolonBetweenStatements=(BOOLEAN 'True') Menentukan apakah perbedaan dalam titik koma antara pernyataan T-SQL akan diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreSensitivityClassifications=(BOOLEAN 'False') Menentukan apakah klasifikasi sensitivitas data pada kolom harus diabaikan saat membandingkan model skema. Ini hanya berfungsi untuk klasifikasi yang ditambahkan dengan sintaks ADD SENSITIVITY CLASSIFICATION yang diperkenalkan dalam SQL 2019.
/P: IgnoreTableOptions=(BOOLEAN 'False') Menentukan apakah perbedaan dalam opsi tabel akan diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreTablePartitionOptions=(BOOLEAN 'False') Menentukan apakah perbedaan dalam opsi partisi tabel akan diabaikan atau diperbarui saat Anda menerbitkan ke database. Opsi ini hanya berlaku untuk database kumpulan SQL khusus Azure Synapse Analytics.
/P: IgnoreUser Pengaturan Objects=(BOOLEAN 'False') Menentukan apakah perbedaan dalam objek pengaturan pengguna akan diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreWhitespace=(BOOLEAN 'True') Menentukan apakah perbedaan dalam spasi kosong akan diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreWithNocheckOnCheckConstraints=(BOOLEAN 'False') Menentukan apakah perbedaan nilai klausa WITH NOCHECK untuk batasan pemeriksaan akan diabaikan atau diperbarui saat Anda menerbitkan.
/P: IgnoreWithNocheckOnForeignKeys=(BOOLEAN 'False') Menentukan apakah perbedaan nilai klausa WITH NOCHECK untuk kunci asing akan diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: IgnoreWorkloadClassifiers=(BOOLEAN 'False') Menentukan apakah akan mengecualikan pengklasifikasi beban kerja yang ada pada target selama penyebaran.
/P: IncludeCompositeObjects=(BOOLEAN 'False') Sertakan semua elemen komposit dengan database yang sama sebagai bagian dari satu operasi penerbitan.
/P: IncludeTransactionalScripts=(BOOLEAN 'False') Menentukan apakah pernyataan transaksional harus digunakan jika memungkinkan saat Anda menerbitkan ke database.
/P: IsAlwaysEncryptedParameterizationEnabled=(BOOLEAN 'False') Mengaktifkan parameterisasi variabel pada kolom Always Encrypted dalam skrip pra/pasca penyebaran.
/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: NoAlterStatementsToChangeClrTypes=(BOOLEAN 'False') Menentukan bahwa penerbitan harus selalu menghilangkan dan membuat ulang assembly jika ada perbedaan alih-alih mengeluarkan pernyataan ALTER ASSEMBLY.
/P: PerformIndexOperationsOnline=(BOOLEAN 'False') Menentukan apakah akan melakukan operasi indeks secara online selama penyebaran.
/P: PopulateFilesOnFileGroups=(BOOLEAN 'True') Menentukan apakah file baru juga dibuat ketika FileGroup baru dibuat dalam database target.
/P: PreserveIdentityLastValues=(BOOLEAN 'False') Menentukan apakah nilai terakhir untuk kolom identitas harus dipertahankan selama penyebaran.
/P: RebuildIndexesOfflineForDataPhase=(BOOLEAN 'False') Membangun kembali indeks secara offline setelah mengimpor data.
/P: RegisterDataTierApplication=(BOOLEAN 'False') Menentukan apakah skema terdaftar di server database.
/P: RestoreSequenceCurrentValue=(BOOLEAN 'True') Menentukan apakah nilai objek urutan saat ini harus disebarkan dengan file dacpac, nilai defaultnya adalah True.
/P: RunDeploymentPlanExecutors=(BOOLEAN 'False') Menentukan apakah kontributor DeploymentPlanExecutor harus dijalankan saat operasi lain dijalankan.
/P: ScriptDatabaseCollation=(BOOLEAN 'False') Menentukan apakah perbedaan dalam kolase database harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: ScriptDatabaseCompatibility=(BOOLEAN 'False') Menentukan apakah perbedaan dalam kompatibilitas database harus diabaikan atau diperbarui saat Anda menerbitkan ke database.
/P: ScriptDatabaseOptions=(BOOLEAN 'True') Menentukan apakah properti database target harus diatur atau diperbarui sebagai bagian dari tindakan terbitkan.
/P: ScriptDeployStateChecks=(BOOLEAN 'False') Menentukan apakah pernyataan dihasilkan dalam skrip penerbitan untuk memverifikasi bahwa nama database dan nama server cocok dengan nama yang ditentukan dalam proyek database.
/P: ScriptFileSize=(BOOLEAN 'False') Mengontrol apakah ukuran ditentukan ketika menambahkan file ke grup file.
/P: ScriptNewConstraintValidation=(BOOLEAN 'True') Di akhir penerbitan semua batasan akan diverifikasi sebagai satu set, menghindari kesalahan data yang disebabkan oleh cek atau batasan kunci asing di tengah publikasi. Jika diatur ke False, batasan Anda diterbitkan tanpa memeriksa data yang sesuai.
/P: ScriptRefreshModule=(BOOLEAN 'True') Sertakan pernyataan refresh di akhir skrip penerbitan.
/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 mungkin diperlukan dan hanya tersedia untuk versi .NET Framework dari SqlPackage.
/P: TreatVerificationErrorsAsWarnings=(BOOLEAN 'False') Menentukan apakah kesalahan yang ditemui selama verifikasi penerbitan harus diperlakukan sebagai peringatan. Pemeriksaan dilakukan terhadap rencana penyebaran yang dihasilkan sebelum rencana dijalankan terhadap database target Anda. Verifikasi rencana mendeteksi masalah seperti hilangnya objek khusus target (seperti indeks) yang harus dihilangkan untuk membuat perubahan. Verifikasi juga akan mendeteksi situasi di mana dependensi (seperti tabel atau tampilan) ada karena referensi ke proyek komposit, tetapi tidak ada di database target. Anda mungkin memilih untuk melakukan ini untuk mendapatkan daftar lengkap semua masalah, alih-alih menghentikan tindakan terbitkan pada kesalahan pertama.
/P: UnmodifiableObjectWarnings=(BOOLEAN 'True') Menentukan apakah peringatan harus dihasilkan ketika perbedaan ditemukan dalam objek yang tidak dapat dimodifikasi, misalnya, jika ukuran file atau jalur file berbeda untuk file.
/P: VerifyCollationCompatibility=(BOOLEAN 'True') Menentukan apakah kompatibilitas kolabasi diverifikasi.
/P: VerifyDeployment=(BOOLEAN 'True') Menentukan apakah pemeriksaan harus dilakukan sebelum menerbitkan yang akan menghentikan tindakan terbitkan jika ada masalah yang mungkin memblokir penerbitan yang berhasil. Misalnya, tindakan terbitkan Anda mungkin berhenti jika Anda memiliki kunci asing pada database target yang tidak ada dalam proyek database, dan itu menyebabkan kesalahan saat Anda menerbitkan.

Variabel SQLCMD

Tabel berikut ini menjelaskan format opsi yang bisa Anda gunakan untuk mengambil alih nilai variabel perintah SQL (sqlcmd) yang digunakan selama tindakan publikasi. Nilai variabel yang ditentukan pada baris perintah mengambil alih nilai lain yang ditetapkan ke variabel (misalnya, dalam profil penerbitan).

Parameter Default Deskripsi
/v:{PropertyName}={Value} Menentukan pasangan nilai nama untuk variabel khusus tindakan; {VariableName}={Value}. File DACPAC berisi daftar variabel SQLCMD yang valid. Kesalahan menghasilkan jika nilai tidak disediakan untuk setiap variabel.

Langkah berikutnya