व्यायाम - Azure SQL डेटाबेस में किसी डेटाबेस से कोई बाहरी तालिका बनाएँ
इस इकाई में, आप कनेक्ट करें और PolyBase सेवाओं का उपयोग करके Azure SQL डेटाबेस में किसी डेटाबेस से एक बाहरी तालिका बनाएँ। इस अभ्यास के लिए, आप:
- SQL Server 2025 में एक डेटाबेस बनाएं।
- Azure SQL डेटाबेस स्कोप्ड क्रेडेंशियल को सुरक्षित करने के लिए एक डेटाबेस मास्टर कुंजी बनाएँ।
- Azure SQL डेटाबेस डेटा स्रोत तक पहुँचने के लिए डेटाबेस स्कोप्ड क्रेडेंशियल बनाएँ.
- डेटाबेस स्कोप्ड क्रेडेंशियल का उपयोग करके कोई बाह्य डेटा स्रोत बनाएँ.
- OPENROWSET का उपयोग करके बाहरी डेटा स्रोत को क्वेरी करें।
- बाह्य डेटा स्रोत का उपयोग करके कोई बाह्य तालिका बनाएँ.
पूर्वावश्यकताएँ
Quickstart: एकल डेटाबेस - Azure SQL डेटाबेस में निर्देशों का उपयोग करके बनाया गया Azure SQL डेटाबेस। इस अभ्यास के लिए, Azure SQL सर्वर
polybaseserverऔर Azure SQL डेटाबेसpolybase2025testको नाम दें। जब आप डेटाबेस बनाते हैं तो अतिरिक्त सेटिंग्स के अंतर्गत मौजूदा डेटा नमूना > का उपयोग करें का चयन करना सुनिश्चित करें.पॉलीबेस के साथ एक SQL Server 2025 इंस्टेंस स्थापित और पिछले अभ्यास के लिए सक्षम किया गया है। किसी अन्य डेटाबेस जैसे Azure SQL डेटाबेस से कनेक्ट करने के लिए, आपको पॉलीबेस सेवाओं का उपयोग करने की आवश्यकता है। SQL सर्वर कॉन्फ़िगरेशन प्रबंधक खोलें और सुनिश्चित करें कि SQL Server PolyBase डेटा मूवमेंट और SQL Server PolyBase इंजन सेवाएँ चल रहे हैं।
डेटाबेस बनाना
अपने SQL Server आवृत्ति में, एक डेटाबेस बनाएं जिसे कहा जाता है Demo2, और उस डेटाबेस का उपयोग करने के लिए स्विच करें।
USE MASTER;
IF EXISTS (SELECT * FROM sys.databases WHERE [name] = N'Demo2')
BEGIN
ALTER DATABASE Demo2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE IF EXISTS Demo2;
END;
CREATE DATABASE Demo2;
USE Demo2;
डेटाबेस मास्टर कुंजी बनाएँ
इस नए डेटाबेस के लिए एक डेटाबेस मास्टर कुंजी बनाएँ, जैसा कि पिछले अभ्यास में है।
DECLARE @randomWord VARCHAR(64) = NEWID();
DECLARE @createMasterKey NVARCHAR(500) = N'
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE name = ''##MS_DatabaseMasterKey##'')
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ' + QUOTENAME(@randomWord, '''')
EXEC sp_executesql @createMasterKey;
SELECT * FROM sys.symmetric_keys;
डेटाबेस स्कोप्ड क्रेडेंशियल बनाएँ
अपने Azure SQL तार्किक सर्वर से कनेक्ट करने के लिए उपयोग करने के लिए डेटाबेस स्कोप्ड क्रेडेंशियल बनाएँ। अपने Azure SQL सर्वर के लिए उपयोगकर्ता नाम और पासवर्ड के साथ बदलें <sql_user><password> ।
CREATE DATABASE SCOPED CREDENTIAL AzureSQLDB
WITH IDENTITY = '<sql_user>', Secret = '<password>';
Azure SQL डेटाबेस के लिए बाह्य डेटा स्रोत बनाएँ
Azure SQL तार्किक सर्वर की ओर इशारा करते हुए बाहरी डेटा स्रोत बनाएँ. आप सर्वर से कनेक्ट करने के लिए उपसर्ग का sqlserver:// उपयोग करें। इस उदाहरण में, पूरी तरह से योग्य सर्वर नाम है polybaseserver.database.windows.net।
CREATE EXTERNAL DATA SOURCE AzureSQLDB
WITH ( LOCATION = 'sqlserver://polybaseserver.database.windows.net',
CREDENTIAL = AzureSQLDB);
तदर्थ वितरित क्वेरीज़ सक्षम करें
डिफ़ॉल्ट रूप से, SQL सर्वर OPENROWSET का उपयोग करके तदर्थ वितरित क्वेरीज़ की अनुमति नहीं देता है। तदर्थ वितरित क्वेरीज़ को सक्षम करने के लिए आदेश चलाएँ sp_configure . अधिक जानकारी के लिए, तदर्थ वितरित क्वेरीज़ (सर्वर कॉन्फ़िगरेशन विकल्प) देखें.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC SP_CONFIGURE N'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
Azure SQL डेटाबेस तक पहुँचने के लिए OPENROWSET का उपयोग करें
Azure SQL डेटाबेस में डेटाबेस से polybase2025test कनेक्ट करने और तालिका को SalesLT.Customer क्वेरी करने के लिए OPENROWSET का उपयोग करें। आपको एक प्रदाता निर्दिष्ट करने की आवश्यकता है। यह उदाहरण MSOLEDBSQL प्रदाता का उपयोग करता है, जो SQL Server 2025 के साथ स्थापित है। आपको SQL प्रमाणीकरण <user> निर्दिष्ट करने की भी आवश्यकता है और <password>
SELECT
*
FROM OPENROWSET(
N'MSOLEDBSQL',
'Server=polybaseserver.database.windows.net;database=polybase2025test;uid=<user>;pwd=<password>',
'SELECT * FROM SalesLT.Customer'
);
SQL Server 2025 से Azure SQL डेटाबेस तक एक बाहरी तालिका बनाएं
अब जब आपने सत्यापित कर लिया है कि आप बाह्य डेटा स्रोत को क्वेरी कर सकते हैं, तो आप डेटाबेस स्कोप्ड क्रेडेंशियल और बाह्य डेटा स्रोत का उपयोग करके उस डेटा स्रोत से कॉल की गई ext_tblCustomers एक बाहरी तालिका बना और देख सकते हैं.
CREATE EXTERNAL TABLE ext_tblCustomers(
CustomerID INT
,LastName NVARCHAR(50)
,EmailAddress NVARCHAR(50)
)
WITH
(LOCATION = N'polybase2025test.SalesLT.Customer'
,DATA_SOURCE = AzureSQLDB);
SELECT * FROM ext_tblCustomers;
इस इकाई में, आपने Azure SQL डेटाबेस से एक बाहरी तालिका बनाने और क्वेरी करने के लिए SQL Server 2025 आवृत्ति पर पॉलीबेस का उपयोग किया। CREATE EXTERNAL TABLE AS SELECT (CETAS) कमांड और इसके लाभों के बारे में जानने के लिए अगली इकाई पर आगे बढ़ें।