আমি এমন একটি পণ্য ব্যবহার করছি যা এসকিউএল সার্ভার ২০০৮-তে চলে। আমি যখন পণ্যটি ইনস্টল করেছি তখন আমি ডাটাবেসটি এনক্রিপ্ট করার জন্য একটি পাসওয়ার্ড নির্দিষ্ট করেছি। আমি অন্য সার্ভারে পরীক্ষার জন্য পণ্যটির অন্য অনুলিপি চালাতে চাই। আমি অন্য সার্ভারে ডাটাবেস পুনরুদ্ধার করেছি এবং সেই অন্যান্য সার্ভারে পণ্যটি ইনস্টল করেছি। আমি এটি ইনস্টল করার সময় আমি একই পাসওয়ার্ড সরবরাহ করেছি এবং তারপরে মূল সার্ভার থেকে একটি ব্যাকআপ পুনরুদ্ধার করেছি। তবে আমি ত্রুটি বার্তা পাচ্ছি:
System.Data.SqlClient.SqlException: An error occurred during decryption.
পণ্য থেকে। আমি এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও ব্যবহার করে টেবিলগুলি অ্যাক্সেস করতে পারি।
আমি এটি চেষ্টা করেছি:
প্রথম সার্ভারে:
CREATE CERTIFICATE cert1 WITH SUBJECT = 'Certificate for my stuff'
BACKUP CERTIFICATE cert1 TO FILE = 'd:\backup\cert1.dat'
WITH PRIVATE KEY
(
ENCRYPTION BY PASSWORD = 'mypassword',
FILE = 'd:\backup\cert1_privatekey.dat'
)
দ্বিতীয় সার্ভারে:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'mypassword'
CREATE CERTIFICATE cert1 FROM FILE = 'd:\cert1.dat'
WITH PRIVATE KEY
(
FILE = 'd:\cert1_privatekey.dat',
DECRYPTION BY PASSWORD = 'mypassword'
)
আমি এটি দ্বিতীয় সার্ভারেও চেষ্টা করেছি:
alter MASTER KEY regenerate with enCRYPTION BY PASSWORD='password'
তবে এটি একটি অসম্পূর্ণ কী সম্পর্কে ত্রুটি বার্তা দিয়েছে।
আমি প্রথম সার্ভার থেকে দ্বিতীয় সার্ভারে ব্যাকআপটি কীভাবে পুনরুদ্ধার করব?
হালনাগাদ:
ডাটাবেসে পাশাপাশি একটি অসমमित এবং প্রতিসম কী আছে। যদি আমি অ্যাসিমেট্রিক কী ব্যবহার করে প্রতিসাম্য কীটি খুলি তবে আমিও একই ত্রুটি পেয়েছি, তাই আমি মনে করি সে কারণেই এটি কাজ করছে না - কোনওরূপে কীগুলি এমনভাবে স্থানান্তর করা হচ্ছে না যেগুলি ব্যবহার করা যেতে পারে।