Delen via


Сокращение размера БД Sync DB

В процессе работы фермы SharePoint 2010 можно наблюдать картину “бесконечного” роста БД синхронизации приложения профилей [Sync DB].

Для того, чтобы уменьшить размер данной базы можно воспользоваться одним из двух вариантов.

Вариант 1
Данный вариант заключается в пересоздании сервисного приложения.Он довольно эффективен, но мало удобен Улыбка

Вариант 2.

Данный вариант я нашел в одной из статей в Интернете.

Суть данного варианта стоит в том, чтобы просто удалить старые записи в БД с помощью скрипта ниже. После чего БД можно сжать, для сокращения занимаемого объема. Скрипт привожу как есть в статье-исходнике.

 USE [Sync DB]
GO
 CREATE SCHEMA FIM
 GO
 /****** Object:  StoredProcedure [fim].[TruncateInstanceData]    Script Date: 08/10/2011 14:09:11 *****/

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [fim].[TruncateInstanceData]
AS
BEGIN

--************************************************************
--*                                                          *                                                         *
--*   Copyright (C) Microsoft. All rights reserved.          *
--*                                                          *
--************************************************************
SET NOCOUNT ON;
DECLARE @truncationTime datetime;
SET @truncationTime = DATEADD(day, -1, GETUTCDATE());
DELETE FROM [dbo].[InstanceData]
WHERE ([created] < @truncationTime)
END