使用AWS DMS(Database Migration Service)將SQL Server資料庫同步到AWS的Data Lake上,需要在本地源資料庫上配置複製,在配置分發嚮導最後一步時,遇到下麵錯誤: TITLE: Microsoft.SqlServer.ConnectionInfo----... ...
使用AWS DMS(Database Migration Service)將SQL Server資料庫同步到AWS的Data Lake上,需要在本地源資料庫上配置複製,在配置分發嚮導最後一步時,遇到下麵錯誤:
TITLE: Microsoft.SqlServer.ConnectionInfo
------------------------------
SQL Server could not configure 'xxxx' as a Distributor.
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
伺服器 'xxxx' 已被定義為分發伺服器。若要將該伺服器重新配置為分發伺服器,必須首先卸載現有的分發伺服器。使用存儲過程 sp_dropdistributor,或使用禁用發佈和分發嚮導。已將資料庫上下文更改為 'master'。 (Microsoft SQL Server, Error: 14099)
伺服器 'xxxx' 已被定義為分發伺服器。若要將該伺服器重新配置為分發伺服器,必須首先卸載現有的分發伺服器。使用存儲過程 sp_dropdistributor,或使用禁用發佈和分發嚮導。已將資料庫上下文更改為 'master'。 (Microsoft SQL Server, Error: 14099)
出現這個錯誤是因為以前配置過Replication,但是沒有清理乾凈。如下所示,資料庫存在msdb.dbo.MSdistributor等表。可以執行sp_dropdistributor 卸載分發伺服器。
USE master;
GO
EXEC sp_dropdistributor;
GO
卸載分發伺服器。這些對象都不存在了,然後就可以正常配置分發嚮導,不會出現這個錯誤了。
SELECT * FROM msdb.dbo.MSdistributor;
Msg 208, Level 16, State 1, Line 1
對象名'msdb.dbo.MSdistributor' 無效。