Cara mengonfigurasi Amazon RDS untuk SQL Server dalam aktivitas salin
Artikel ini menguraikan cara menggunakan aktivitas salin dalam alur data untuk menyalin data dari Amazon RDS untuk SQL Server.
Konfigurasi yang didukung
Untuk konfigurasi setiap tab di bawah aktivitas salin, buka bagian berikut.
Umum
Lihat panduan Pengaturan umum untuk mengonfigurasi tab Pengaturan umum.
Sumber
Properti berikut ini didukung untuk Amazon RDS untuk SQL Server di bawah tab Sumber aktivitas salin.
Properti berikut diperlukan:
Jenis penyimpanan data: Pilih Eksternal.
Koneksi ion: Pilih koneksi Amazon RDS for SQL Server dari daftar koneksi. Jika koneksi tidak ada, buat koneksi Amazon RDS untuk SQL Server baru dengan memilih Baru.
jenis Koneksi ion: Pilih Amazon RDS untuk SQL Server.
Gunakan kueri: Tentukan cara membaca data. Anda bisa memilih Tabel, Kueri, atau Prosedur tersimpan. Daftar berikut menjelaskan konfigurasi setiap pengaturan:
Tabel: Membaca data dari tabel yang ditentukan. Pilih tabel sumber Anda dari daftar drop-down atau pilih Edit untuk memasukkannya secara manual.
Kueri: Tentukan kueri SQL kustom untuk membaca data. Contohnya
select * from MyTable
. Atau pilih ikon pensil untuk diedit di editor kode.Prosedur tersimpan: Gunakan prosedur tersimpan yang membaca data dari tabel sumber. Pernyataan SQL terakhir harus merupakan pernyataan SELECT dalam prosedur tersimpan.
Nama prosedur tersimpan: Pilih prosedur tersimpan atau tentukan nama prosedur tersimpan secara manual saat memilih Edit untuk membaca data dari tabel sumber.
Parameter prosedur tersimpan: Tentukan nilai untuk parameter prosedur tersimpan. Nilai yang diizinkan adalah pasangan nama atau nilai. Nama dan kapitalisasi parameter harus sesuai dengan nama dan kapitalisasi parameter prosedur tersimpan. Anda dapat memilih Impor parameter untuk mendapatkan parameter prosedur tersimpan.
Di bawah Tingkat Lanjut, Anda bisa menentukan bidang berikut ini:
Batas waktu kueri (menit): Tentukan batas waktu untuk eksekusi perintah kueri, defaultnya adalah 120 menit. Jika parameter diatur untuk properti ini, nilai yang diizinkan adalah rentang waktu, seperti "02:00:00" (120 menit).
Tingkat isolasi: Menentukan perilaku penguncian transaksi untuk sumber SQL. Nilai yang diizinkan adalah: Baca diterapkan, Baca tidak dikomit, Baca berulang, Dapat diserialisasikan, Rekam Jepret. Jika tidak ditentukan, tingkat isolasi default database digunakan. Lihat IsolationLevel Enum untuk detail selengkapnya.
Opsi partisi: Tentukan opsi partisi data yang digunakan untuk memuat data dari Amazon RDS untuk SQL Server. Nilai yang diizinkan adalah: Tidak ada (default), Partisi fisik tabel, dan Rentang dinamis. Ketika opsi partisi diaktifkan (yaitu, bukan Tidak Ada), tingkat paralelisme untuk memuat data secara bersamaan dari Amazon RDS untuk SQL Server dikendalikan oleh Tingkat paralelisme salin di tab pengaturan aktivitas salin.
Tidak Ada: Pilih pengaturan ini untuk tidak menggunakan partisi.
Partisi fisik tabel: Saat menggunakan partisi fisik, kolom dan mekanisme partisi secara otomatis ditentukan berdasarkan definisi tabel fisik Anda.
Rentang dinamis: Saat menggunakan kueri dengan paralel diaktifkan, parameter partisi rentang(
?DfDynamicRangePartitionCondition
) diperlukan. Kueri sampel:SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
.Nama kolom partisi: Tentukan nama kolom sumber dalam tipe bilangan bulat atau tanggal/tanggalwaktu (
int
, ,date
smalldatetime
bigint
datetime
smallint
,datetime2
, ataudatetimeoffset
) yang digunakan oleh pemartisian rentang untuk salinan paralel. Jika tidak ditentukan, indeks atau kunci primer tabel terdeteksi secara otomatis dan digunakan sebagai kolom partisi.Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan
?DfDynamicRangePartitionCondition
di klausul WHERE. Misalnya, lihat bagian Penyalinan paralel dari database SQL.Batas atas partisi: Tentukan nilai maksimum kolom partisi untuk pemisahan rentang partisi. Nilai ini digunakan untuk menentukan langkah partisi, bukan untuk memfilter baris dalam tabel. Semua baris dalam tabel atau hasil kueri akan dipartisi dan disalin. Jika tidak ditentukan, aktivitas salin secara otomatis mendeteksi nilai. Misalnya, lihat bagian Penyalinan paralel dari database SQL.
Batas bawah partisi: Tentukan nilai minimum kolom partisi untuk pemisahan rentang partisi. Nilai ini digunakan untuk menentukan langkah partisi, bukan untuk memfilter baris dalam tabel. Semua baris dalam tabel atau hasil kueri akan dipartisi dan disalin. Jika tidak ditentukan, aktivitas salin secara otomatis mendeteksi nilai. Misalnya, lihat bagian Penyalinan paralel dari database SQL.
Kolom tambahan: Tambahkan kolom data tambahan untuk menyimpan jalur relatif file sumber atau nilai statis. Ekspresi didukung untuk yang terakhir.
Perhatikan poin berikut:
- Jika Kueri ditentukan untuk sumber, aktivitas salin menjalankan kueri ini terhadap sumber Amazon RDS for SQL Server untuk mendapatkan data. Anda juga dapat menentukan prosedur tersimpan dengan menentukan Nama prosedur tersimpan dan Parameter prosedur tersimpan jika prosedur tersimpan mengambil parameter.
- Saat menggunakan prosedur tersimpan di sumber untuk mengambil data, perhatikan apakah prosedur tersimpan dirancang sebagai mengembalikan skema yang berbeda ketika nilai parameter yang berbeda diteruskan, Anda mungkin mengalami kegagalan atau melihat hasil yang tidak terduga saat mengimpor skema dari antarmuka pengguna atau saat menyalin data ke database SQL dengan pembuatan tabel otomatis.
Pemetaan
Untuk Konfigurasi tab Pemetaan , buka Mengonfigurasi pemetaan Anda di bawah tab pemetaan.
Pengaturan
Untuk konfigurasi tab Pengaturan, buka Mengonfigurasi pengaturan Anda yang lain di bawah tab pengaturan.
Salin paralel dari database SQL
Konektor Amazon RDS untuk SQL Server dalam aktivitas penyalinan menyediakan partisi data bawaan untuk menyalin data secara paralel. Anda dapat menemukan opsi pemartisian data pada tab Sumber aktivitas salin.
Saat Anda mengaktifkan penyalinan yang dipartisi, aktivitas penyalinan menjalankan kueri paralel terhadap sumber Amazon RDS untuk SQL Server Anda guna memuat data menurut partisi. Tingkat paralel dikontrol oleh Tingkat paralelisme salin di tab pengaturan aktivitas salin. Misalnya, jika Anda mengatur Tingkat paralelisme salin ke empat, layanan secara bersamaan menghasilkan dan menjalankan empat kueri berdasarkan opsi dan pengaturan partisi yang Ditentukan, dan setiap kueri mengambil sebagian data dari Amazon RDS untuk SQL Server Anda.
Anda disarankan untuk mengaktifkan salinan paralel dengan partisi data terutama saat Anda memuat data dalam jumlah besar dari Amazon RDS untuk SQL Server. Berikut ini adalah konfigurasi yang disarankan untuk skenario yang berbeda. Saat menyalin data ke penyimpanan data berbasis file, disarankan untuk menulis ke folder sebagai beberapa file (hanya tentukan nama folder), dalam hal ini performanya lebih baik daripada menulis ke satu file.
Skenario | Pengaturan yang disarankan |
---|---|
Pemuatan penuh dari tabel besar, dengan partisi fisik. | Opsi partisi: Partisi fisik tabel. Selama eksekusi, layanan secara otomatis mendeteksi partisi fisik, dan menyalin data berdasarkan partisi. Untuk memeriksa apakah tabel Anda memiliki partisi fisik atau tidak, Anda dapat merujuk ke kueri ini. |
Pemuatan penuh dari tabel besar, tanpa partisi fisik, sedangkan dengan bilangan bulat atau kolom tanggalwaktu untuk pemartisian data. | Opsi partisi: Partisi rentang dinamis. Kolom partisi (opsional): Menentukan kolom yang digunakan untuk mempartisi data. Jika belum ditentukan, kolom kunci primer digunakan. Batas atas partisi dan batas bawah partisi (opsional): Menentukan apakah Anda ingin menentukan langkah partisi. Ini bukan untuk memfilter baris dalam tabel, semua baris dalam tabel akan dipartisi dan disalin. Jika tidak ditentukan, salin aktivitas otomatis mendeteksi nilai dan dapat memakan waktu lama tergantung pada nilai MIN dan MAX. Dianjurkan untuk memberikan batas atas dan batas bawah. Misalnya, jika kolom partisi "ID" Anda memiliki rentang nilai dari 1 hingga 100, dan Anda menetapkan batas bawah sebagai 20 dan batas atas sebagai 80, dengan salinan paralel sebagai 4, layanan mengambil data dengan 4 partisi - ID dalam rentang <=20, [21, 50], [51, 80], dan >=81, masing-masing. |
Memuat sejumlah besar data dengan menggunakan kueri kustom, tanpa partisi fisik, sedangkan dengan kolom bilangan bulat atau tanggal/tanggalwaktu untuk pemartisian data. | Opsi partisi: Partisi rentang dinamis. Kueri: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> .Kolom partisi: Menentukan kolom yang digunakan untuk mempartisi data. Batas atas partisi dan batas bawah partisi (opsional): Menentukan apakah Anda ingin menentukan langkah partisi. Ini bukan untuk memfilter baris dalam tabel, semua baris dalam hasil kueri akan dipartisi dan disalin. Jika tidak ditentukan, aktivitas salin secara otomatis mendeteksi nilai. Misalnya, jika kolom partisi "ID" Anda memiliki rentang nilai dari 1 hingga 100, dan Anda menetapkan batas bawah sebagai 20 dan batas atas sebagai 80, dengan salinan paralel sebagai 4, layanan mengambil data dengan 4 partisi- ID dalam rentang <=20, [21, 50], [51, 80], dan >=81, secara berurutan. Berikut adalah sampel kueri lainnya untuk skenario yang berbeda: • Kueri seluruh tabel: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition • Kueri dari tabel dengan pemilihan kolom dan filter where-clause tambahan: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> • Kueri dengan subkueri: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> • Kueri dengan partisi dalam subkueri: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Praktik terbaik untuk memuat data dengan opsi partisi:
- Pilih kolom yang khas sebagai kolom partisi (seperti kunci primer atau kunci unik) untuk menghindari penyimpangan data.
- Jika tabel memiliki partisi bawaan, gunakan opsi partisi Partisi fisik tabel untuk mendapatkan performa yang lebih baik.
Sampel kueri untuk memeriksa partisi fisik
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]'
Jika tabel memiliki partisi fisik, Anda akan melihat "HasPartition" sebagai "ya" seperti berikut ini.
Ringkasan tabel
Lihat tabel berikut untuk ringkasan dan informasi selengkapnya untuk aktivitas penyalinan Amazon RDS for SQL Server.
Informasi sumber
Nama | Deskripsi | Nilai | Wajib | Properti skrip JSON |
---|---|---|---|---|
Jenis penyimpanan data | Jenis penyimpanan data Anda. | Eksternal | Ya | / |
Koneksi | Koneksi Anda ke penyimpanan data sumber. | < koneksi Anda > | Ya | koneksi |
Tipe sambungan | Jenis koneksi Anda. Pilih Amazon RDS untuk SQL Server. | Amazon RDS untuk SQL Server | Ya | / |
Menggunakan kueri | Kueri SQL kustom untuk membaca data. | •Meja •Query • Prosedur tersimpan |
Ya | / |
Table | Tabel data sumber Anda. | < nama tabel tujuan Anda> | No | Skema tabel |
Kueri | Kueri SQL kustom untuk membaca data. | < kueri Anda > | No | sqlReaderQuery |
Nama prosedur tersimpan | Properti ini adalah nama prosedur tersimpan yang membaca data dari tabel sumber. Pernyataan SQL terakhir harus merupakan pernyataan SELECT dalam prosedur tersimpan. | < nama prosedur tersimpan > | No | sqlReaderStoredProcedureName |
Parameter prosedur tersimpan | Parameter ini untuk prosedur tersimpan. Nilai yang diizinkan adalah pasangan nama atau nilai. Nama dan kapitalisasi parameter harus sesuai dengan nama dan kapitalisasi parameter prosedur tersimpan. | < pasangan nama atau nilai > | No | storedProcedureParameters |
Batas waktu kueri | Batas waktu untuk eksekusi perintah kueri. | timespan (defaultnya adalah 120 menit) |
No | queryTimeout |
Tingkat isolasi | Menentukan perilaku penguncian transaksi untuk sumber SQL. | • Baca berkomitmen • Baca tidak dikomit • Bacaan yang dapat diulang • Dapat diserialisasikan •Snapshot |
No | isolationLevel: • ReadCommitted • ReadUncommitted • RepeatableRead • Dapat diserialisasikan •Snapshot |
Opsi partisi | Opsi pemartisian data yang digunakan untuk memuat data dari Amazon RDS untuk SQL Server. | • Tidak ada (default) • Partisi fisik tabel • Rentang dinamis |
No | partitionOption: • Tidak ada (default) • PhysicalPartitionsOfTable • DynamicRange |
Nama kolom partisi | Nama kolom sumber dalam tipe bilangan bulat atau tanggal/tanggalwaktu (int , , bigint date smalldatetime smallint , datetime , datetime2 , atau datetimeoffset ) yang digunakan oleh pemartisian rentang untuk salinan paralel. Jika tidak ditentukan, indeks atau kunci primer tabel terdeteksi secara otomatis dan digunakan sebagai kolom partisi. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?DfDynamicRangePartitionCondition di klausul WHERE. |
< nama kolom partisi Anda > | No | partitionColumnName |
Batas atas partisi | Nilai maksimum kolom partisi untuk pemisahan rentang partisi. Nilai ini digunakan untuk menentukan langkah partisi, bukan untuk memfilter baris dalam tabel. Semua baris dalam tabel atau hasil kueri akan dipartisi dan disalin. Jika tidak ditentukan, aktivitas salin secara otomatis mendeteksi nilai. | < batas atas partisi Anda > | No | partitionUpperBound |
Batas bawah partisi | Nilai minimum kolom partisi untuk pemisahan rentang partisi. Nilai ini digunakan untuk menentukan langkah partisi, bukan untuk memfilter baris dalam tabel. Semua baris dalam tabel atau hasil kueri akan dipartisi dan disalin. Jika tidak ditentukan, aktivitas salin secara otomatis mendeteksi nilai. | < partisi Anda terikat lebih rendah > | No | partitionLowerBound |
Kolom tambahan | Tambahkan kolom data tambahan untuk menyimpan jalur relatif file sumber atau nilai statis. Ekspresi didukung untuk yang terakhir. | •Nama •Nilai |
No | additionalColumns: •Nama •Nilai |
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk