[英]Azure Custom Script to restore database from Blob Storage to Managed Instance
[英]Restore azure sql database to managed instance
我正在尝试每天从 azure sql 数据库(弹性池)还原到托管实例。 我曾尝试导出和导入 bacpac 文件,但由于以下错误而失败:
标题:Microsoft SQL Server 管理工作室
无法导入包。
警告 SQL72012:目标 [XTP] 存在于目标中,但即使您选中了“为目标数据库中但不在源中的对象生成删除语句”复选框,它也不会被删除。
警告 SQL72012:目标 [XTP] 存在于目标中,但即使您选中了“为目标数据库中但不在源中的对象生成删除语句”复选框,它也不会被删除。
警告 SQL72012:目标 [data_0] 存在于目标中,但即使您选中了“为目标数据库中但不在源中的对象生成删除语句”复选框,它也不会被删除。
警告 SQL72012:目标 [log] 存在于目标中,但即使您选中了“为目标数据库中但不在源中的对象生成删除语句”复选框,它也不会被删除。
错误 SQL72014:.Net SqlClient 数据提供程序:消息 102,级别 16,状态 30,第 1 行“类型”附近的语法不正确。
错误 SQL72045:脚本执行错误。 执行的脚本:CREATE USER [**************] WITH SID = 0x6B6F4FABE3FFA848BAFB6C956D9A7E9C, TYPE = E;
我还尝试使用自动化帐户来执行 powershell,但这似乎也不支持托管实例。
如何将这些 sql 数据库还原到托管实例中?
恭喜你成功获得了工作:
这可能对其他社区成员有益。 谢谢你。
您还可以做的是:
将 .bacpac 文件重命名为 .zip 并解压
转到 model.xml 文件并找到所有类似于以下内容的条目:
a) <Element Type="SqlRoleMembership"> b) <Element Type="SqlUser" Name=" c) <Element Type="SqlLogin" Name=" d) <Element Type="SqlExternalDataSource"
之后保存model.xml并运行这个powershell:
$modelXmlPath = Read-Host“model.xml 的路径” $hasher =[System.Security.Cryptography.HashAlgorithm]::Create("System.Security.Cryptography.SHA256CryptoServiceProvider") $fileStream = new-object System.IO.FileStream ` -ArgumentList @($modelXmlPath, [System.IO.FileMode]::Open) $hash = $hasher.ComputeHash($fileStream) $hashString = "" Foreach ($b in $hash) { $hashString += $b .ToString("X2") } $fileStream.Close() $hashString
取散列并替换 Origin.Xml 中的实际校验和值
再次压缩所有内容并在任何地方导入(几乎)
请找到参考条目:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.