जब आप अटैचमेंट के साथ ईमेल भेजने के लिए डेटाबेस मेल का उपयोग करते हैं, तो आपको यह सुनिश्चित करना होगा कि अटैचमेंट फ़ाइल का आकार स्वीकार्य अटैचमेंट फ़ाइल आकार के भीतर है।
यदि आपको अटैचमेंट सीमा से बड़े अटैचमेंट भेजने की आवश्यकता है, तो आपको उस सीमा को बढ़ाना होगा।
सौभाग्य से, अनुमत अनुलग्नक फ़ाइल आकार को T-SQL कोड की एक पंक्ति के साथ बढ़ाया जा सकता है।
त्रुटि
यदि आप अनुमेय अनुलग्नक फ़ाइल आकार से बड़ा अनुलग्नक भेजने का प्रयास करते हैं, तो आपको प्राप्त होने वाली त्रुटि यहां दी गई है:
Msg 22051, Level 16, State 1, Line 0 File attachment or query results size exceeds allowable value of 1000000 bytes.
सीमा की जांच करें
यदि आपको अभी तक कोई त्रुटि नहीं मिली है, तो हो सकता है कि आपको पता न हो कि सीमा क्या है। आप sysmail_help_configure_sp
. का उपयोग कर सकते हैं msdb . में संग्रहीत कार्यविधि अनुलग्नक फ़ाइल आकार सीमा की जांच करने के लिए डेटाबेस।
EXEC msdb.dbo.sysmail_help_configure_sp 'MaxFileSize';
परिणाम:
+-------------+--------------+---------------------------+ | paramname | paramvalue | description | |-------------+--------------+---------------------------| | MaxFileSize | 1000000 | Default maximum file size | +-------------+--------------+---------------------------+
इस उदाहरण में मैंने MaxFileSize
. पास किया है परिणामों को केवल उस कॉन्फ़िगरेशन विकल्प तक सीमित करने के तर्क के रूप में जिसमें मेरी रुचि है। आप sysmail_help_configure_sp
का भी उपयोग कर सकते हैं सभी कॉन्फ़िगरेशन विकल्पों को वापस करने के लिए बिना किसी तर्क के प्रक्रिया।
सीमा बदलें
आप अटैचमेंट फ़ाइल आकार सीमा को sysmail_configure_sp
. से बदल सकते हैं संग्रहीत प्रक्रिया।
EXEC msdb.dbo.sysmail_configure_sp 'MaxFileSize','3000000';
अब जब हम sysmail_help_configure_sp
. निष्पादित करते हैं फिर से, हम नया मान देखते हैं।
EXEC msdb.dbo.sysmail_help_configure_sp 'MaxFileSize';
परिणाम:
+-------------+--------------+---------------------------+ | paramname | paramvalue | description | |-------------+--------------+---------------------------| | MaxFileSize | 3000000 | Default maximum file size | +-------------+--------------+---------------------------+
ध्यान दें कि विवरण वही रहा है। इस मामले में यह थोड़ा भ्रामक है क्योंकि 1000000 डिफ़ॉल्ट अधिकतम फ़ाइल आकार है - 4000000 नहीं।
आप उसी प्रक्रिया से विवरण बदल सकते हैं। वास्तव में, आप पैरामीटर निर्दिष्ट कर सकते हैं name=value
जोड़े भी, यदि आप चाहें तो (यह sysmail_configure_sp
. के लिए भी सही है प्रक्रिया)।
चलिए इसे फिर से करते हैं, लेकिन इस बार मैं विवरण को अपडेट करूंगा, और मैं name=value
का उपयोग करूंगा। जोड़े।
EXECUTE msdb.dbo.sysmail_configure_sp
@parameter_name = 'MaxFileSize',
@parameter_value = '4000000',
@description = 'Current maximum file size';
अब जब हम sysmail_help_configure_sp
. निष्पादित करते हैं फिर से, हम नया मान देखते हैं।
EXEC msdb.dbo.sysmail_help_configure_sp
@parameter_name = 'MaxFileSize';
परिणाम:
+-------------+--------------+---------------------------+ | paramname | paramvalue | description | |-------------+--------------+---------------------------| | MaxFileSize | 4000000 | Current maximum file size | +-------------+--------------+---------------------------+