みなさん、こんばんは~
SQL .bak ファイルに含まれる論理データ ファイル名を動的に決定する方法について、かなりの数のリソースを検索しました。私が使用している SMO メソッドでは、ServerName を渡す必要がありますが、私の要件では、実際のファイル パスをバックアップに渡す必要があります。必要なものは T-SQL で取得できますが、SMO を活用してそれを行う方法を決定したいと考えています。以下は、必要な情報を取得する T-SQL です。
RESTORE FILELISTONLY
FROM N'C:\Directory\File.bak'
WITH FILE = 1
残念ながら、バックアップ セットがまだサーバーに復元されていないため、SqlRestore.ReadFileList(ServerName) は機能しません。基本的に、この情報が必要なので、Restore.RelocateFiles.Add に渡すことができます。私は実際には C# に手を出している DBA です。そのため、さらに情報が必要な場合はお知らせください。ギャップを埋めようとします。ご協力ありがとうございます。