Aracılığıyla paylaş


Kopyalama etkinliğinde SQL Server için Amazon RDS'yi yapılandırma

Bu makalede, SQL Server için Amazon RDS'den veri kopyalamak için veri işlem hattındaki kopyalama etkinliğinin nasıl kullanılacağı özetlenmiştir.

Desteklenen yapılandırma

Kopyalama etkinliği altındaki her sekmenin yapılandırması için sırasıyla aşağıdaki bölümlere gidin.

Genel

Genel ayarlar sekmesini yapılandırmak için Genel ayarlar kılavuzuna bakın.

Kaynak

Aşağıdaki özellikler, kopyalama etkinliğinin Kaynak sekmesinin altında SQL Server için Amazon RDS için desteklenir.

Kaynak sekmesini ve özellik listesini gösteren ekran görüntüsü.

Aşağıdaki özellikler gereklidir:

  • Veri deposu türü: Dış'ı seçin.

  • Bağlan ion: Bağlantı listesinden SQL Server için Amazon RDS bağlantısı seçin. Bağlantı yoksa Yeni'yi seçerek SQL Server bağlantısı için yeni bir Amazon RDS oluşturun.

  • Bağlan ion türü: SQL Server için Amazon RDS'yi seçin.

  • Sorguyu kullan: Verileri okumanın yolunu belirtin. Tablo, Sorgu veya Saklı yordam'ı seçebilirsiniz. Aşağıdaki listede her ayarın yapılandırması açıklanmaktadır:

    • Tablo: Belirtilen tablodan verileri okuyun. Açılan listeden kaynak tablonuzu seçin veya el ile girmek için Düzenle'yi seçin.

    • Sorgu: Verileri okumak için özel SQL sorgusunu belirtin. select * from MyTable bunun bir örneğidir. İsterseniz kod düzenleyicisinde düzenlemek için kalem simgesini de seçebilirsiniz.

      Sorgu ayarlarını gösteren ekran görüntüsü.

    • Saklı yordam: Kaynak tablodan verileri okuyan saklı yordamı kullanın. Son SQL deyimi, saklı yordamda bir SELECT deyimi olmalıdır.

      • Saklı yordam adı: Saklı yordamı seçin veya kaynak tablodan verileri okumak için düzenle'yi seçerken saklı yordam adını el ile belirtin.

      • Saklı yordam parametreleri: Saklı yordam parametreleri için değerleri belirtin. İzin verilen değerler ad veya değer çiftleridir. Parametrelerin adları ve büyük/küçük harf değerleri, saklı yordam parametrelerinin adlarıyla ve büyük/küçük harfleriyle eşleşmelidir. Saklı yordam parametrelerinizi almak için Parametreleri içeri aktar'ı seçebilirsiniz.

        Saklı yordam ayarlarını gösteren ekran görüntüsü.

