تكوين الخوادم المرتبطة: ms sql server و teradata

مرحبا بالجميع! قررت كتابة هذه المقالة لسبب واحد بسيط - لم أجد تعليمات تفصيلية لإعداد خادم مرتبط عن بُعد بين خوادم teradata و ms sql.

يخزن Sberbank البيانات على خوادم مختلفة: oracle و teradata و mssql. في كثير من الأحيان (أحيانًا ، عدة مرات في اليوم) يتعين علينا أنا وزملائي تنفيذ إجراءات تسمى "فعالة" أمرًا صعبًا للغاية: تكتب طلبًا ، وتصدر البيانات إلى ملف ، وتستورده إلى خادم mssql ، وتعمل. الوقت المستغرق في طلب واحد أكثر من 3 ساعات (حوالي 90 مليون خط).


عمل فعال

سبب هذه الإجراءات المعقدة هو عدم وجود امتيازات لإنشاء جداول على خوادم بيانات التعريف. هذا هو السبب في أننا "تحميل" البيانات إلى خادم ms sql (كل شيء على ما يرام مع الأذونات). كانت هذه مقدمة ، والآن أنتقل إلى وصف تسلسل الإجراءات.

ملاحظة : تم تحضير التعليمات باستخدام SQL Server Management Studio 12 و Teradata Client الإصدار 15 (إذا كان إصدار Teradata أقل ، على سبيل المثال 14 ، فيجب تنزيل برنامج إضافي من الموقع الرسمي).

الخطوة 1 - تكوين اتصال ODBC

اذهب: لوحة التحكم \ النظام والأمن \ الإدارة \ مصادر بيانات ODBC

في قسم "DSN مخصص" ، انقر فوق "إضافة". بعد ذلك ، حدد برنامج تشغيل Teradata واملأ الحقول.

هام: تذكر اسم المصدر الجديد. ما زلنا بحاجة إليها.

الخطوة 2 - الخادم المرتبط

Open Management Studio - كائنات الخادم - الخوادم المرتبطة - قم بإنشاء خادم مرتبط.

الحقول في القسم العام هي: Linked Server - اسم عشوائي ، موفر - موفر Microsoft OLE DB لبرامج تشغيل ODBC ، اسم المنتج - ServiceNow ، مصدر البيانات - اسم مصدر البيانات الذي تم إنشاؤه في "الخطوة 1".


قسم الخادم المرتبط "عام"

حقول قسم "الأمان": تسجيل الدخول عن بُعد - اسم KM على خادم Teradata ، باستخدام كلمة المرور - كلمة مرور KM على خادم Teradata.


قسم أمان الخادم المرتبط

بحيث لا يمكن لأي شخص تسجيل الدخول من خلال الخادم المرتبط (teradata) ضمن KM الخاص بي ، سأضيف تعيينًا لأسماء تسجيل الدخول على الخوادم المحلية والبعيدة. تم الحفظ.


مطابقة تسجيلات الدخول على الخوادم المحلية والبعيدة

افتح طلبًا جديدًا. نكتب select * من openquery (SERVICENOW ، 'select * from dual') ونحصل على خطأ. تم رفض الوصول. المضي قدما.


مثال خطأ

الخطوة 3 - SQLEXPRESS و KM المتكامل

نذهب إلى إدارة تكوين SQL - خصائص خادم SQL (MSSQLSERVER). قم بتغيير علامة الاختيار إلى "استخدام KM المضمنة (النظام المحلي) للإدخال."


SQLEXPRESS والموجات فوق الصوتية المتكاملة

إذا قمت بتشغيل Management Studio 12 كمسؤول ، فستعمل. نحن لسنا تحت إدارة. نواصل تكوين.

الخطوة 4 - SQLEXPRESS وخدمة الشبكة

نذهب إلى إدارة تكوين SQL - خصائص خادم SQL (MSSQLSERVER). قم بتغيير علامة الاختيار إلى "استخدام KM المضمنة (خدمة شبكة) لتسجيل الدخول" ، ولكن تحت KM NT Service \ MSSQLSERVER .


SQLEXPRESS وخدمة الشبكة

يجب أن يكون مثل هذا.


مدير تكوين خادم SQL

الخطوة 5 - خدمة المكونات

فوز + R - dcomcnfg - أجهزة الكمبيوتر - خصائص جهاز الكمبيوتر الخاص بي - علامة تبويب الخصائص الافتراضية.
املأ المثال أدناه:


خدمة المكون

الخطوة 6 - تكوين DCOM

فوز + R - dcomcnfg - أجهزة الكمبيوتر - جهاز الكمبيوتر الخاص بي - تكوين DCOM - خصائص msdainitialize. نسخ معرف التطبيق / رمز التطبيق. مطلوب للبحث عن كائن في سجل windows.


Msdainitialize خصائص الكائن

الفوز التالي + R - regedit- بحث. تحتاج إلى العثور على الكائن في التسجيل ، بواسطة رمز التطبيق ، وإدخال الإذن الخاص به.


Msdainitialize تسجيل الكائن

تحكم كامل لمسؤول الكمبيوتر المحلي.


خصائص الكائن msdainitialize في تسجيل WINDOWS

تأكيد وحفظ. قمنا بذلك حتى يصبح قسم الأمان في الكائن (رمز التطبيق) نشطًا.


قسم الأمان لكائن msdainitialize

تخصيص - تحرير (أصبح الزر نشطًا) - نضيف الحقوق الكاملة إلى خدمة NT Service \ MSSQLSERVER .


الحقوق الكاملة لخدمة MSSQLSERVER

تحتاج إلى منح الحقوق للخدمة في الأقسام: إذن التشغيل والتنشيط ، إذن الوصول ، إذن التكوين. بعد ذلك ، تحتاج إلى إعادة تشغيل الخدمة MSQSQLSERVER - إعادة تشغيل / إعادة تشغيل NT Service \ MSSQLSERVER .

الخطوة 7 أمن COM

فوز + R - dcomcnfg - أجهزة الكمبيوتر - جهاز الكمبيوتر الخاص بي - تكوين DCOM
قم بتغيير القيمة الافتراضية بإضافة خدمة NT Service \ MSSQLSERVER . تعيين أذونات قصوى للأقسام إليها: إذن التشغيل والتنشيط ، إذن الوصول.


إذن الوصول

بعد ذلك ، تحتاج إلى إعادة تشغيل الخدمة MSQSQLSERVER - إعادة تشغيل / إعادة تشغيل NT Service \ MSSQLSERVER . قم بتشغيل select * من openquery (SERVICENOW ، 'select * from dual'). يعمل.


تنفيذ الاستعلام

آمل أن يساعد هذا الدليل في إعدادات تقنية الوصول عن بعد. الآن نقوم باستيراد البيانات على الفور إلى خادم mssql (توفير ليس دقائق بل ساعات). استعلام كان يعمل لمدة 3 ساعات تقريبًا (تصدير البيانات إلى ملف ، استيراد إلى mssql) ، بعد إعداد التقنية ، تتم معالجته في 47 ثانية (استيراد نتيجة الاستعلام مباشرة إلى mssql).

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


All Articles