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.
SqlPackage Dışarı Aktarma eylemi, bağlı veritabanını bir BACPAC dosyasına (.bacpac) aktarır. Varsayılan olarak, tüm tabloların verileri .bacpac dosyasına eklenir. İsteğe bağlı olarak, verilerin dışarı aktarıldığı tabloların yalnızca bir alt kümesini belirtebilirsiniz. Dışarı Aktar eylemi, SqlPackage'ın veritabanı taşınabilirlik işlevselliğinin bir parçasıdır.
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 dışarı aktarma işlemi 200 GB'ın altındaki veritabanları için en iyi performansı gösterir. Daha büyük veritabanları için, bu makalede mevcut olan özellikleri ve SqlPackage ile Sorun Giderme tavsiyelerini kullanarak işlemi optimize etmek isteyebilirsiniz ya da alternatif olarak parquet dosyalarındaki veriler üzerinden veritabanı taşınabilirliği sağlayabilirsiniz.
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:Export {parameters} {properties}
Gerekli parametreler
Dışarı Aktar eylemi, oluşturulacak .bacpac dosyasının adını ve konumunu belirtmek için bir TargetFile parametre gerektirir. Bu konumun, komutu çalıştıran kullanıcı tarafından yazılabilir olması ve içeren klasörün mevcut olması gerekir.
Dışarı Aktar eylemi, aşağıdakilerin bir bileşimi aracılığıyla bir veritabanı kaynağının da belirtilmesi gerekir:
-
SourceServerNameveSourceDatabaseNameparametreleri veya -
SourceConnectionStringparametre.
Örnekler
# example export from Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
/SourceConnectionString:"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 export using short form parameter names, skips schema validation
SqlPackage /a:Export /ssn:"{yourserver}.database.windows.net,1433" /sdn:"AdventureWorksLT" /su:"sqladmin" \
/sp:"{your_password}" /tf:"C:\AdventureWorksLT.bacpac" /p:VerifyExtraction=False
# example export using Microsoft Entra managed identity
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
/SourceConnectionString:"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 export connecting using Microsoft Entra username and password
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
/SourceConnectionString:"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 export connecting using Microsoft Entra universal authentication
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" /UniversalAuthentication:True \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Dışarı Aktar eylemi için parametreler
| Parametre | Kısa Form | Değer | Açıklama |
|---|---|---|---|
| /AccessToken: | /at: | {string} | Hedef veritabanına bağlanırken kullanılacak belirteç tabanlı kimlik doğrulama erişim belirtecini belirtir. |
| /Eylem: | /a: | İhracat | 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ış} | Tanılama günlüğünün konsola çıktı verip vermediğini belirtir. Varsayılan olarak False ayarlanmıştır. |
| /DiagnosticsFile: | /Df: | {string} | Tanılama günlüklerini depolamak için bir dosya belirtir. |
| /DiagnosticsLevel: | /dl | {Yok|Kapalı|Kritik|Hata|Uyarı|Bilgi|Detaylı} | izleme iletilerinin filtrelenmiş tanılama dosyasında hangi düzeylerde yer alacağını belirtir |
| /MaksimumParalellik: | /Mp: | {int} | Bir veritabanında çalıştırılan eşzamanlı işlemler için paralellik derecesini belirtir. Varsayılan değer 8'dir. |
| /OverwriteFiles: | /of: | {Doğru|Yanlış} | SqlPackage'ın var olan dosyaların üzerine yazıp yazmaması gerektiğini belirtir. False belirtilmesi, var olan bir dosyayla karşılaşıldığında SqlPackage'ın eylemi durdurmasına neden olur. Varsayılan değer True'dur. |
| /Özellikler: | /p: | {PropertyName}={Value} | Eyleme özgü bir özellik iç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. |
| /SourceConnectionString: | /scs: | {string} | Kaynak veritabanına geçerli bir SQL Server/Azure bağlantı dizesi belirtir. Bu parametre belirtilirse, yalnızca diğer tüm kaynak parametrelerinden kullanılmalıdır. |
| /SourceDatabaseName: | /sdn: | {string} | Kaynak veritabanının adını tanımlar. |
| /SourceEncryptConnection: | /saniye: | {İsteğe bağlı|Zorunlu|Katı|Doğru|Yanlış} | Kaynak veritabanı bağlantısı için SQL şifrelemesinin kullanılıp kullanılmayacağı belirtir. Varsayılan değer True'dur. |
| /SourceHostNameInCertificate: | /shnic: | {string} | İletişim katmanı TLS kullanılarak şifrelendiğinde kaynak SQL Server TLS/SSL sertifikasını doğrulamak için kullanılan değeri belirtir. |
| /SourcePassword: | /Sp: | {string} | SQL Server Kimlik Doğrulama senaryoları için, kaynak veritabanına erişmek için kullanılacak parolayı tanımlar. |
| /SourceServerName: | /ssn: | {string} | Kaynak veritabanını barındıran sunucunun adını tanımlar. |
| /SourceTimeout: | /st: | {int} | Kaynak veritabanıyla bağlantı kurmak için zaman aşımını saniye cinsinden belirtir. |
| /SourceTrustServerCertificate: | /stsc: | {Doğru|Yanlış} | Kaynak veritabanı bağlantısını şifrelemek için TLS'nin kullanılıp kullanılmayacağını ve güveni doğrulamak için sertifika zinciri adımını atlamayı belirtir. Varsayılan değer False'tur. |
| /SourceUser: | /su: | {string} | SQL Server Kimlik Doğrulaması senaryoları için, kaynak veritabanına erişmek için kullanılacak SQL Server kullanıcısını tanımlar. |
| /TargetFile: | /tf: | {string} | Veritabanı yerine eylem hedefi olarak kullanılacak hedef dosyayı (yani bir .dacpac dosyası) belirtir. Bu parametre kullanılırsa, başka bir hedef parametre geçerli olmaz. Bu parametre yalnızca veritabanı hedeflerini destekleyen eylemler için geçersiz olacaktır. |
| /TenantId: | /tid: | {string} | Microsoft Entra kiracı kimliğini veya etki alanı adını temsil eder. 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. Bu parametre atlanırsa, kimliği doğrulanmış kullanıcının bu kiracı için yerel bir kullanıcı olduğu varsayılarak Microsoft Entra Kimliği için varsayılan kiracı kimliği kullanılır. 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. Bu seçenek yalnızca çok büyük Transact-SQL deyimleri ayrıştırılırken oluşan yığın taşması istisnalarıyla karşılaşılırsa kullanılmalıdır. |
| /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) . |
Dışarı Aktar eylemine özgü özellikler
| Mülkiyet | Değer | Açıklama |
|---|---|---|
| /p: | CommandTimeout=(INT32 '60') | SQL Server'da sorgu yürütürken komut zaman aşımını saniyeler içinde belirtir. |
| /p: | CompressionOption=({Normal|Maksimum|Hızlı|SüperHızlı|Sıkıştırılmamış} 'Normal') | Sıkıştırma türünü belirtir. |
| /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: | HashObjectAdlariniGünlüklerdeÖzetle=(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: | IgnoreIndexesStatisticsOnEnclaveEnabledColumns=(BOOLE 'Yanlış') | Rastgeleleştirilmiş şifreleme ve kapanım destekli sütun şifreleme anahtarları kullanılarak şifrelenen sütunlardaki dizinlerin veya istatistiklerin yoksayılıp yoksayılmayacağını belirtir (oluşturulan bacpac dosyasına dahil edilmeyecek şekilde). Varsayılan olarak (false) rastgele şifreleme ve kapanım özellikli bir sütun şifreleme anahtarı kullanılarak şifrelenmiş bir sütundaki dizin veya istatistik dışarı aktarma eylemini engeller. |
| /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: | Depolama=({Dosya|Bellek}) | Ayıklama sırasında kullanılan şema modeli için yedekleme depolama türünü belirtir. 'Bellek', SqlPackage'ın .NET Core sürümü için varsayılan ayardır. 'Dosya' yalnızca SqlPackage'ın .NET Framework sürümü için kullanılabilir ve varsayılandır. |
| /p: | TableData=(STRING) | Verilerin ayıklanacağı tabloyu gösterir. Ad bölümlerini çevreleyen köşeli ayraçlar içeren veya olmayan tablo adını şu biçimde belirtin: schema_name.table_identifier. Bu özellik, birden çok seçeneği belirtmek için birden çok kez belirtilebilir. |
| /p: | TargetEngineVersion=({Default|En Son|V11|V12} 'Latest') | Bu özellik kullanım dışıdır ve kullanılması önerilmez. Azure SQL Veritabanı için hedef altyapının beklenen sürümünü belirtir. |
| /p: | TempDirectoryForTableData=(STRING) | Paket dosyasına yazılmadan önce tablo verilerini arabelleğe almak için kullanılan alternatif bir geçici dizin belirtir. Bu konumda gereken alan büyük olabilir ve veritabanının tam boyutuna göre değişir. |
| /p: | VerifyExtraction=(BOOLEAN 'True') | Ayıklanan şema modelinin doğrulanıp doğrulanmayacağını belirtir. True olarak ayarlanırsa, şema doğrulama kuralları dacpac veya bacpac üzerinde çalıştırılır. |
| /p: | VerifyFullTextDocumentTypesSupported=(BOOLEAN 'Yanlış') | Microsoft Azure SQL Veritabanı v12 için desteklenen tam metin belge türlerinin doğrulanıp doğrulanmayacağını belirtir. |
Sonraki Adımlar
- SqlPackage hakkında daha fazla bilgi edinin
- SqlPackage ile ilgili sorun giderme
- Azure Blob Depolama'ya aktarma