SQL SMO Восстановление .bak файла в локальный экземпляр - PullRequest
0 голосов
/ 28 января 2020

Для надежности сначала я локально копирую файл .bak из сети, а затем пытаюсь восстановить его на локальном экземпляре SQL Сервера. Однако при восстановлении требуется восстановить файл БД в исходную папку, которая не существует локально. Как я могу сказать ему использовать локальный SQL экземплярный каталог файлов по умолчанию?

public void RestoreDB(string file)
{
    try
    {
            SqlConnection sqlConnection = new SqlConnection()
            {
                ConnectionString = $"Data Source=(LocalDB)\\MSSQLLocalDB;User ID=xx;Password=xx"
            };

            ServerConnection serverConnection = new ServerConnection(sqlConnection);

            Server dbServer = new Server(serverConnection);

            Restore restore = new Restore()
            {
                Action = RestoreActionType.Database,
                Database = "DBTest",
                NoRecovery = false,
                ReplaceDatabase = true
            };

            restore.Devices.AddDevice(file, DeviceType.File);

            restore.SqlRestore(dbServer);
        }
    catch (Exception ex)
    {
        throw ex;
    }
}
...