Mengkonfigurasi server tertaut: ms sql server dan teradata

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 efisien

Alasan 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 ODBC

Di 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 Tertaut

Agar 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 jauh

Buka permintaan baru. Kami menulis pilih * dari openquery (SERVICENOW, 'select * from dual') dan kami mendapatkan kesalahan. Akses ditolak. Silakan.


Contoh kesalahan

Langkah 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 terintegrasi

Jika 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 jaringan

Seharusnya seperti ini.


Manajer Konfigurasi SQL Server

Langkah 5 - Layanan Komponen

win + R - dcomcnfg - komputer - properti komputer saya - tab properti default.
Isi contoh di bawah ini:


Layanan Komponen

Langkah 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 objek

Kemenangan berikutnya + R - pencarian regedit-. Anda perlu menemukan objek di registri, dengan kode aplikasi, dan masukkan izinnya.


Registri objek Msdainitialize

Kontrol penuh untuk administrator PC lokal.


Properti dari objek msdain menginisialisasi dalam registri WINDOWS

Konfirmasikan dan simpan. Kami melakukan ini sehingga bagian Keamanan objek (kode aplikasi) menjadi aktif.


Bagian keamanan objek msdainitialize

Kustomisasi - Edit (tombol telah menjadi aktif) - kami menambahkan hak penuh ke layanan NT Service \ MSSQLSERVER .


Hak penuh untuk layanan MSSQLSERVER

Anda 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 akses

Selanjutnya, Anda perlu me-restart layanan MSQSQLSERVER - Restart / Restart NT Service \ MSSQLSERVER . Jalankan select * from openquery (SERVICENOW, 'select * from dual'). Itu bekerja.


Eksekusi query

Saya 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).

Source: https://habr.com/ru/post/id427437/


All Articles