แอสเซมบลีไบนารี่จะถูกจัดเก็บเป็นหยดในฐานข้อมูลดังนั้นจึงมีการดำเนินการทุกที่ที่ฐานข้อมูลดำเนินการ CLR เปิดใช้งานบนอินสแตนซ์เท่านั้น - ไม่มีการตั้งค่าเฉพาะฐานข้อมูลสำหรับสิ่งนั้น
ไม่ว่าในกรณีใดคุณพยายามทำเช่นนี้
(ฉันไม่ได้พยายามโต้เถียงฉันแค่อยากได้ยินแรงจูงใจที่เกี่ยวข้องเพราะบางทีปัญหาอาจแก้ไขได้ในวิธีที่แตกต่างที่ตรงกับความต้องการของคุณ)
ไม่มีวิธีการทำเช่นนี้ได้อย่างง่ายดายยกเว้นการประกอบในฐานข้อมูลที่ใช้ร่วมกัน
ที่กล่าวว่าฉันคิดว่ามันเป็นประโยชน์ที่จะโอบกอดสถาปัตยกรรมเป็นศูนย์กลางฐานข้อมูลเว้นแต่จะมีสถานการณ์เฉพาะที่มีเหตุผลที่น่าสนใจมากในการรวมศูนย์ เหตุผลคือการวางแอสเซมบลี (หรือสิ่งใดสำหรับเรื่องนั้น) นอกฐานข้อมูลสร้างการอ้างอิงในสภาพแวดล้อมของคุณ นี่เป็นวิธีที่ตรงกันข้ามกับที่ Microsoft กำลังสร้างขึ้นด้วยฐานข้อมูลที่มีอยู่ซึ่งเริ่มต้นใน SQL Server 2012
เมื่อคุณเริ่มต้องการใช้คุณลักษณะเช่นการจำลองแบบหรือการทำคลัสเตอร์การพึ่งพานี้อาจเพิ่มความซับซ้อนจำนวนมากให้กับการปรับใช้ แต่ยังรวมถึงการแก้ไขปัญหาและขั้นตอนการเข้าแทนที่
สถาปัตยกรรมนี้มีความชัดเจนน้อยกว่าสำหรับผู้ที่ไม่คุ้นเคยกับระบบ (เช่นมีการค้นพบตัวเองน้อยลงและบันทึกเอกสารด้วยตนเองน้อยลง)
หากคุณต้องการความปลอดภัยที่แตกต่างกันในฐานข้อมูลที่แตกต่างกันหรืออะไรก็ตามที่เกี่ยวข้องกับการเปลี่ยนแปลงคุณอยู่ในโลกที่เจ็บปวด
หากฐานข้อมูลเหล่านี้ถูกปรับใช้กับลูกค้า (ดูเหมือนว่าพวกเขาจะไม่เป็น แต่ฉันจะพูดแบบนี้เพื่อความสมบูรณ์) ซึ่งจะเพิ่มความซับซ้อนให้กับขั้นตอนการปรับใช้การบำรุงรักษาและการแก้ไขปัญหา
เนื่องจากฐานข้อมูลทั้งหมดจะใช้รหัสนี้ร่วมกันหากมีข้อผิดพลาดเกิดขึ้น (หรือแก้ไข!) สิ่งนี้อาจทำให้แอปพลิเคชันทั้งหมดที่ใช้ฐานข้อมูลนั้นเสียหาย การทดสอบหน่วยที่ครอบคลุมจะต้องแน่นอน
หากคุณมีฐานข้อมูลหลายอย่างที่ต้องการฟังก์ชันการทำงานเดียวกันมีวิธีอื่นในการลดจำนวนการทำซ้ำที่เกี่ยวข้องซึ่งฉันถือว่าเป็นจุดของการฝึก แม้แต่ชุดประกอบ CLR ที่ค่อนข้างซับซ้อนจะไม่ใช้พื้นที่เก็บข้อมูลทางกายภาพมากนักเมื่อเทียบกับข้อมูลในฐานข้อมูล (เกือบตลอดเวลา) ดังนั้นฉันจึงไม่เห็นว่าเป็นอาร์กิวเมนต์ที่ถูกต้องเว้นแต่คุณจะมีฐานข้อมูลขนาดเล็กจำนวนมากที่ต้องการสิ่งนี้ การชุมนุม
สิ่งที่คุณสามารถทำได้คือปรับเปลี่ยนส่วนอื่น ๆ ของกระบวนการปรับใช้สำหรับฐานข้อมูลเหล่านี้เพื่อลดความซ้ำซ้อนของแหล่งที่มา ตัวอย่างเช่นสร้างและปรับใช้ชุดประกอบจากตำแหน่งทั่วไปของรหัส CLR ในการควบคุมแหล่งที่มา หรือสร้างสคริปต์ที่ปรับใช้แอสเซมบลีเดียวกันกับฐานข้อมูล ทำให้ส่วนนี้เป็นไปโดยอัตโนมัติให้มากที่สุดและจะไม่เป็นเรื่องใหญ่
ฉันยอมรับว่าสิ่งที่ฉันแนะนำคือการแลกเปลี่ยนเพราะจะยังมีการทำซ้ำ แต่จะต้องมีความสมดุลกับเชิงลบที่เกี่ยวข้องกับการใช้งานสถาปัตยกรรมที่ไม่เป็นไปตามมาตรฐานที่กำหนด มีเพียงคุณเท่านั้นที่สามารถตัดสินใจได้ว่าอะไรเหมาะสมกับสภาพแวดล้อมของคุณ