【问题标题】:.NET Core 2 C# - Point in time SQL Azure restore.NET Core 2 C# - 时间点 SQL Azure 还原
【发布时间】:2018-06-07 01:23:21
【问题描述】:

我需要从 .NET Core 2.1 C# 函数以编程方式恢复 SQL Azure 数据库。在 Recover an Azure SQL database using automated database backups 上的文章展示了如何使用 PowerShell 或 REST API 来实现。我发现 in C# 不适用于 .NET Core。

你有什么建议吗?

谢谢。

【问题讨论】:

  • 如果有 REST API,你可以在 .NET Core 中完成,对吧?

标签: c# sql azure .net-core azure-sql-database


【解决方案1】:

您可以调用 REST API 并将PointInTimeRestore 用作CreateMode

PointInTimeRestore:通过恢复一个时间点来创建数据库 现有数据库的备份。 sourceDatabaseId 必须指定为 现有数据库的资源 ID,restorePointInTime 必须 指定。

更多信息可在此处找到:Databases - Create Or Update。并且一定要看看examples

例如,这将从 PointInTimeRestore 创建一个数据库:

请求:

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbpitr?api-version=2017-10-01-preview

正文:

{
  "location": "southeastasia",
  "sku": {
    "name": "S0",
    "tier": "Standard"
  },
  "properties": {
    "createMode": "PointInTimeRestore",
    "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb",
    "restorePointInTime": "2017-07-14T05:35:31.503Z"
  }
}

编辑:
你可以试试Microsoft.Azure.Management.SQL NuGet package。支持的框架是 .NET Framework 4.5.2 和 Netstandard 1.4,基于 NetCore 框架。

编辑 2:
由于 Microsoft.Azure.Management.SQL NuGet 包是预发布版本,请确保您选中了“包括预发布”复选框选中

为我工作:

【讨论】:

  • 嗨 Rick,谢谢你的回答,但我不能使用那个包,它看起来与 .NET Core 2 不兼容。当我在 NuGet 管理器上搜索它时,它只出现Microsoft.Azure.Management.Sql.Fluent.
  • @Matias 请检查我更新的答案。可能 Fluent 包也可以使用。
  • 谢谢 Rick,是的,我错过了预发布检查。我现在就试试。
猜你喜欢
  • 2022-11-25
  • 2019-11-20
  • 2015-07-11
  • 1970-01-01
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
  • 2021-02-23
  • 1970-01-01
相关资源
最近更新 更多