উত্তর:
এক সেকেন্ডের জন্য কল্পনা করুন যে আপনি একটি 1 টেরাবাইট ডাটাবেস পেয়েছেন। এটি ব্যাক আপ করতে কিছুক্ষণ সময় নেয়, এবং এনক্রিপ্ট করতে এটি কিছুটা সময় নেয়। সুতরাং কল্পনা করুন যে:
আপনি পূর্ণ ব্যাকআপ পুনরুদ্ধার শেষ করার সাথে সাথে, আপনার বাকী ডেটাবেস এনক্রিপ্ট করে টিডিডি প্রয়োগ করা চালিয়ে যাবেন, আপনি কী জিজ্ঞাসা ফিরে আসবেন বলে আশা করবেন?
বিপরীতে, কল্পনা করুন যে আপনি ইতিমধ্যে এনক্রিপ্ট করা ডাটাবেস দিয়ে শুরু করেছেন এবং:
আপনি কী জিজ্ঞাসা ফিরে আসবে আশা করবেন? এমএসডিবি.ডবো.ব্যাকআপসেটে টিডিডি এনক্রিপশন কেন অন্তর্ভুক্ত ক্ষেত্রগুলির মধ্যে একটি নয় এর উদাহরণগুলি ।
আমি ব্রেন্টের জবাবটি আপ-ভোট দিয়েছি , কারণ তার দৃশ্যে অবশ্যই টিডিডি ডেটা রয়েছে কিনা তা নিয়ে জল জলাবদ্ধ হয়ে উঠতে পারে।
তবে, আপনি যদি কিছু সময়ের জন্য টিডিই সক্ষম করে থাকেন তবে মনে হয় FILELISTONLY পুনরুদ্ধার করুন (লেনদেন-এসকিউএল) আপনার পরবর্তী তথ্য সরবরাহ করতে পারে । রেজাল্ট সেটে একটি কলাম রয়েছে TDEThumbprint
যার নাম রয়েছে "যা ডাটাবেস এনক্রিপশন কী এর থাম্বপ্রিন্ট দেখায় The
আমি আমার কিছু ব্যাকআপের দিকে তাকালাম যা দুটি টিডিই এনক্রিপ্ট করা ছিল এবং টিডিই এনক্রিপ্ট করা হয়নি।
আমার টিডিডি ডেটাবেসের ব্যাকআপগুলির সেই কলামটিতে শংসাপত্রের থাম্বপ্রিন্ট ছিল এবং টিডিডি ডাটাবেসগুলি নেই এমন ব্যাকআপগুলি শূন্য ছিল।
স্কটের উত্তর প্রসারিত করা হচ্ছে, এখানে এসকিউএল ক্যোয়ারী যা আপনাকে জানাবে যে কোনও ব্যাকআপ এনক্রিপ্ট করা আছে কি না।
Declare @backupFile varchar(max) = 'J:\backups\psa20191029.bak'
DECLARE @fileListTable TABLE (
[LogicalName] NVARCHAR(128),
[PhysicalName] NVARCHAR(260),
[Type] CHAR(1),
[FileGroupName] NVARCHAR(128),
[Size] NUMERIC(20,0),
[MaxSize] NUMERIC(20,0),
[FileID] BIGINT,
[CreateLSN] NUMERIC(25,0),
[DropLSN] NUMERIC(25,0),
[UniqueID] UNIQUEIDENTIFIER,
[ReadOnlyLSN] NUMERIC(25,0),
[ReadWriteLSN] NUMERIC(25,0),
[BackupSizeInBytes] BIGINT,
[SourceBlockSize] INT,
[FileGroupID] INT,
[LogGroupGUID] UNIQUEIDENTIFIER,
[DifferentialBaseLSN] NUMERIC(25,0),
[DifferentialBaseGUID] UNIQUEIDENTIFIER,
[IsReadOnly] BIT,
[IsPresent] BIT,
[TDEThumbprint] VARBINARY(32) -- remove this column if using SQL 2005
)
INSERT INTO @fileListTable EXEC('RESTORE FILELISTONLY FROM DISK = '''+@backupFile+'''')
select distinct LogicalName + case when TDEThumbprint is null then ' is not encrypted'
else ' is encrypted'
end as AmIEncrypted
from @fileListTable
where type='D'