Halo semuanya! Saya memutuskan untuk menulis artikel ini karena satu alasan sederhana - saya tidak menemukan petunjuk terperinci untuk menyiapkan server yang terhubung jauh antara server teradata dan ms sql.
Sberbank menyimpan data di server yang berbeda: oracle, teradata, mssql. Seringkali (kadang-kadang, beberapa kali sehari), kolega saya dan saya harus melakukan tindakan yang disebut "efektif" sangat sulit: Anda menulis permintaan, mengekspor data ke file, mengimpornya ke server mssql, dan bekerja. Waktu yang dihabiskan untuk satu permintaan lebih dari 3 jam (sekitar 90 juta baris).
Pekerjaan yang efisienAlasan untuk tindakan kompleks tersebut adalah kurangnya hak istimewa untuk membuat tabel pada server teradata. Itu sebabnya kami "mengunggah" data ke server ms sql (semuanya baik-baik saja dengan izin). Ini adalah pengantar, dan sekarang saya beralih ke deskripsi urutan tindakan.
Catatan : instruksi disiapkan menggunakan SQL Server Management Studio 12 dan Teradata Client ver 15 (jika versi Teradata lebih rendah, misalnya 14, maka perangkat lunak tambahan harus diunduh dari situs web resmi).
Langkah 1 - Konfigurasikan Koneksi ODBC
Pergi:
Panel Kontrol \ Sistem dan Keamanan \ Administrasi \ Sumber Data ODBCDi bagian "DSN Khusus", klik "Tambah." Selanjutnya, pilih driver Teradata dan isi kolom.
Penting: ingat nama sumber baru. Kami masih membutuhkannya.
Langkah 2 - Server Terhubung
Open Management Studio - Objek Server - Server Tertaut - buat server tertaut.
Bidang di bagian Umum adalah: Server Tertaut - nama yang sewenang-wenang, Penyedia - Penyedia DB Microsoft OLE untuk Driver ODBC, Nama Produk - ServiceNow, Sumber Data - nama sumber data yang dibuat di "Langkah 1".
Bagian server yang ditautkan "Umum"Bidang bagian Keamanan: Login jauh - nama KM pada server Teradata, Dengan kata sandi - kata sandi KM pada server Teradata.
Bagian Keamanan Server TertautAgar tidak ada yang bisa masuk melalui server tertaut (teradata) di bawah KM saya, saya akan menambahkan pemetaan nama login di server lokal dan jauh. Disimpan
Mencocokkan login di server lokal dan jarak jauhBuka permintaan baru. Kami menulis pilih * dari openquery (SERVICENOW, 'select * from dual') dan kami mendapatkan kesalahan. Akses ditolak. Silakan.
Contoh kesalahanLangkah 3 - SQLEXPRESS dan KM Terintegrasi
Kami masuk ke Manajer Konfigurasi SQL - SQL Server Properties (MSSQLSERVER). Ubah tanda centang ke "Gunakan KM (Sistem Lokal) bawaan untuk input."
SQLEXPRESS dan USG terintegrasiJika Anda menjalankan Management Studio 12 sebagai administrator, itu akan berhasil. Kita tidak perlu di bawah administrator. Kami terus mengonfigurasi.
Langkah 4 - SQLEXPRESS dan Layanan Jaringan
Kami masuk ke Manajer Konfigurasi SQL - SQL Server Properties (MSSQLSERVER). Ubah tanda centang ke "Gunakan KM (Layanan Jaringan) bawaan untuk masuk", tetapi di bawah
Layanan KM
NT \ MSSQLSERVER .
SQLEXPRESS dan layanan jaringanSeharusnya seperti ini.
Manajer Konfigurasi SQL ServerLangkah 5 - Layanan Komponen
win + R - dcomcnfg - komputer - properti komputer saya - tab properti default.
Isi contoh di bawah ini:
Layanan KomponenLangkah 6 - Konfigurasikan DCOM
win + R - dcomcnfg - komputer - komputer saya - konfigurasi DCOM - msdain menginisialisasi properti. Salin ID Aplikasi / Kode Aplikasi. Diperlukan untuk mencari objek di registri windows.
Msdainitialize properti objekKemenangan berikutnya + R - pencarian regedit-. Anda perlu menemukan objek di registri, dengan kode aplikasi, dan masukkan izinnya.
Registri objek MsdainitializeKontrol penuh untuk administrator PC lokal.
Properti dari objek msdain menginisialisasi dalam registri WINDOWSKonfirmasikan dan simpan. Kami melakukan ini sehingga bagian Keamanan objek (kode aplikasi) menjadi aktif.
Bagian keamanan objek msdainitializeKustomisasi - Edit (tombol telah menjadi aktif) - kami menambahkan hak penuh ke layanan
NT Service \ MSSQLSERVER .
Hak penuh untuk layanan MSSQLSERVERAnda perlu memberikan hak kepada layanan di bagian: Peluncuran dan Izin Aktivasi, Izin Akses, Izin Konfigurasi. Selanjutnya, Anda perlu me-restart layanan MSQSQLSERVER - Restart / Restart
NT Service \ MSSQLSERVER .
Langkah 7 COM Security
win + R - dcomcnfg - komputer - komputer saya - konfigurasi DCOM
Ubah nilai default dengan menambahkan layanan
NT Service \ MSSQLSERVER . Tetapkan izin maksimum untuk partisi di dalamnya: Izin Peluncuran dan Aktivasi, Izin Akses.
Izin aksesSelanjutnya, Anda perlu me-restart layanan MSQSQLSERVER - Restart / Restart
NT Service \ MSSQLSERVER . Jalankan select * from openquery (SERVICENOW, 'select * from dual'). Itu bekerja.
Eksekusi querySaya harap panduan ini akan membantu pengaturan teknologi akses jarak jauh. Sekarang kami mengimpor data segera ke server mssql (menghemat bukan menit, tetapi jam). Kueri yang digunakan untuk menjalankan sekitar 3 jam (ekspor data ke file, impor ke mssql), setelah menyiapkan teknologi, proses dalam 47 detik (impor hasil permintaan segera ke mssql).