Gelişmiş'in altında aşağıdaki alanları belirtebilirsiniz:

  • Sorgu zaman aşımı (dakika):Sorgu komutu yürütme için zaman aşımını belirtin; varsayılan değer 120 dakikadır. Bu özellik için bir parametre ayarlandıysa, izin verilen değerler "02:00:00" (120 dakika) gibi zaman aralığıdır.

  • Yalıtım düzeyi: SQL kaynağı için işlem kilitleme davranışını belirtir. İzin verilen değerler şunlardır: Okuma işlemi yapıldı, Okunmadı, Yinelenebilir okuma, Seri hale getirilebilir, Anlık Görüntü. Belirtilmezse, veritabanının varsayılan yalıtım düzeyi kullanılır. Daha fazla ayrıntı için IsolationLevel Enum'a bakın.

    Yalıtım düzeyi ayarlarını gösteren ekran görüntüsü.

  • Bölüm seçeneği: SQL Server için Amazon RDS'den veri yüklemek için kullanılan veri bölümleme seçeneklerini belirtin. İzin verilen değerler şunlardır: Yok (varsayılan), Tablonun fiziksel bölümleri ve Dinamik aralık. Bir bölüm seçeneği etkinleştirildiğinde (Hiçbiri değil), SQL Server için Amazon RDS'den verileri eşzamanlı olarak yüklemek için paralellik derecesi, kopyalama etkinliği ayarları sekmesindeki Kopyalama paralelliği derecesi tarafından denetlenmektedir.

    • Yok: Bölüm kullanmamak için bu ayarı seçin.

    • Tablonun fiziksel bölümleri: Fiziksel bölüm kullanılırken, bölüm sütunu ve mekanizması fiziksel tablo tanımınıza göre otomatik olarak belirlenir.

    • Dinamik aralık: Paralel etkin sorgu kullanılırken, aralık bölüm parametresi(?DfDynamicRangePartitionCondition) gerekir. Örnek sorgu: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition.

      • Bölüm sütunu adı: Paralel kopyalama için aralık bölümleme tarafından kullanılan kaynak sütunun adını tamsayı veya tarih/tarih saat türünde (int, bigintsmallint, , date, smalldatetime, datetime, , datetime2veya datetimeoffset) belirtin. Belirtilmezse, tablonun dizini veya birincil anahtarı otomatik olarak algılanır ve bölüm sütunu olarak kullanılır.

        Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?DfDynamicRangePartitionCondition . Bir örnek için SQL veritabanından paralel kopyalama bölümüne bakın.

      • Bölüm üst sınırı: Bölüm aralığı bölme için bölüm sütununun en büyük değerini belirtin. Bu değer, tablodaki satırları filtrelemek için değil bölüm adımlarını belirlemek için kullanılır. Tablodaki veya sorgu sonucundaki tüm satırlar bölümlenir ve kopyalanır. Belirtilmezse kopyalama etkinliği değeri otomatik olarak algılar. Bir örnek için SQL veritabanından paralel kopyalama bölümüne bakın.

      • Bölüm alt sınırı: Bölüm aralığı bölme için bölüm sütununun en düşük değerini belirtin. Bu değer, tablodaki satırları filtrelemek için değil bölüm adımlarını belirlemek için kullanılır. Tablodaki veya sorgu sonucundaki tüm satırlar bölümlenir ve kopyalanır. Belirtilmezse kopyalama etkinliği değeri otomatik olarak algılar. Bir örnek için SQL veritabanından paralel kopyalama bölümüne bakın.

  • Ek sütunlar: Kaynak dosyaların göreli yolunu veya statik değerini depolamak için ek veri sütunları ekleyin. İfade, ikincisi için desteklenir.

Aaşağıdaki noktaları unutmayın:

  • Kaynak için Sorgu belirtilirse, kopyalama etkinliği verileri almak için bu sorguyu SQL Server kaynağı için Amazon RDS'de çalıştırır. Saklı yordam parametre alıyorsa Saklı yordam adını ve Saklı yordam parametrelerini belirterek de saklı yordam belirtebilirsiniz.
  • Verileri almak için kaynakta saklı yordamı kullanırken, saklı yordamınızın farklı parametre değeri geçirildiğinde farklı şema döndürme olarak tasarlanıp tasarlanmadiğini, kullanıcı arabiriminden şema içeri aktarılırken veya otomatik tablo oluşturma özelliğiyle SQL veritabanına veri kopyalarken hatayla karşılaşabileceğinizi veya beklenmeyen bir sonuçla karşılaşabileceğinizi unutmayın.

Eşleme

Eşleme sekmesi yapılandırması için Eşleme sekmesinin altında Eşlemelerinizi yapılandırma bölümüne gidin.

Ayarlar

Ayarlar sekme yapılandırması için Ayarlar sekmesinin altındaki Diğer ayarlarınızı yapılandırma bölümüne gidin.

SQL veritabanından paralel kopyalama

Kopyalama etkinliğindeki SQL Server için Amazon RDS bağlayıcısı, verileri paralel olarak kopyalamak için yerleşik veri bölümleme sağlar. Veri bölümleme seçeneklerini kopyalama etkinliğinin Kaynak sekmesinde bulabilirsiniz.

Bölümlenmiş kopyalamayı etkinleştirdiğinizde kopyalama etkinliği, SQL Server kaynağının bölümlere göre veri yüklemesi için Amazon RDS'nizde paralel sorgular çalıştırır. Paralel derece, kopyalama etkinliği ayarları sekmesindeki Kopya paralelliği derecesi ile denetlenilir. Örneğin, Kopyalama paralelliği Derecesi'ni dört olarak ayarlarsanız, hizmet belirtilen bölüm seçeneğinize ve ayarlarınıza göre eşzamanlı olarak dört sorgu oluşturur ve çalıştırır ve her sorgu SQL Server için Amazon RDS'nizden verilerin bir bölümünü alır.

