0

我正在尝试将我们的生产 Azure SQL 数据库导出到本地以进行测试。我已经制作了数据库的副本,但在尝试导出时出现以下错误。

在用作数据包一部分的架构中发现一个或多个不受支持的元素。错误 SQL71501:验证元素 [dss] 时出错:架构:[dss] 具有对对象 [##MS_SyncAccount##] 的未解析引用。错误 SQL71501:验证元素 [TaskHosting] 时出错:架构:[TaskHosting] 具有对对象 [##MS_SyncAccount##] 的未解析引用。

我发现这篇文章解释了如何解决这个问题:

https://techcommunity.microsoft.com/t5/azure-database-support-blog/exporting-a-database-that-is-was-used-as-sql-data-sync-metadata/ba-p/369062

我的问题是,在复制的数据库上运行下面的脚本(来自文章)是否只会影响副本的数据同步元数据,或者是否存在以任何方式影响我们的生产数据库或服务器的风险?

脚本: https ://raw.githubusercontent.com/vitomaz-msft/DataSyncMetadataCleanup/master/Data%20Sync%20complete%20cleanup.sql

非常感谢

4

1 回答 1

0

链接中提供的脚本只会清理同步数据库对象,您可以检查 where 条件中提到的架构名称。如果您想更确定您可以只运行选择语句并针对主数据库重新验证对象。

例如,下面的语句将获取具有 where 子句中提到的特定模式名称的存储过程。

select @procedures = isnull( @procedures + @n, '' ) + 'drop procedure [' + schema_name(schema_id) + '].[' + name + ']'
from sys.procedures
where schema_name(schema_id) = 'dss' or schema_name(schema_id) = 'TaskHosting' or schema_name(schema_id) = 'DataSync'
于 2021-12-07T04:01:56.430 回答