Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
The SqlPackage Import action imports the schema and table data from a BACPAC file (.bacpac) into a new or empty database in SQL Server or Azure SQL Database. At the time of the import operation to an existing database the target database cannot contain any user-defined schema objects. Alternatively, a new database can be created by the import action when the authenticated user has create database permissions. The Import action is part of the database portability functionality of SqlPackage.
Uyarı
Microsoft Entra ID, Azure Active Directory (Azure AD) içinyeni ad olsa da, mevcut ortamların kesintiye uğramasını önlemek için Azure AD yine de kullanıcı arabirimi alanları, bağlantı sağlayıcıları, hata kodları ve cmdlet'ler gibi sabit kodlanmış bazı öğelerde kalır. Bu makalede, iki ad birbirinin yerine kullanılabilir.
Uyarı
SqlPackage import performs best for databases under 200GB. For larger databases, you may want to optimize the operation using properties available in this article and tips in Troubleshooting with SqlPackage or alternatively achieve database portability through data in parquet files.
Komut satırı söz dizimi
SqlPackage, komut satırında belirtilen parametreleri, özellikleri ve SQLCMD değişkenlerini kullanarak belirtilen eylemleri başlatır.
SqlPackage /Action:Import {parameters} {properties}
Gerekli parametreler
The Import action requires a SourceFile
parameter to specify the name and location of the .bacpac file containing the database objects and data.
The Export action requires a target connection where a new database will be created by SqlPackage or where a blank database is present. This is specified either through a combination of:
-
TargetServerName
andTargetDatabaseName
parameters, or -
TargetConnectionString
parameter.
Örnekler
# 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;"
Parameters for the Import action
Parameter | Kısa Form | Value | Açıklama |
---|---|---|---|
/AccessToken: | /at: | {string} | Hedef veritabanına bağlanırken kullanılacak belirteç tabanlı kimlik doğrulama erişim belirtecini belirtir. |
/Action: | /a: | İthalat | Gerçekleştirilecek eylemi belirtir. |
/AzureCloudConfig: | /acc: | {string} | Microsoft Entra Id'ye bağlanmak için özel uç noktaları şu biçimde belirtir: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" . |
/Teşhis: | /d: | {Doğru|Yanlış} | Specifies whether diagnostic logging is output to the console. Varsayılan olarak False ayarlanmıştır. |
/DiagnosticsFile: | /df: | {string} | Tanılama günlüklerini depolamak için bir dosya belirtir. |
/DiagnosticsLevel: | /dl | {None|Off|Critical|Error|Warning|Information|Verbose} | izleme iletilerinin filtrelenmiş tanılama dosyasında hangi düzeylerde yer alacağını belirtir |
/DiagnosticsPackageFile: | /dpf | {string} | Tanılama paketini depolamak için bir dosya belirtir. |
/MaxParallelism: | /mp: | {int} | Bir veritabanında çalıştırılan eşzamanlı işlemler için paralellik derecesini belirtir. Varsayılan değer 8'dir. |
/ModelFilePath: | /mfp: | {string} | Kaynak dosyadaki model.xml geçersiz kılmak için dosya yolunu belirtir. Bu ayarın kullanılması dağıtım hatasına ve/veya istenmeyen veri kaybına neden olabilir. Bu ayar yalnızca yayımlama, içeri aktarma veya betik oluşturma sorunlarını giderirken kullanılmak üzere tasarlanmıştır. |
/Özellikler: | /p: | {PropertyName}={Value} | eyleme özgü özellikiçin bir ad değer çifti belirtir; {PropertyName}={Value}. |
/Sessiz: | /q: | {Doğru|Yanlış} | Ayrıntılı geri bildirimin gizlenip gizlenmeyeceğini belirtir. Varsayılan olarak False ayarlanmıştır. |
/SourceFile: | /sf: | {string} | Specifies a source file to be used as the source of action from local storage. Bu parametre kullanılırsa, başka bir kaynak parametre geçerli olmaz. |
/TargetConnectionString: | /tcs: | {string} | Specifies a valid SQL Server/Azure connection string to the target database. Bu parametre belirtilirse, yalnızca diğer tüm hedef parametrelerden kullanılmalıdır. |
/TargetDatabaseName: | /tdn: | {string} | SqlPackage Eyleminin hedefi olan veritabanı adı için bir üstteki ayarı belirtir. |
/HedefŞifreliBağlantı: | /tec: | {Optional|Mandatory|Strict|True|False} | Hedef veritabanı bağlantısı için SQL şifrelemesinin kullanılıp kullanılmayacağı belirtir. Varsayılan değer True'dur. |
/TargetHostNameInCertificate: | /etnik: | {string} | İletişim katmanı TLS kullanılarak şifrelendiğinde hedef SQL Server TLS/SSL sertifikasını doğrulamak için kullanılan değeri belirtir. |
/HedefŞifre: | /tp: | {string} | SQL Server Kimlik Doğrulama senaryoları için, hedef veritabanına erişmek için kullanılacak parolayı tanımlar. |
/TargetServerName: | /tsn: | {string} | Hedef veritabanını barındıran sunucunun adını tanımlar. |
/HedefZamanAşımı: | /tt: | {int} | Saniyeler içinde hedef veritabanına bağlantı kurmak için zaman aşımını belirtir. Microsoft Entra Id için bu değerin 30 saniyeden büyük veya buna eşit olması önerilir. |
/TargetTrustServerCertificate: | /ttsc: | {Doğru|Yanlış} | Specifies whether to use TLS to encrypt the target database connection and bypass walking the certificate chain to validate trust. Varsayılan değer False'tur. |
/TargetUser: | /tu: | {string} | SQL Server Kimlik Doğrulaması senaryoları için, hedef veritabanına erişmek için kullanılacak SQL Server kullanıcısını tanımlar. |
/TenantId: | /tid: | {string} | Represents the Microsoft Entra tenant ID or domain name. Bu seçenek konuk veya içeri aktarılan Microsoft Entra kullanıcılarının yanı sıra outlook.com, hotmail.com veya live.com gibi Microsoft hesaplarını desteklemek için gereklidir. If this parameter is omitted, the default tenant ID for Microsoft Entra ID will be used, assuming that the authenticated user is a native user for this AD. Bu durumda, bu Microsoft Entra Kimliğinde barındırılan konuk veya içeri aktarılan kullanıcılar ve/veya Microsoft hesapları desteklenmez, işlem başarısızlıkla sonuçlanır. Daha fazla bilgi için bkz. SQL Veritabanı ve Azure Synapse Analytics ile Evrensel kimlik doğrulaması (MFA için SSMS desteği) . |
/ThreadMaxStackSize: | /tmss: | {int} | SqlPackage eylemini çalıştıran iş parçacığı için megabayt cinsinden en büyük boyutu belirtir. This option should only be used when encountering stack overflow exceptions that occur when parsing very large Transact-SQL statements. |
/UniversalAuthentication: | /ua: | {Doğru|Yanlış} | Evrensel kimlik doğrulamasının kullanılıp kullanılmayacağı belirtir. True olarak ayarlandığında, MFA'yı destekleyen etkileşimli kimlik doğrulama protokolü etkinleştirilir. Bu seçenek, kullanıcının kullanıcı adını ve parolasını veya tümleşik kimlik doğrulamasını (Windows kimlik bilgileri) girmesini gerektiren etkileşimli bir protokol kullanılarak MFA olmadan Microsoft Entra kimlik doğrulaması için de kullanılabilir. /UniversalAuthentication True olarak ayarlandığında SourceConnectionString (/scs) içinde Microsoft Entra kimlik doğrulaması belirtilmez. /UniversalAuthentication False olarak ayarlandığında, Microsoft Entra kimlik doğrulaması SourceConnectionString (/scs) içinde belirtilmelidir. Daha fazla bilgi için bkz. SQL Veritabanı ve Azure Synapse Analytics ile Evrensel kimlik doğrulaması (MFA için SSMS desteği) . |
Properties specific to the Import action
Mülkiyet | Value | Açıklama |
---|---|---|
/p: | CommandTimeout=(INT32 '60') | SQL Server'da sorgu yürütürken komut zaman aşımını saniyeler içinde belirtir. |
/p: | DatabaseEdition=({ Temel | Standart | Premium | DataWarehouse | Genel Amaç | İş Kritiği | Hiperscale | Varsayılan } 'Varsayılan') | Azure SQL Veritabanı'nın sürümünü tanımlar. Bkz. Azure SQL Veritabanı hizmet katmanları. |
/p: | DatabaseLockTimeout=(INT32 '60') | SQLServer'da sorgu yürütürken veritabanı kilitleme zaman aşımını saniyeler içinde belirtir. Süresiz olarak beklemek için -1 kullanın. |
/p: | DatabaseMaximumSize=(INT32 '0') | Azure SQL Veritabanı'nın GB cinsinden en büyük boyutunu tanımlar. |
/p: | DatabaseServiceObjective=(STRING) | Azure SQL Veritabanı'nın "P0" veya "S1" gibi performans düzeyini tanımlar. |
/p: | DisableIndexesForDataPhase=(BOOLEAN 'True') | When true (default), disables indexes before importing data. When false, indexes are not rebuilt. |
/p: | DisableParallelismForEnablingIndexes=(BOOLEAN 'False') | Sql Server'a veri aktarırken dizinleri yeniden oluştururken paralellik kullanmama. |
/p: | HashObjectNamesInLogs=(BOOLEAN 'False') | Günlüklerdeki tüm nesne adlarının rastgele bir karma değerle değiştirilip değiştirilmeyeceğini belirtir. |
/p: | ImportContributorArguments=(STRING) | Specifies deployment contributor arguments for the deployment contributors. Bu özellik, değerlerin noktalı virgülle ayrılmış bir listesi olmalıdır. |
/p: | ImportContributorPaths=(STRING) | Specifies paths to load additional import contributors. Bu özellik, değerlerin noktalı virgülle ayrılmış bir listesi olmalıdır. |
/p: | ImportContributors=(STRING) | Specifies the deployment contributors, which should run when the bacpac is imported. This property should be a semi-colon delimited list of fully qualified build contributor names or IDs. |
/p: | LongRunningCommandTimeout=(INT32 '0') | SQL Server'da sorgu yürütürken uzun süreli komut zaman aşımını saniye cinsinden belirtir. Süresiz olarak beklemek için 0 kullanın. |
/p: | PreserveIdentityLastValues=(BOOLEAN 'False') | Kimlik sütunları için son değerlerin dağıtım sırasında korunup korunmayacağını belirtir. |
/p: | RebuildIndexesOfflineForDataPhase=(BOOLEAN 'False') | When true, rebuilds indexes offline after importing data into SQL Server. |
/p: | Storage=({File|Memory}) | Veritabanı modelini oluştururken öğelerin nasıl depolandığını belirtir. Performans nedenleriyle varsayılan değer InMemory'dir. For large databases, File backed storage is required. |
Sonraki Adımlar
- SqlPackage hakkında daha fazla bilgi edinin
- SqlPackage ile ilgili sorun giderme
- Import from Azure Blob Storage