ฉันต้องการแก้ไขปัญหาที่ฉันมีและต้องการความช่วยเหลือในการทำความเข้าใจวิธีการทำงานของ sp_msforeachdb เพื่อที่จะเอาชนะปัญหาของฉัน
สิ่งที่เกิดขึ้นคือทุกครั้งที่ฉันเรียกใช้ sp_msforeachdb ฉันจะได้รับข้อผิดพลาด Msg 102, Level 15, State 1, Incorrect syntax near '61'
ตัวอย่างของรหัสของฉันเป็นดังนี้:
EXEC SP_msforeachdb 'SELECT ''?'' AS Database
FROM ?.sys.objects
WHERE name like ''%aetna%''
อย่างไรก็ตามมันไม่สำคัญว่าเคียวรีใดที่ฉันมีเป็นพารามิเตอร์สำหรับ sp_msforeachdb ทุกครั้งที่ฉันได้รับข้อผิดพลาดเดียวกัน ฉันมีฐานข้อมูลที่ขึ้นต้นด้วย '61s1d' ดังนั้นฉันคิดว่ามันมีปัญหากับชื่อ DB แต่โดยสุจริตฉันไม่รู้ว่าเกิดอะไรขึ้นเบื้องหลังของ sp_msforeachdb
สิ่งที่ควรทราบ
- มันเป็นฐานข้อมูลเดียวที่เริ่มต้นด้วยตัวเลข
- ฉันสามารถลองใช้รหัสเช่น "ถ้าฐานข้อมูลเป็น '% 61%' อย่าทำ ...... " แต่ก็ยังมีข้อผิดพลาดเดียวกัน
- ฉันไม่สามารถทดสอบการเปลี่ยนชื่อฐานข้อมูล - มีการเชื่อมต่อกับหลายสิ่งมากเกินไป
- ถ้าฉันสร้างฐานข้อมูลทดสอบที่ขึ้นต้นด้วย '51' ฉันจะได้รับข้อผิดพลาดสำหรับฐานข้อมูลนั้นด้วย
ฉันจะเอาชนะสิ่งนี้ได้อย่างไร