โพสต์ใน Stack Overflow ด้วย ฟีดกลับใด ๆ ที่จะได้รับการชื่นชมมาก
ฉันต้องการงาน SQL เพื่อส่งอีเมลหลายฉบับ และฉันพบข้อผิดพลาดนี้ซึ่งฉันไม่สามารถหาวิธีแก้ไขได้ เมื่อฉันส่งอีเมลด้วยวิธีนี้สำเร็จทุกครั้งที่ฉันทดสอบ
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AzureManagedInstance_dbmail_profile',
@recipients = '*ที่อยู่อีเมลที่ถูกต้อง*',
@body = 'ทดสอบ'
@subject = 'การทดสอบ';
เมื่อฉันเพิ่มข้อความค้นหาในอีเมล บางครั้งงานจะล้มเหลว
ฉันได้ดึงข้อมูลโค้ดออกมาและทำให้แบบสอบถาม SELECT ที่จำลองปัญหาง่ายขึ้น
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AzureManagedInstance_dbmail_profile',
@recipients = '*ที่อยู่อีเมลที่ถูกต้อง*',
@body = 'ทดสอบ'
@แบบสอบถาม =
'
เลือกรับวันที่()
',
@subject = 'การทดสอบ';
เมื่อฉันรันสิ่งนี้ ระบบจะส่งอีเมลพร้อมวันที่และเวลาให้ฉัน หากฉันรันโค้ดอีกครั้ง ฉันจะได้รับข้อผิดพลาดทั่วไป แต่ก็ไม่เสมอไป
ไม่สามารถเริ่มต้นไลบรารี sqlcmd ด้วยหมายเลขข้อผิดพลาด -2147467259
ฉันทำการขุดด้วย SQL Server Profiler และพบข้อความแสดงข้อผิดพลาดนี้
การเชื่อมต่อถูกยกเลิกเนื่องจากตัวการหลักที่เปิดการเชื่อมต่อนั้นใช้บริบทความปลอดภัยใหม่ จากนั้นจึงพยายามรีเซ็ตการเชื่อมต่อภายใต้บริบทความปลอดภัยที่เลียนแบบ ไม่รองรับสถานการณ์นี้ ดู "ภาพรวมการเลียนแบบ" ในหนังสือออนไลน์
ขณะนี้ฉันใช้บัญชี SA แต่เริ่มด้วยสิทธิพิเศษที่ใช้งานได้น้อยที่สุด
ฉันได้ลองเรียกใช้งานภายใต้โปรไฟล์อีเมลทั่วไป โดยมีผลลัพธ์เดียวกัน
งานที่เรียกใช้รหัสนี้จะสำเร็จและล้มเหลวโดยไม่มีเหตุผลที่ชัดเจนที่ฉันสามารถหาได้ ดูเหมือนจะไม่มีรูปแบบในการทำงานให้สำเร็จหรือไม่
มีใครเจอปัญหานี้และจัดการแก้ไขได้หรือไม่? หรือมีใครสามารถชี้ให้ฉันเห็นทิศทางในการแก้ปัญหานี้ได้บ้าง?