এসকিউএল সার্ভারে (২০০৮ আর 2) অ্যাসেম্বলিটি ফেলে এবং পুনরায় তৈরি না করে আমি কীভাবে একটি সিএলআর ফাংশন (বা পদ্ধতি) অ্যাসেম্বলি dll আপডেট করতে পারি?
এখন যেমন দাঁড়িয়েছে যদি আমি কোনও অ্যাসেমব্লিকে আপডেট করি (যেমন একটি নতুন ফাংশন যুক্ত করতে), এসকিউএল সার্ভার আপডেট হওয়া ডিএলকে সম্মান দেবে না যতক্ষণ না আমি অ্যাসেম্বলিটি বাদ দিই:
DROP ASSEMBLY CLRFunctions
Msg 6590, Level 16, State 1, Line 1
DROP ASSEMBLY failed because 'CLRFunctions' is referenced by object 'NormalizeString'.
তবে আমি অ্যাসেম্বলিটি নামার আগে, প্রথমে আমাকে অবশ্যই এটি উল্লেখ করা সমস্ত ফাংশন ফেলে দিতে হবে:
DROP FUNCTION NormalizeString
DROP FUNCTION RemoveDiacritics
DROP FUNCTION RemoveCombiningDiacritics
DROP FUNCTION CombineLigatures
....
DROP FUNCTION PseudolocalizeArabic
এবং তারপরে আমি সমাবেশটি ফেলে দিতে পারি:
DROP ASSEMBLY CLRFunctions
এখন আমাকে সমাবেশটি " তৈরি " করতে হবে:
CREATE ASSEMBLY CLRFunctions FROM 'c:\foos\CLRFunctions.dll';
এবং এখন আমি মুছে ফেলার আগে যে সমস্ত ইউডিএফ নিবন্ধিত ছিল তাদের সমস্ত ঘোষণার শিকার করতে হবে ।
আমি বরং কোনও অ্যাসেমব্লিকে আপডেট করব এবং এসকিউএল সার্ভারটি এটি ব্যবহার শুরু করব।
আপডেট : আমি এলোমেলোভাবে DBCC FREEPROCCACHE
একটি "পুনরায় সংযোগ" বলার চেষ্টা করেছি , তবে এসকিউএল সার্ভার এখনও পুরানো কোডটি ব্যবহার করে।
আপডেট : আমি অ্যাসেম্বলি dll মুছে ফেলেছি CLRFunctions.dll
এবং এসকিউএল সার্ভার এখনও কোড চালাতে সক্ষম (কোড ছাড়া এটি অসম্ভব হওয়া উচিত)।