gpt4 book ai didi

c# - 使用新名称从 .bak 文件恢复数据库

转载 作者:太空狗 更新时间:2023-10-29 22:14:41 24 4
gpt4 key购买 nike

我正在使用 C#、.NET 3.5 和 SMO 在 SQL Server 2005 中创建数据库(我们的生产数据库)到其他一些数据库(我们的 DEV 和测试数据库)的副本。

我已经设法从数据库创建备份,并恢复它。这当然会覆盖现有的。我用过this CodeProject guide .

如何将数据库的备份恢复到同一服务器上具有不同名称的另一个数据库?

最佳答案

using Microsoft.SqlServer.Management.Smo;

string backupFile="Backupfile";//.bak file

string dbName = "DBName";

string dbServerMachineName = "MachineName";

Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(dbServerMachineName);

Database database = new Database(server, dbName);

//If Need

database.Create();

database.Refresh();

//Restoring

Restore restore = new Restore();

restore.NoRecovery = false;

restore.Action = RestoreActionType.Database;

BackupDeviceItem bdi = default(BackupDeviceItem);

bdi = new BackupDeviceItem(backupFile, DeviceType.File);

restore.Devices.Add(bdi);

restore.Database = dbName;

restore.ReplaceDatabase = true;

restore.PercentCompleteNotification = 10;

restore.SqlRestore(server);

database.Refresh();

database.SetOnline();

server.Refresh();

关于c# - 使用新名称从 .bak 文件恢复数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7079355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com