SQL सर्वर में, आप sysmail_delete_profileaccount_sp
. का उपयोग कर सकते हैं किसी प्रोफ़ाइल से डेटाबेस मेल खाते को निकालने के लिए संग्रहीत कार्यविधि।
आप किसी विशिष्ट प्रोफ़ाइल से खाते को हटा सकते हैं, या आप इसे सभी . से हटा सकते हैं प्रोफाइल। आप किसी दिए गए प्रोफ़ाइल से सभी खाते भी हटा सकते हैं।
जिस तरह से यह काम करता है, आप दो तर्क प्रदान करते हैं; खाते का नाम या उसकी आईडी, और प्रोफ़ाइल का नाम या उसकी आईडी। यदि आप प्रोफ़ाइल के तर्क को छोड़ देते हैं, तो खाता सभी प्रोफ़ाइलों से हटा दिया जाता है। यदि आप खाते के तर्क को छोड़ देते हैं, तो सभी खाते प्रोफ़ाइल से हटा दिए जाते हैं।
किसी विशिष्ट प्रोफ़ाइल से विशिष्ट खाता निकालें
किसी एकल प्रोफ़ाइल से किसी खाते को निकालने का तरीका दिखाने के लिए यहां एक उदाहरण दिया गया है।
सबसे पहले, आइए sysmail_help_profileaccount_sp
. पर कॉल करें यह देखने के लिए कि मेरे पास कितने खाते/प्रोफ़ाइल संबद्धताएं हैं।
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
परिणाम:
+--------------+-------------------+--------------+----------------+-------------------+ | profile_id | profile_name | account_id | account_name | sequence_number | |--------------+-------------------+--------------+----------------+-------------------| | 3 | DB Admin Profile | 3 | DB Admin | 1 | | 2 | DB Public Profile | 2 | DB Public | 1 | +--------------+-------------------+--------------+----------------+-------------------+
मेरे दो संघ हैं। आइए पहले वाले को हटा दें। यह वह जगह है जहां "डीबी एडमिन" नामक खाता "डीबी एडमिन प्रोफाइल" नामक प्रोफाइल से संबंधित है।
खाते के नाम और प्रोफ़ाइल नाम के आधार पर उन्हें निकालने का तरीका यहां बताया गया है।
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_name = 'DB Admin';
प्रोफ़ाइल और खाते के नाम sysname . हैं NULL
. के डिफॉल्ट के साथ .
आईडी, यदि आप इसके बजाय उनका उपयोग करना चुनते हैं, तो sysname . हैं NULL
. के डिफॉल्ट के साथ ।
आइए अब sysmail_help_profileaccount_sp
. पर कॉल करें फिर से, यह देखने के लिए कि अब हमारे पास कितने संघ हैं।
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
परिणाम:
+--------------+-------------------+--------------+----------------+-------------------+ | profile_id | profile_name | account_id | account_name | sequence_number | |--------------+-------------------+--------------+----------------+-------------------| | 2 | DB Public Profile | 2 | DB Public | 1 | +--------------+-------------------+--------------+----------------+-------------------+
जैसा कि अपेक्षित था, अब हमारे पास केवल दूसरा है।
सभी प्रोफ़ाइलों से एक खाता निकालें
आप प्रोफ़ाइल विवरण को छोड़ कर सभी प्रोफ़ाइलों से खाते को हटा सकते हैं। दूसरे शब्दों में, खाते का नाम या आईडी प्रदान करें, लेकिन प्रोफ़ाइल नहीं।
इस तरह:
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@account_name = 'DB Admin';
प्रोफाइल से सभी खाते हटाएं
आप खाते के विवरण को छोड़ कर सभी खातों को प्रोफ़ाइल से हटा सकते हैं। दूसरे शब्दों में, प्रोफ़ाइल नाम या आईडी प्रदान करें, लेकिन खाता नहीं।
इस तरह:
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@profile_name = 'DB Admin Profile';
संग्रहीत प्रक्रिया का स्थान
sysmail_delete_profileaccount_sp
संग्रहीत कार्यविधि msdb . में स्थित है डेटाबेस और उसका स्वामी dbo . है . इसलिए, यदि msdb . है तो आपको नामकरण के तीन भाग प्रदान करने होंगे वर्तमान डेटाबेस नहीं है।