Exchange archiving update_db.sql
This commit is contained in:
parent
76ca675086
commit
3856809853
1 changed files with 875 additions and 0 deletions
|
@ -3265,3 +3265,878 @@ END
|
|||
GO
|
||||
|
||||
|
||||
|
||||
-- Exchange2013 Archiving
|
||||
|
||||
-- Exchange2013 Archiving Quotas
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2013.AllowArchiving')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota])
|
||||
VALUES (424, 12, 27,N'Exchange2013.AllowArchiving',N'Allow Archiving',1, 0 , NULL, NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2013.ArchivingStorage')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota])
|
||||
VALUES (425, 12, 29, N'Exchange2013.ArchivingStorage', N'Archiving storage, MB', 2, 0, NULL, NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2013.ArchivingMailboxes')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota])
|
||||
VALUES (426, 12, 28, N'Exchange2013.ArchivingMailboxes', N'Archiving Mailboxes per Organization', 2, 0, NULL, NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
-- Exchange2013 Archiving Plans
|
||||
IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='ExchangeMailboxPlans' AND COLS.name='Archiving')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[ExchangeMailboxPlans] ADD
|
||||
[Archiving] [bit] NULL
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='ExchangeMailboxPlans' AND COLS.name='EnableArchiving')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[ExchangeMailboxPlans] ADD
|
||||
[EnableArchiving] [bit] NULL
|
||||
END
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[AddExchangeMailboxPlan]
|
||||
(
|
||||
@MailboxPlanId int OUTPUT,
|
||||
@ItemID int,
|
||||
@MailboxPlan nvarchar(300),
|
||||
@EnableActiveSync bit,
|
||||
@EnableIMAP bit,
|
||||
@EnableMAPI bit,
|
||||
@EnableOWA bit,
|
||||
@EnablePOP bit,
|
||||
@IsDefault bit,
|
||||
@IssueWarningPct int,
|
||||
@KeepDeletedItemsDays int,
|
||||
@MailboxSizeMB int,
|
||||
@MaxReceiveMessageSizeKB int,
|
||||
@MaxRecipients int,
|
||||
@MaxSendMessageSizeKB int,
|
||||
@ProhibitSendPct int,
|
||||
@ProhibitSendReceivePct int ,
|
||||
@HideFromAddressBook bit,
|
||||
@MailboxPlanType int,
|
||||
@AllowLitigationHold bit,
|
||||
@RecoverableItemsWarningPct int,
|
||||
@RecoverableItemsSpace int,
|
||||
@LitigationHoldUrl nvarchar(256),
|
||||
@LitigationHoldMsg nvarchar(512),
|
||||
@Archiving bit,
|
||||
@EnableArchiving bit
|
||||
)
|
||||
AS
|
||||
|
||||
IF (((SELECT Count(*) FROM ExchangeMailboxPlans WHERE ItemId = @ItemID) = 0) AND (@MailboxPlanType=0))
|
||||
BEGIN
|
||||
SET @IsDefault = 1
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF ((@IsDefault = 1) AND (@MailboxPlanType=0))
|
||||
BEGIN
|
||||
UPDATE ExchangeMailboxPlans SET IsDefault = 0 WHERE ItemID = @ItemID
|
||||
END
|
||||
END
|
||||
|
||||
INSERT INTO ExchangeMailboxPlans
|
||||
(
|
||||
ItemID,
|
||||
MailboxPlan,
|
||||
EnableActiveSync,
|
||||
EnableIMAP,
|
||||
EnableMAPI,
|
||||
EnableOWA,
|
||||
EnablePOP,
|
||||
IsDefault,
|
||||
IssueWarningPct,
|
||||
KeepDeletedItemsDays,
|
||||
MailboxSizeMB,
|
||||
MaxReceiveMessageSizeKB,
|
||||
MaxRecipients,
|
||||
MaxSendMessageSizeKB,
|
||||
ProhibitSendPct,
|
||||
ProhibitSendReceivePct,
|
||||
HideFromAddressBook,
|
||||
MailboxPlanType,
|
||||
AllowLitigationHold,
|
||||
RecoverableItemsWarningPct,
|
||||
RecoverableItemsSpace,
|
||||
LitigationHoldUrl,
|
||||
LitigationHoldMsg,
|
||||
Archiving,
|
||||
EnableArchiving
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@ItemID,
|
||||
@MailboxPlan,
|
||||
@EnableActiveSync,
|
||||
@EnableIMAP,
|
||||
@EnableMAPI,
|
||||
@EnableOWA,
|
||||
@EnablePOP,
|
||||
@IsDefault,
|
||||
@IssueWarningPct,
|
||||
@KeepDeletedItemsDays,
|
||||
@MailboxSizeMB,
|
||||
@MaxReceiveMessageSizeKB,
|
||||
@MaxRecipients,
|
||||
@MaxSendMessageSizeKB,
|
||||
@ProhibitSendPct,
|
||||
@ProhibitSendReceivePct,
|
||||
@HideFromAddressBook,
|
||||
@MailboxPlanType,
|
||||
@AllowLitigationHold,
|
||||
@RecoverableItemsWarningPct,
|
||||
@RecoverableItemsSpace,
|
||||
@LitigationHoldUrl,
|
||||
@LitigationHoldMsg,
|
||||
@Archiving,
|
||||
@EnableArchiving
|
||||
)
|
||||
|
||||
SET @MailboxPlanId = SCOPE_IDENTITY()
|
||||
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[UpdateExchangeMailboxPlan]
|
||||
(
|
||||
@MailboxPlanId int,
|
||||
@MailboxPlan nvarchar(300),
|
||||
@EnableActiveSync bit,
|
||||
@EnableIMAP bit,
|
||||
@EnableMAPI bit,
|
||||
@EnableOWA bit,
|
||||
@EnablePOP bit,
|
||||
@IsDefault bit,
|
||||
@IssueWarningPct int,
|
||||
@KeepDeletedItemsDays int,
|
||||
@MailboxSizeMB int,
|
||||
@MaxReceiveMessageSizeKB int,
|
||||
@MaxRecipients int,
|
||||
@MaxSendMessageSizeKB int,
|
||||
@ProhibitSendPct int,
|
||||
@ProhibitSendReceivePct int ,
|
||||
@HideFromAddressBook bit,
|
||||
@MailboxPlanType int,
|
||||
@AllowLitigationHold bit,
|
||||
@RecoverableItemsWarningPct int,
|
||||
@RecoverableItemsSpace int,
|
||||
@LitigationHoldUrl nvarchar(256),
|
||||
@LitigationHoldMsg nvarchar(512),
|
||||
@Archiving bit,
|
||||
@EnableArchiving bit
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE ExchangeMailboxPlans SET
|
||||
MailboxPlan = @MailboxPlan,
|
||||
EnableActiveSync = @EnableActiveSync,
|
||||
EnableIMAP = @EnableIMAP,
|
||||
EnableMAPI = @EnableMAPI,
|
||||
EnableOWA = @EnableOWA,
|
||||
EnablePOP = @EnablePOP,
|
||||
IsDefault = @IsDefault,
|
||||
IssueWarningPct= @IssueWarningPct,
|
||||
KeepDeletedItemsDays = @KeepDeletedItemsDays,
|
||||
MailboxSizeMB= @MailboxSizeMB,
|
||||
MaxReceiveMessageSizeKB= @MaxReceiveMessageSizeKB,
|
||||
MaxRecipients= @MaxRecipients,
|
||||
MaxSendMessageSizeKB= @MaxSendMessageSizeKB,
|
||||
ProhibitSendPct= @ProhibitSendPct,
|
||||
ProhibitSendReceivePct = @ProhibitSendReceivePct,
|
||||
HideFromAddressBook = @HideFromAddressBook,
|
||||
MailboxPlanType = @MailboxPlanType,
|
||||
AllowLitigationHold = @AllowLitigationHold,
|
||||
RecoverableItemsWarningPct = @RecoverableItemsWarningPct,
|
||||
RecoverableItemsSpace = @RecoverableItemsSpace,
|
||||
LitigationHoldUrl = @LitigationHoldUrl,
|
||||
LitigationHoldMsg = @LitigationHoldMsg,
|
||||
Archiving = @Archiving,
|
||||
EnableArchiving = @EnableArchiving
|
||||
|
||||
|
||||
WHERE MailboxPlanId = @MailboxPlanId
|
||||
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[GetExchangeMailboxPlans]
|
||||
(
|
||||
@ItemID int,
|
||||
@Archiving bit
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
MailboxPlanId,
|
||||
ItemID,
|
||||
MailboxPlan,
|
||||
EnableActiveSync,
|
||||
EnableIMAP,
|
||||
EnableMAPI,
|
||||
EnableOWA,
|
||||
EnablePOP,
|
||||
IsDefault,
|
||||
IssueWarningPct,
|
||||
KeepDeletedItemsDays,
|
||||
MailboxSizeMB,
|
||||
MaxReceiveMessageSizeKB,
|
||||
MaxRecipients,
|
||||
MaxSendMessageSizeKB,
|
||||
ProhibitSendPct,
|
||||
ProhibitSendReceivePct,
|
||||
HideFromAddressBook,
|
||||
MailboxPlanType,
|
||||
Archiving,
|
||||
EnableArchiving
|
||||
FROM
|
||||
ExchangeMailboxPlans
|
||||
WHERE
|
||||
ItemID = @ItemID
|
||||
AND ((Archiving=@Archiving) OR ((@Archiving=0) AND (Archiving IS NULL)))
|
||||
ORDER BY MailboxPlan
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[GetExchangeMailboxPlan]
|
||||
(
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
MailboxPlanId,
|
||||
ItemID,
|
||||
MailboxPlan,
|
||||
EnableActiveSync,
|
||||
EnableIMAP,
|
||||
EnableMAPI,
|
||||
EnableOWA,
|
||||
EnablePOP,
|
||||
IsDefault,
|
||||
IssueWarningPct,
|
||||
KeepDeletedItemsDays,
|
||||
MailboxSizeMB,
|
||||
MaxReceiveMessageSizeKB,
|
||||
MaxRecipients,
|
||||
MaxSendMessageSizeKB,
|
||||
ProhibitSendPct,
|
||||
ProhibitSendReceivePct,
|
||||
HideFromAddressBook,
|
||||
MailboxPlanType,
|
||||
AllowLitigationHold,
|
||||
RecoverableItemsWarningPct,
|
||||
RecoverableItemsSpace,
|
||||
LitigationHoldUrl,
|
||||
LitigationHoldMsg,
|
||||
Archiving,
|
||||
EnableArchiving
|
||||
FROM
|
||||
ExchangeMailboxPlans
|
||||
WHERE
|
||||
MailboxPlanId = @MailboxPlanId
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
-- Exchange2013 ExchangeAccount
|
||||
|
||||
IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='ExchangeAccounts' AND COLS.name='ArchivingMailboxPlanId')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[ExchangeAccounts] ADD
|
||||
[ArchivingMailboxPlanId] [int] NULL
|
||||
END
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[GetExchangeAccount]
|
||||
(
|
||||
@ItemID int,
|
||||
@AccountID int
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber,
|
||||
E.UserPrincipalName,
|
||||
E.ArchivingMailboxPlanId,
|
||||
AP.MailboxPlan as 'ArchivingMailboxPlan'
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
|
||||
WHERE
|
||||
E.ItemID = @ItemID AND
|
||||
E.AccountID = @AccountID
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[GetExchangeAccountByAccountName]
|
||||
(
|
||||
@ItemID int,
|
||||
@AccountName nvarchar(300)
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber,
|
||||
E.UserPrincipalName,
|
||||
E.ArchivingMailboxPlanId,
|
||||
AP.MailboxPlan as 'ArchivingMailboxPlan'
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
|
||||
WHERE
|
||||
E.ItemID = @ItemID AND
|
||||
E.AccountName = @AccountName
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[GetExchangeAccountByMailboxPlanId]
|
||||
(
|
||||
@ItemID int,
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
|
||||
IF (@MailboxPlanId < 0)
|
||||
BEGIN
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber,
|
||||
E.UserPrincipalName,
|
||||
E.ArchivingMailboxPlanId,
|
||||
AP.MailboxPlan as 'ArchivingMailboxPlan'
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
|
||||
WHERE
|
||||
E.ItemID = @ItemID AND
|
||||
E.MailboxPlanId IS NULL AND
|
||||
E.AccountType IN (1,5)
|
||||
RETURN
|
||||
|
||||
END
|
||||
ELSE
|
||||
IF (@ItemId = 0)
|
||||
BEGIN
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber,
|
||||
E.UserPrincipalName,
|
||||
E.ArchivingMailboxPlanId,
|
||||
AP.MailboxPlan as 'ArchivingMailboxPlan'
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
|
||||
WHERE
|
||||
E.MailboxPlanId = @MailboxPlanId AND
|
||||
E.AccountType IN (1,5)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber,
|
||||
E.UserPrincipalName,
|
||||
E.ArchivingMailboxPlanId,
|
||||
AP.MailboxPlan as 'ArchivingMailboxPlan'
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
|
||||
WHERE
|
||||
E.ItemID = @ItemID AND
|
||||
E.MailboxPlanId = @MailboxPlanId AND
|
||||
E.AccountType IN (1,5)
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[GetExchangeAccountsPaged]
|
||||
(
|
||||
@ActorID int,
|
||||
@ItemID int,
|
||||
@AccountTypes nvarchar(30),
|
||||
@FilterColumn nvarchar(50) = '',
|
||||
@FilterValue nvarchar(50) = '',
|
||||
@SortColumn nvarchar(50),
|
||||
@StartRow int,
|
||||
@MaximumRows int,
|
||||
@Archiving bit
|
||||
)
|
||||
AS
|
||||
|
||||
DECLARE @PackageID int
|
||||
SELECT @PackageID = PackageID FROM ServiceItems
|
||||
WHERE ItemID = @ItemID
|
||||
|
||||
-- check rights
|
||||
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||
|
||||
-- start
|
||||
DECLARE @condition nvarchar(700)
|
||||
SET @condition = '
|
||||
EA.AccountType IN (' + @AccountTypes + ')
|
||||
AND EA.ItemID = @ItemID
|
||||
'
|
||||
|
||||
IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
|
||||
AND @FilterValue <> '' AND @FilterValue IS NOT NULL
|
||||
BEGIN
|
||||
IF @FilterColumn = 'PrimaryEmailAddress' AND @AccountTypes <> '2'
|
||||
BEGIN
|
||||
SET @condition = @condition + ' AND EA.AccountID IN (SELECT EAEA.AccountID FROM ExchangeAccountEmailAddresses EAEA WHERE EAEA.EmailAddress LIKE ''' + @FilterValue + ''')'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
|
||||
END
|
||||
END
|
||||
|
||||
if @Archiving = 1
|
||||
BEGIN
|
||||
SET @condition = @condition + ' AND (EA.ArchivingMailboxPlanId > 0) '
|
||||
END
|
||||
|
||||
IF @SortColumn IS NULL OR @SortColumn = ''
|
||||
SET @SortColumn = 'EA.DisplayName ASC'
|
||||
|
||||
DECLARE @joincondition nvarchar(700)
|
||||
SET @joincondition = ',P.MailboxPlan FROM ExchangeAccounts AS EA
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON EA.MailboxPlanId = P.MailboxPlanId'
|
||||
|
||||
DECLARE @sql nvarchar(3500)
|
||||
|
||||
set @sql = '
|
||||
SELECT COUNT(EA.AccountID) FROM ExchangeAccounts AS EA
|
||||
WHERE ' + @condition + ';
|
||||
|
||||
WITH Accounts AS (
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
|
||||
EA.AccountID,
|
||||
EA.ItemID,
|
||||
EA.AccountType,
|
||||
EA.AccountName,
|
||||
EA.DisplayName,
|
||||
EA.PrimaryEmailAddress,
|
||||
EA.MailEnabledPublicFolder,
|
||||
EA.MailboxPlanId,
|
||||
EA.SubscriberNumber,
|
||||
EA.UserPrincipalName ' + @joincondition +
|
||||
' WHERE ' + @condition + '
|
||||
)
|
||||
|
||||
SELECT * FROM Accounts
|
||||
WHERE Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
|
||||
'
|
||||
|
||||
print @sql
|
||||
|
||||
exec sp_executesql @sql, N'@ItemID int, @StartRow int, @MaximumRows int',
|
||||
@ItemID, @StartRow, @MaximumRows
|
||||
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[SetExchangeAccountMailboxplan]
|
||||
(
|
||||
@AccountID int,
|
||||
@MailboxPlanId int,
|
||||
@ArchivingMailboxPlanId int
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE ExchangeAccounts SET
|
||||
MailboxPlanId = @MailboxPlanId,
|
||||
ArchivingMailboxPlanId = @ArchivingMailboxPlanId
|
||||
WHERE
|
||||
AccountID = @AccountID
|
||||
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[UpdateExchangeAccount]
|
||||
(
|
||||
@AccountID int,
|
||||
@AccountName nvarchar(300),
|
||||
@DisplayName nvarchar(300),
|
||||
@PrimaryEmailAddress nvarchar(300),
|
||||
@AccountType int,
|
||||
@SamAccountName nvarchar(100),
|
||||
@MailEnabledPublicFolder bit,
|
||||
@MailboxManagerActions varchar(200),
|
||||
@Password varchar(200),
|
||||
@MailboxPlanId int,
|
||||
@ArchivingMailboxPlanId int,
|
||||
@SubscriberNumber varchar(32)
|
||||
)
|
||||
AS
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
IF (@MailboxPlanId = -1)
|
||||
BEGIN
|
||||
SET @MailboxPlanId = NULL
|
||||
END
|
||||
|
||||
UPDATE ExchangeAccounts SET
|
||||
AccountName = @AccountName,
|
||||
DisplayName = @DisplayName,
|
||||
PrimaryEmailAddress = @PrimaryEmailAddress,
|
||||
MailEnabledPublicFolder = @MailEnabledPublicFolder,
|
||||
MailboxManagerActions = @MailboxManagerActions,
|
||||
AccountType =@AccountType,
|
||||
SamAccountName = @SamAccountName,
|
||||
MailboxPlanId = @MailboxPlanId,
|
||||
SubscriberNumber = @SubscriberNumber,
|
||||
ArchivingMailboxPlanId = @ArchivingMailboxPlanId
|
||||
|
||||
WHERE
|
||||
AccountID = @AccountID
|
||||
|
||||
IF (@@ERROR <> 0 )
|
||||
BEGIN
|
||||
ROLLBACK TRANSACTION
|
||||
RETURN -1
|
||||
END
|
||||
|
||||
UPDATE ExchangeAccounts SET
|
||||
AccountPassword = @Password WHERE AccountID = @AccountID AND @Password IS NOT NULL
|
||||
|
||||
IF (@@ERROR <> 0 )
|
||||
BEGIN
|
||||
ROLLBACK TRANSACTION
|
||||
RETURN -1
|
||||
END
|
||||
COMMIT TRAN
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
-- Exchange2013 Archiving ExchangeRetentionPolicyTags
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'ExchangeRetentionPolicyTags')
|
||||
CREATE TABLE ExchangeRetentionPolicyTags
|
||||
(
|
||||
[TagID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
|
||||
[ItemID] [int] NOT NULL,
|
||||
[TagName] NVARCHAR(255),
|
||||
[TagType] [int] NOT NULL,
|
||||
[AgeLimitForRetention] [int] NOT NULL,
|
||||
[RetentionAction] [int] NOT NULL
|
||||
)
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddExchangeRetentionPolicyTag')
|
||||
DROP PROCEDURE [dbo].[AddExchangeRetentionPolicyTag]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddExchangeRetentionPolicyTag]
|
||||
(
|
||||
@TagID int OUTPUT,
|
||||
@ItemID int,
|
||||
@TagName nvarchar(255),
|
||||
@TagType int,
|
||||
@AgeLimitForRetention int,
|
||||
@RetentionAction int
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
INSERT INTO ExchangeRetentionPolicyTags
|
||||
(
|
||||
ItemID,
|
||||
TagName,
|
||||
TagType,
|
||||
AgeLimitForRetention,
|
||||
RetentionAction
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@ItemID,
|
||||
@TagName,
|
||||
@TagType,
|
||||
@AgeLimitForRetention,
|
||||
@RetentionAction
|
||||
)
|
||||
|
||||
SET @TagID = SCOPE_IDENTITY()
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateExchangeRetentionPolicyTag')
|
||||
DROP PROCEDURE [dbo].[UpdateExchangeRetentionPolicyTag]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[UpdateExchangeRetentionPolicyTag]
|
||||
(
|
||||
@TagID int,
|
||||
@ItemID int,
|
||||
@TagName nvarchar(255),
|
||||
@TagType int,
|
||||
@AgeLimitForRetention int,
|
||||
@RetentionAction int
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE ExchangeRetentionPolicyTags SET
|
||||
ItemID = @ItemID,
|
||||
TagName = @TagName,
|
||||
TagType = @TagType,
|
||||
AgeLimitForRetention = @AgeLimitForRetention,
|
||||
RetentionAction = @RetentionAction
|
||||
WHERE TagID = @TagID
|
||||
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetExchangeRetentionPolicyTags')
|
||||
DROP PROCEDURE [dbo].[GetExchangeRetentionPolicyTags]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetExchangeRetentionPolicyTags]
|
||||
(
|
||||
@ItemID int
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
TagID,
|
||||
ItemID,
|
||||
TagName,
|
||||
TagType,
|
||||
AgeLimitForRetention,
|
||||
RetentionAction
|
||||
FROM
|
||||
ExchangeRetentionPolicyTags
|
||||
WHERE
|
||||
ItemID = @ItemID
|
||||
ORDER BY TagName
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetExchangeRetentionPolicyTag')
|
||||
DROP PROCEDURE [dbo].[GetExchangeRetentionPolicyTag]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetExchangeRetentionPolicyTag]
|
||||
(
|
||||
@TagID int
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
TagID,
|
||||
ItemID,
|
||||
TagName,
|
||||
TagType,
|
||||
AgeLimitForRetention,
|
||||
RetentionAction
|
||||
FROM
|
||||
ExchangeRetentionPolicyTags
|
||||
WHERE
|
||||
TagID = @TagID
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteExchangeRetentionPolicyTag')
|
||||
DROP PROCEDURE [dbo].[DeleteExchangeRetentionPolicyTag]
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[DeleteExchangeRetentionPolicyTag]
|
||||
(
|
||||
@TagID int
|
||||
)
|
||||
AS
|
||||
DELETE FROM ExchangeRetentionPolicyTags
|
||||
WHERE
|
||||
TagID = @TagID
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
-- Exchange2013 Archiving ExchangeMailboxPlanRetentionPolicyTags
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'ExchangeMailboxPlanRetentionPolicyTags')
|
||||
CREATE TABLE ExchangeMailboxPlanRetentionPolicyTags
|
||||
(
|
||||
[PlanTagID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
|
||||
[TagID] [int] NOT NULL,
|
||||
[MailboxPlanId] [int] NOT NULL
|
||||
)
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetExchangeMailboxPlanRetentionPolicyTags')
|
||||
DROP PROCEDURE [dbo].[GetExchangeMailboxPlanRetentionPolicyTags]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetExchangeMailboxPlanRetentionPolicyTags]
|
||||
(
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
D.PlanTagID,
|
||||
D.TagID,
|
||||
D.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
T.TagName
|
||||
FROM
|
||||
ExchangeMailboxPlanRetentionPolicyTags AS D
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON P.MailboxPlanId = D.MailboxPlanId
|
||||
LEFT OUTER JOIN ExchangeRetentionPolicyTags AS T ON T.TagID = D.TagID
|
||||
WHERE
|
||||
D.MailboxPlanId = @MailboxPlanId
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddExchangeMailboxPlanRetentionPolicyTag')
|
||||
DROP PROCEDURE [dbo].[AddExchangeMailboxPlanRetentionPolicyTag]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddExchangeMailboxPlanRetentionPolicyTag]
|
||||
(
|
||||
@PlanTagID int OUTPUT,
|
||||
@TagID int,
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
INSERT INTO ExchangeMailboxPlanRetentionPolicyTags
|
||||
(
|
||||
TagID,
|
||||
MailboxPlanId
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@TagID,
|
||||
@MailboxPlanId
|
||||
)
|
||||
|
||||
SET @PlanTagID = SCOPE_IDENTITY()
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteExchangeMailboxPlanRetentionPolicyTag')
|
||||
DROP PROCEDURE [dbo].[DeleteExchangeMailboxPlanRetentionPolicyTag]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[DeleteExchangeMailboxPlanRetentionPolicyTag]
|
||||
(
|
||||
@PlanTagID int
|
||||
)
|
||||
AS
|
||||
DELETE FROM ExchangeMailboxPlanRetentionPolicyTags
|
||||
WHERE
|
||||
PlanTagID = @PlanTagID
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue