C# と SMO を使用してバックアップを作成すると、指定した物理的な場所ではなく、SQL Server で使用される既定のバックアップの場所 (C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Backup) にバックアップがコピーされます。コードで:
Database database = Server.Databases[dbName]);
Backup backup = new Backup();
device = new BackupDevice();
device.Parent = Server;
device.Name = dbName + ".bak";
device.BackupDeviceType = BackupDeviceType.Disk;
device.PhysicalLocation = Path.Combine(filePath + device.Name); // doesn't appear to do anything
device.Create();
backup.Action = BackupActionType.Database;
backup.Database = database.Name;
backup.Devices.AddDevice(filePath, DeviceType.File);
backup.SqlBackup(server);
コードを実行すると、指定したパス (「C:\backupTest」) が空で、バックアップが既定のバックアップ場所に追加されていることがわかります。
これがなぜなのか知っている人はいますか?