快照repldataunc未清除



SQL Server 2008 R2快照复制
背景信息
x3所有在Windows Server 2012上运行MSSQL 2008 R2的服务器:
SERV1包含两个已发布的数据库-S1DB1和S1DB2
SERV2包含两个订阅数据库-S2DB1和S2DB2
SERV3包含一个订阅数据库-S3DB1

x2个设置相同的出版物:
PUB1&PUB2

设置
S1DB1(PUB1)和S1DB2(PUB2)每天都按计划运行(所有订阅都是推送订阅)

PUB1复制到S2DB1,每天按计划运行
PUB1按需复制到S3DB1(无时间表)
PUB2每天按计划复制到S2DB2

用于存储快照的文件夹是默认文件夹(C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\repldata\unc)

SERV1 _ S1DB1 _ PUB1我将称为FOLD1
SERV1 _ S1DB2 _ PUB2我称之为FOLD2

问题
FOLD2中包含快照数据的子文件夹每天都会被自动删除,其中只有一个子文件夹是最近的快照。例如,今天有一个子文件夹:"20141104060001"。

FOLD1中包含快照数据的子文件夹是而不是,它们每天都会自动删除,直到手动删除为止。例如,今天有三个子文件夹:"20141102010002"、"20141103010002"one_answers"20141104010002"。

尽管最大分发保留期设置为72小时,但子文件夹通常每天都会被删除,这对我们来说并不是问题,事实上这更有帮助。

我有一种预感,这可能是因为S3DB1的订阅只是随需应变,而不是按计划进行的,所以它会保留文件,以便在需要时进行同步。诚然,我还没有删除S3DB1的订阅,看看这是否证实了我的理论,但当订阅运行时,子文件夹仍然不清楚。如果他们这样做了,这就不是问题,因为我们可以确保每隔几天运行一次订阅,以避免空间被填满。

"分发清理:分发"作业运行良好,并且确实显示
"Removed 0 replicated transactions consisting of 0 statements in 0 seconds (0 rows/sec). [SQLSTATE 01000] (Message 21010). The step succeeded."
作为消息,但在成功同步订阅后,我还没能及早捕捉到它。

我在某个时候删除了PUB1和所有相关的订阅,并重新创建,但这显然是不成功的。

有人能确认我的做法是否正确吗?如果我知道,有人知道吗?以确保这个设置可以保持不变,但FOLD1只保留最新的快照?我们只使用最近的。因此,即使有一个sp可以运行来告诉SQL Server所有订阅都已同步(即使它们还没有同步),导致它只在FOLD1中留下最新的快照数据?

如果有人需要更多信息,请告诉我。

提前感谢您所能提供的任何帮助,
Shane

好的,问题解决了。错误的出版物似乎也在按计划复制到第三台服务器上。第三台服务器(几个月前)会在一两天后挂起,需要每天晚上重新启动以避免内存问题。

有外部公司从该服务器中提取数据,该服务器已停止,但复制并未停止。由于服务器没有被使用,因此没有重新启动。自从删除链接到该服务器的订阅后,历史数据已被自动删除,只留下最新的快照。

从OP:"翻译"成我的格式

x3所有在Windows Server 2012上运行MSSQL 2008 R2的服务器:
SERV1包含两个已发布的数据库-S1DB1和S1DB2
SERV2包含两个订阅数据库-S2DB1和S2DB2
SERV3包含一个订阅数据库-S3DB1

x1在Windows Server 2008 R2上运行MSSQL 2008 R2的服务器:
SERV4包含一个订阅数据库-S4DB1

x2设置相同的出版物:PUB1&PUB2

PUB1复制到S2DB1,每天按计划运行
PUB1按需复制到S3DB1(无时间表)
PUB1复制到S4DB1,每天按计划运行
PUB2复制到S2DB2,每天按计划运行

最新更新