我在数据库中看到了一些 Azure DataSync 表和过程。我不确定它们是从哪个数据库加载的。有什么方法可以从SSMS检查数据同步组吗?
最佳答案
以下查询告诉您哪个数据库是中心数据库。删除 WHERE 子句中的 SyncGroupName 以获取所有同步组的信息。
SELECT ud.server as HubServer, ud.[database] as HubDatabase, [db_schema]
FROM [dss].[syncgroup] as sg
INNER JOIN [dss].[userdatabase] as ud on sg.hub_memberid = ud.id
LEFT JOIN [dss].[syncgroupmember] as m on sg.id = m.syncgroupid
WHERE [db_schema] IS NOT NULL AND sg.name = 'syncGoupName'
以下查询告诉您参与同步的所有成员数据库。删除 WHERE 子句中的 SyncGroupName 以获取所有同步组的信息。
SELECT ud2.[server] as MemberServer ,ud2.[database] as MemberDatabase, [db_schema]
FROM [dss].[syncgroup] as sg
LEFT JOIN [dss].[syncgroupmember] as m on sg.id = m.syncgroupid
LEFT JOIN [dss].[userdatabase] as ud2 on m.databaseid = ud2.id
WHERE [db_schema] IS NOT NULL AND sg.name = 'syncGoupName'
列出与 SQL 数据同步相关的所有存储过程。
SELECT 'DataSync.' + name FROM sys.procedures WHERE schema_id = SCHEMA_ID('DataSync')
列出 SQL Data Sync 使用的所有跟踪表。
SELECT '['+TABLE_SCHEMA+'].['+ TABLE_NAME + ']' as FullTableName, TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%_dss_tracking'
关于azure - 如何从 SSMS 检查数据同步组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59420307/