Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर (T-SQL) में किसी क्वेरी के परिणाम ईमेल कैसे करें

SQL सर्वर किसी क्वेरी के परिणामों को स्वयं (या किसी और को) ईमेल करने का एक आसान तरीका प्रदान करता है।

T-SQL के साथ ईमेल भेजने के लिए, आपको sp_send_dbmail . का उपयोग करना होगा msdb . में संग्रहीत कार्यविधि डेटाबेस। यह प्रक्रिया कई तर्कों को स्वीकार करती है, जिनमें से एक है @query बहस। यही तर्क आपकी क्वेरी के परिणामों को ईमेल से जोड़ता है।

उदाहरण

यहां एक बुनियादी उदाहरण दिया गया है जो कम से कम तर्कों का उपयोग करता है:

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an Admin job, perhaps?',
    @query = 'SELECT TOP(5) * FROM Artists;',
    @execute_query_database = 'Music',
    @subject = 'Query results as discussed';

डिफ़ॉल्ट रूप से, क्वेरी के परिणाम ईमेल के मुख्य भाग में सूचीबद्ध होते हैं। आप वैकल्पिक रूप से परिणाम अनुलग्नक के रूप में भेज सकते हैं।

पैडिंग हटाएं

यदि आपके परिणाम कॉलम में बहुत अधिक पैडिंग के साथ स्वरूपित हैं, तो आप @query_result_no_padding = 1 का उपयोग कर सकते हैं इस पैडिंग को खत्म करने के लिए।

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an Admin job, perhaps?',
    @query = 'SELECT TOP(5) * FROM Artists;',
    @execute_query_database = 'Music',
    @query_result_no_padding = 1,
    @subject = 'Query results as discussed';

क्वेरी परिणाम अटैचमेंट के रूप में जोड़ें

आप @attach_query_result_as_file . का उपयोग कर सकते हैं क्वेरी परिणामों को अनुलग्नक के रूप में जोड़ने का तर्क। यह एक बिट . स्वीकार करता है मान, डिफ़ॉल्ट होने के साथ 0 (बिना अटैचमेंट के)।

अनुलग्नक में परिणाम भेजने के लिए, बस एक 1 प्रदान करें इस तर्क के लिए।

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an Admin job, perhaps?',
    @query = 'SELECT TOP(5) * FROM Artists;',
    @execute_query_database = 'Music',
    @attach_query_result_as_file = 1,
    @query_attachment_filename = 'Artists.csv',
    @query_result_header = 1,
    @query_result_width = 256,
    @query_result_separator = ',',
    @exclude_query_output = 1,
    @append_query_error = 1,
    @query_no_truncate = 0,
    @query_result_no_padding = 1,
    @subject = 'Query results as discussed';

इस उदाहरण में मैंने कुछ और तर्क जोड़े हैं।

@query_attachment_filename तर्क आपको अपना स्वयं का फ़ाइल नाम निर्दिष्ट करने की अनुमति देता है (यदि आप यह तर्क प्रदान नहीं करते हैं, तो डेटाबेस मेल एक बना देगा)।

sp_send_dbmail प्रक्रिया मेरे द्वारा यहां सूचीबद्ध की तुलना में अधिक तर्कों को स्वीकार करती है। तर्कों और उनके विवरणों की पूरी सूची के लिए Microsoft के दस्तावेज़ देखें।

डेटाबेस मेल को कॉन्फ़िगर करना

इस पृष्ठ के उदाहरण मानते हैं कि आपने डेटाबेस मेल को पहले ही सक्षम और कॉन्फ़िगर कर दिया है।

यदि आपके पास डेटाबेस मेल कॉन्फ़िगर नहीं है, तो SQL सर्वर से ईमेल कैसे भेजें देखें। वह आलेख डेटाबेस मेल को सक्षम और कॉन्फ़िगर करने के लिए टी-एसक्यूएल उदाहरण प्रदान करता है। इसमें ज्यादा समय नहीं लगता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:वेरिएबल के आधार पर डायनेमिक कॉलम नाम चुनें

  2. SQL पूरी तालिका को स्थानांतरित करता है

  3. वर्चर मान 'सरल' को डेटा प्रकार int . में कनवर्ट करते समय रूपांतरण विफल रहा

  4. SQL सर्वर में रैंड () नियतात्मक कैसे बनाएं?

  5. पता लगाएँ कि क्या तालिका SQL सर्वर (T-SQL) में विभाजित है