Sql-Server
是否可以將 Azure 設置為將複製複製到本地數據庫的發布者?
我正在嘗試設置從 Azure 數據庫到本地數據庫的拉式複制。我已將本地數據庫設置為分銷商,但是當我嘗試建立對 Azure 數據庫的訂閱時出現錯誤,請參見下文。
TITLE: New Subscription Wizard ------------------------------ SQL Server could not retrieve the list of databases for server 'nyrstar-prod-01.database.windows.net'. For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=14.0.17254.0&EvtSrc=Microsoft.SqlServer.Management.UI.CreateSubWizardErrorSR&EvtID=CantGetDatabaseList&LinkId=20476 ------------------------------ ADDITIONAL INFORMATION: An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) ------------------------------ Could not find stored procedure 'sp_get_distributor'. (Microsoft SQL Server, Error: 2812) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=12.00.0600&EvtSrc=MSSQLServer&EvtID=2812&LinkId=20476 ------------------------------- ------------------------------- ALL ADVANCED INFORMATION ------------------------------- ------------------------------- =================================== SQL Server could not retrieve the list of databases for server 'nyrstar-prod-01.database.windows.net'. (New Subscription Wizard) ------------------------------ For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=14.0.17254.0&EvtSrc=Microsoft.SqlServer.Management.UI.CreateSubWizardErrorSR&EvtID=CantGetDatabaseList&LinkId=20476 =================================== An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) ------------------------------ Program Location: at Microsoft.SqlServer.Management.Common.ServerConnection.GetExecuteReader(SqlCommand command) at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteReader(String sqlCommand, SqlCommand& command) at Microsoft.SqlServer.Replication.ReplicationServer.RefreshGetDistributor() at Microsoft.SqlServer.Management.UI.PageChoosePublication.EnumDatabases(ReplicationSqlConnection sqlConn) at Microsoft.SqlServer.Management.UI.PageChoosePublication.LoadDatabases(ReplicationSqlConnection publisherConn, String selectedDBName, String selectedPubName, Boolean isHeterogeneous) =================================== Could not find stored procedure 'sp_get_distributor'. (.Net SqlClient Data Provider) ------------------------------ For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=12.00.0600&EvtSrc=MSSQLServer&EvtID=2812&LinkId=20476 ------------------------------ Server Name: nyrstar-prod-01.database.windows.net Error Number: 2812 Severity: 16 State: 62 Line Number: 1 ------------------------------ Program Location: at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException) at Microsoft.SqlServer.Management.Common.ServerConnection.GetExecuteReader(SqlCommand command)
目前僅支持從本地到SQL 數據庫的複制,並且必須是推送複製。看這裡:
支持的配置:
- SQL Server 可以是在本地執行的 SQL Server 實例,也可以是在雲中的 Azure 虛擬機中執行的 SQL Server 實例
- SQL 數據庫必須是 SQL Server 發布者的推送訂閱者。
- 分發數據庫和複製代理不能放在 SQL 數據庫上。
您可能需要考慮使用託管實例來解決此問題。有關詳細資訊,請參閱使用 SQL 數據庫託管實例進行複制。