从 Azure Sql 数据库副本中删除数据同步元数据

Removing data sync meta data from Azure Sql database copy

我正在尝试将我们的生产 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

非常感谢

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

例如,下面的语句将获取具有 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'