Özellikle SQL Server için Amazon RDS'nizden büyük miktarda veri yüklediğinizde veri bölümleme ile paralel kopyalamayı etkinleştirmeniz önerilir. Farklı senaryolar için önerilen yapılandırmalar aşağıdadır. Verileri dosya tabanlı veri deposuna kopyalarken, bir klasöre birden çok dosya olarak yazmanız önerilir (yalnızca klasör adını belirtin), bu durumda performans tek bir dosyaya yazmaktan daha iyidir.

Senaryo Önerilen ayarlar
Fiziksel bölümleri olan büyük tablodan tam yük. Bölüm seçeneği: Tablonun fiziksel bölümleri.

Yürütme sırasında, hizmet fiziksel bölümleri otomatik olarak algılar ve bölümlere göre verileri kopyalar.

Tablonuzda fiziksel bölüm olup olmadığını denetlemek için bu sorguya bakabilirsiniz.
Veri bölümleme için bir tamsayı veya tarih saat sütunuyla birlikte fiziksel bölümler olmadan büyük tablodan tam yük. Bölüm seçenekleri: Dinamik aralık bölümü.
Bölüm sütunu (isteğe bağlı): Verileri bölümleme için kullanılan sütunu belirtin. Belirtilmezse birincil anahtar sütunu kullanılır.
Bölüm üst sınırı ve bölüm alt sınırı (isteğe bağlı): Bölüm adımını belirlemek isteyip istemediğinizi belirtin. Bu, tablodaki satırları filtrelemek için değildir, tablodaki tüm satırlar bölümlenir ve kopyalanır. Belirtilmezse kopyalama etkinliği otomatik olarak değerleri algılar ve MIN ve MAX değerlerine bağlı olarak uzun sürebilir. Üst ve alt sınır sağlanması önerilir.

Örneğin, "ID" bölüm sütununuzun değerleri 1 ile 100 arasındaysa ve alt sınırı 20, üst sınırı da 80 olarak ayarladıysanız, paralel kopya 4 bölüme göre veri alır: =20, [21, 50], [51, 80] ve >=81 aralığındaki <kimlikler.
Veri bölümleme için tamsayı veya tarih/tarih saat sütunuylayken fiziksel bölümler olmadan özel bir sorgu kullanarak büyük miktarda veri yükleyin. Bölüm seçenekleri: Dinamik aralık bölümü.
Sorgu: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Bölüm sütunu: Verileri bölümleme için kullanılan sütunu belirtin.
Bölüm üst sınırı ve bölüm alt sınırı (isteğe bağlı): Bölüm adımını belirlemek isteyip istemediğinizi belirtin. Bu tablodaki satırları filtrelemek için değildir, sorgu sonucundaki tüm satırlar bölümlenir ve kopyalanır. Belirtilmezse kopyalama etkinliği değeri otomatik olarak algılar.

Örneğin, bölüm sütununuz "ID" 1 ile 100 arasında değerlere sahipse ve alt sınırı 20, üst sınırı 80 olarak ayarlarsanız ve paralel kopya 4 olarak ayarlanırsa, hizmet verileri sırasıyla =20, [21, 50], [51, 80] ve >=81 aralığındaki <4 bölüme göre alır.

Farklı senaryolar için daha fazla örnek sorgu aşağıda verilmiştir:
• Tablonun tamamını sorgula:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
• Sütun seçimi ve ek where-yan tümcesi filtreleri içeren bir tablodan sorgu:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• Alt sorgularla sorgu:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• Alt sorguda bölüm içeren sorgu:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Bölüm seçeneğiyle veri yüklemek için en iyi yöntemler:

  1. Veri dengesizliği önlemek için bölüm sütunu (birincil anahtar veya benzersiz anahtar gibi) olarak ayırt edici sütunu seçin.
  2. Tabloda yerleşik bölüm varsa, daha iyi performans elde etmek için bölüm seçeneğini Kullanın Tablonun fiziksel bölümleri.

Fiziksel bölümü denetlemek için örnek sorgu

SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, pf.name AS PartitionFunctionName, c.name AS ColumnName, iif(pf.name is null, 'no', 'yes') AS HasPartition
FROM sys.tables AS t
LEFT JOIN sys.objects AS o ON t.object_id = o.object_id
LEFT JOIN sys.schemas AS s ON o.schema_id = s.schema_id
LEFT JOIN sys.indexes AS i ON t.object_id = i.object_id 
LEFT JOIN sys.index_columns AS ic ON ic.partition_ordinal > 0 AND ic.index_id = i.index_id AND ic.object_id = t.object_id 
LEFT JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id 
LEFT JOIN sys.partition_schemes ps ON i.data_space_id = ps.data_space_id 
LEFT JOIN sys.partition_functions pf ON pf.function_id = ps.function_id 
WHERE s.name='[your schema]' AND t.name = '[your table name]'

Tabloda fiziksel bölüm varsa, "HasPartition" öğesini aşağıdaki gibi "evet" olarak görürsünüz.

Sql sorgusu sonucu

Tablo özeti

ÖZET ve SQL Server için Amazon RDS kopyalama etkinliği hakkında daha fazla bilgi için aşağıdaki tabloya bakın.

Kaynak bilgileri

Veri Akışı Adı Açıklama Değer Zorunlu JSON betik özelliği
Veri deposu türü Veri deposu türünüz. Harici Yes /
Bağlantı Kaynak veri deposuyla bağlantınız. < bağlantınız > Yes bağlantı
Bağlantı türü Bağlantı türünüz. SQL Server için Amazon RDS'yi seçin. SQL Server için Amazon RDS Yes /
Sorguyu kullanma Verileri okumak için özel SQL sorgusu. •Tablo
•Sorgu
• Saklı yordam
Yes /
Table Kaynak veri tablonuz. < hedef tablonuzun adı> Hayır Şema
table
Sorgu Verileri okumak için özel SQL sorgusu. < sorgunuz > Hayır sqlReaderQuery
Saklı yordam adı Bu özellik, kaynak tablodan verileri okuyan saklı yordamın adıdır. Son SQL deyimi, saklı yordamda bir SELECT deyimi olmalıdır. < saklı yordam adı > Hayır sqlReaderStoredProcedureName
Saklı yordam parametresi Bu parametreler saklı yordam içindir. İzin verilen değerler ad veya değer çiftleridir. Parametrelerin adları ve büyük/küçük harf değerleri, saklı yordam parametrelerinin adlarıyla ve büyük/küçük harfleriyle eşleşmelidir. < ad veya değer çiftleri > Hayır storedProcedureParameters
Sorgu zaman aşımı Sorgu komutu yürütme zaman aşımı. timespan
(varsayılan değer 120 dakikadır)
Hayır Querytimeout
Yalıtım düzeyi SQL kaynağı için işlem kilitleme davranışını belirtir. • Okundu
• Okunmamış okuma
• Yinelenebilir okuma
•Serileştirilebilir
•An -lık görüntü
Hayır ısolationlevel:
•Readcommıtted
•Readuncommıtted
•Repeatableread
•Serileştirilebilir
•An -lık görüntü
Bölüm seçeneği SQL Server için Amazon RDS'den veri yüklemek için kullanılan veri bölümleme seçenekleri. • Yok (varsayılan)
• Tablonun fiziksel bölümleri
• Dinamik aralık
Hayır Partitionoption:
• Yok (varsayılan)
• PhysicalPartitionsOfTable
• DynamicRange
Bölüm sütunu adı Paralel kopyalama için aralık bölümleme tarafından kullanılan tamsayı veya tarih/tarih saat türünde (int, smallint, bigint, date, smalldatetime, , datetime, datetime2veya datetimeoffset) kaynak sütunun adı. Belirtilmezse, tablonun dizini veya birincil anahtarı otomatik olarak algılanır ve bölüm sütunu olarak kullanılır. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?DfDynamicRangePartitionCondition . < bölüm sütun adlarınız > Hayır partitionColumnName
Bölüm üst sınırı Bölüm aralığı bölme için bölüm sütununun en büyük değeri. Bu değer, tablodaki satırları filtrelemek için değil bölüm adımlarını belirlemek için kullanılır. Tablodaki veya sorgu sonucundaki tüm satırlar bölümlenir ve kopyalanır. Belirtilmezse kopyalama etkinliği değeri otomatik olarak algılar. < bölümünüzün üst sınırı > Hayır partitionUpperBound
Bölüm alt sınırı Bölüm aralığı bölme için bölüm sütununun en düşük değeri. Bu değer, tablodaki satırları filtrelemek için değil bölüm adımlarını belirlemek için kullanılır. Tablodaki veya sorgu sonucundaki tüm satırlar bölümlenir ve kopyalanır. Belirtilmezse kopyalama etkinliği değeri otomatik olarak algılar. < bölümünüzün alt sınırı > Hayır partitionLowerBound
Ek sütunlar Kaynak dosyaların göreli yolunu veya statik değerini depolamak için ek veri sütunları ekleyin. İfade, ikincisi için desteklenir. • Adı
•Değer
Hayır additionalColumns:
•Adı
•Değer