IF EXISTS(SELECT * FROM sys.databases WHERE name='SIMSBAK')
DROP DATABASE [SIMSBAK];
CREATE DATABASE [SIMSBAK];
--*********************
--*******Tables********
--*********************
SELECT * INTO SIMSBAK.dbo.AccessLevels FROM SIMSData.dbo.AccessLevels;
SELECT * INTO SIMSBAK.dbo.AccountType FROM SIMSData.dbo.AccountType;
SELECT * INTO SIMSBAK.dbo.AccountChanges FROM SIMSData.dbo.AccountChanges WHERE DateTimeStamp > DATEADD(DAY, -7, SYSUTCDateTime());
SELECT * INTO SIMSBAK.dbo.ANITranslation FROM SIMSData.dbo.ANITranslation;
SELECT * INTO SIMSBAK.dbo.AutoDispatch FROM SIMSData.dbo.AutoDispatch;
SELECT * INTO SIMSBAK.dbo.ChangeTypes FROM SIMSData.dbo.ChangeTypes;
SELECT * INTO SIMSBAK.dbo.ContactTemplate FROM SIMSData.dbo.ContactTemplate;
SELECT * INTO SIMSBAK.dbo.ControlType FROM SIMSData.dbo.ControlType;
SELECT * INTO SIMSBAK.dbo.Email FROM SIMSData.dbo.Email;
SELECT * INTO SIMSBAK.dbo.EmergencyModeTimeZip FROM SIMSData.dbo.EmergencyModeTimeZip;
SELECT * INTO SIMSBAK.dbo.EmergencyModeType FROM SIMSData.dbo.EmergencyModeType;
SELECT * INTO SIMSBAK.dbo.ErrorMessage FROM SIMSData.dbo.ErrorMessage;
SELECT * INTO SIMSBAK.dbo.EventDisposition FROM SIMSData.dbo.EventDisposition;
SELECT * INTO SIMSBAK.dbo.EventSchedule FROM SIMSData.dbo.EventSchedule;
SELECT * INTO SIMSBAK.dbo.EventTypes FROM SIMSData.dbo.EventTypes;
SELECT * INTO SIMSBAK.dbo.FaxModem FROM SIMSData.dbo.FaxModem;
SELECT * INTO SIMSBAK.dbo.GlobalOptions FROM SIMSData.dbo.GlobalOptions;
SELECT * INTO SIMSBAK.dbo.GlobalPhoneNumber FROM SIMSData.dbo.GlobalPhoneNumber;
SELECT * INTO SIMSBAK.dbo.GlobalSchedule FROM SIMSData.dbo.GlobalSchedule;
SELECT * INTO SIMSBAK.dbo.HelpMessage FROM SIMSData.dbo.HelpMessage;
SELECT * INTO SIMSBAK.dbo.OperationalModes FROM SIMSData.dbo.OperationalModes;
SELECT * INTO SIMSBAK.dbo.OperationalModesComment FROM SIMSData.dbo.OperationalModesComment;
SELECT * INTO SIMSBAK.dbo.Operator FROM SIMSData.dbo.Operator;
SELECT * INTO SIMSBAK.dbo.OperatorGroup FROM SIMSData.dbo.OperatorGroup;
SELECT * INTO SIMSBAK.dbo.Pager FROM SIMSData.dbo.Pager;
SELECT * INTO SIMSBAK.dbo.PhoneNumberNotepad FROM SIMSData.dbo.PhoneNumberNotepad;
SELECT * INTO SIMSBAK.dbo.PremiseAccessLevel FROM SIMSData.dbo.PremiseAccessLevel;
SELECT * INTO SIMSBAK.dbo.Receiver FROM SIMSData.dbo.Receiver;
SELECT * INTO SIMSBAK.dbo.ReceiverLog FROM SIMSData.dbo.ReceiverLog;
SELECT * INTO SIMSBAK.dbo.Receivers FROM SIMSData.dbo.Receivers;
SELECT * INTO SIMSBAK.dbo.RecordType FROM SIMSData.dbo.RecordType;
SELECT * INTO SIMSBAK.dbo.RRLLTranslation FROM SIMSData.dbo.RRLLTranslation;
SELECT * INTO SIMSBAK.dbo.ScheduleTemplate FROM SIMSData.dbo.ScheduleTemplate;
SELECT * INTO SIMSBAK.dbo.ServiceDisposition FROM SIMSData.dbo.ServiceDisposition;
SELECT * INTO SIMSBAK.dbo.SIMSData FROM SIMSData.dbo.SIMSData WHERE ComputerTime > DATEADD(DAY, -7, GETDATE());
SELECT * INTO SIMSBAK.dbo.SpecialCode FROM SIMSData.dbo.SpecialCode;
SELECT * INTO SIMSBAK.dbo.SystemInfo FROM SIMSData.dbo.SystemInfo;
SELECT * INTO SIMSBAK.dbo.SystemReminder FROM SIMSData.dbo.SystemReminder;
SELECT * INTO SIMSBAK.dbo.Updates FROM SIMSData.dbo.Updates;
SELECT * INTO SIMSBAK.dbo.VideoProviders FROM SIMSData.dbo.VideoProviders;
SELECT * INTO SIMSBAK.dbo.WarningMessage FROM SIMSData.dbo.WarningMessage;
SELECT * INTO SIMSBAK.dbo.ZoneTemplate FROM SIMSData.dbo.ZoneTemplate;
IF OBJECT_ID('SIMSData.dbo.Forms', 'U') IS NOT NULL
BEGIN
SELECT * INTO SIMSBAK.dbo.Forms FROM SIMSData.dbo.Forms;
END
IF OBJECT_ID('SIMSData.dbo.DelayFIFO', 'U') IS NOT NULL
BEGIN
SELECT * INTO SIMSBAK.dbo.DelayFIFO FROM SIMSData.dbo.DelayFIFO;
END
--Dealer Tables
SELECT * INTO SIMSBAK.dbo.DealerAddress FROM SIMSData.dbo.DealerAddress;
SELECT * INTO SIMSBAK.dbo.DealerComment FROM SIMSData.dbo.DealerComment;
SELECT * INTO SIMSBAK.dbo.DealerContact FROM SIMSData.dbo.DealerContact;
SELECT * INTO SIMSBAK.dbo.DealerContactEmail FROM SIMSData.dbo.DealerContactEmail;
SELECT * INTO SIMSBAK.dbo.DealerContactEventType FROM SIMSData.dbo.DealerContactEventType;
SELECT * INTO SIMSBAK.dbo.DealerDelay FROM SIMSData.dbo.DealerDelay;
SELECT * INTO SIMSBAK.dbo.DealerEmail FROM SIMSData.dbo.DealerEmail;
SELECT * INTO SIMSBAK.dbo.DealerInvoice FROM SIMSData.dbo.DealerInvoice;
SELECT * INTO SIMSBAK.dbo.DealerMain FROM SIMSData.dbo.DealerMain;
SELECT * INTO SIMSBAK.dbo.DealerPhone FROM SIMSData.dbo.DealerPhone;
SELECT * INTO SIMSBAK.dbo.DealerSchedule FROM SIMSData.dbo.DealerSchedule;
SELECT * INTO SIMSBAK.dbo.DealerSpecialCode FROM SIMSData.dbo.DealerSpecialCode;
SELECT * INTO SIMSBAK.dbo.DealerWarning FROM SIMSData.dbo.DealerWarning;
SELECT * INTO SIMSBAK.dbo.DealerZone FROM SIMSData.dbo.DealerZone;
--Account Tables
SELECT * INTO SIMSBAK.dbo.AccountAddress FROM SIMSData.dbo.AccountAddress;
SELECT * INTO SIMSBAK.dbo.AccountBilling FROM SIMSData.dbo.AccountBilling;
SELECT * INTO SIMSBAK.dbo.AccountClass FROM SIMSData.dbo.AccountClass;
SELECT * INTO SIMSBAK.dbo.AccountComment FROM SIMSData.dbo.AccountComment;
SELECT * INTO SIMSBAK.dbo.AccountContactEventType FROM SIMSData.dbo.AccountContactEventType;
SELECT * INTO SIMSBAK.dbo.AccountContacts FROM SIMSData.dbo.AccountContacts;
SELECT * INTO SIMSBAK.dbo.AccountContactEmail FROM SIMSData.dbo.AccountContactEmail;
SELECT * INTO SIMSBAK.dbo.AccountEmail FROM SIMSData.dbo.AccountEmail;
SELECT * INTO SIMSBAK.dbo.AccountEquipment FROM SIMSData.dbo.AccountEquipment;
SELECT * INTO SIMSBAK.dbo.AccountInvoice FROM SIMSData.dbo.AccountInvoice;
SELECT * INTO SIMSBAK.dbo.AccountMain FROM SIMSData.dbo.AccountMain;
SELECT * INTO SIMSBAK.dbo.AccountMainB FROM SIMSData.dbo.AccountMainB;
SELECT * INTO SIMSBAK.dbo.AccountPhone FROM SIMSData.dbo.AccountPhone;
SELECT * INTO SIMSBAK.dbo.AccountSchedule FROM SIMSData.dbo.AccountSchedule;
SELECT * INTO SIMSBAK.dbo.AccountSpecialCode FROM SIMSData.dbo.AccountSpecialCode;
SELECT * INTO SIMSBAK.dbo.AccountSummaryComment FROM SIMSData.dbo.AccountSummaryComment WHERE CommentDate > DATEADD(DAY, -7, SYSUTCDateTime());
SELECT * INTO SIMSBAK.dbo.AccountSummaryDispatch FROM SIMSData.dbo.AccountSummaryDispatch WHERE DateTimeDispatch > DATEADD(DAY, -7, SYSUTCDateTime());
SELECT * INTO SIMSBAK.dbo.AccountSummaryEvent FROM SIMSData.dbo.AccountSummaryEvent WHERE EventDateTime > DATEADD(DAY, -7, SYSUTCDateTime());
SELECT * INTO SIMSBAK.dbo.AccountTempSchedule FROM SIMSData.dbo.AccountTempSchedule;
SELECT * INTO SIMSBAK.dbo.AccountVideo FROM SIMSData.dbo.AccountVideo;
SELECT * INTO SIMSBAK.dbo.AccountZone FROM SIMSData.dbo.AccountZone;
SELECT * INTO SIMSBAK.dbo.PendingService FROM SIMSData.dbo.PendingService;
-- Dispatch tables
SELECT * INTO SIMSBAK.dbo.GuardResponse FROM SIMSData.dbo.GuardResponse;
-- Traffic
SELECT * INTO SIMSBAK.dbo.Traffic FROM SIMSData.dbo.Traffic;
SELECT * INTO SIMSBAK.dbo.Traffic_Completed FROM SIMSData.dbo.Traffic_Completed;
-- Out Of Service
SELECT * INTO SIMSBAK.dbo.OutOfService FROM SIMSData.dbo.OutOfService;
SELECT * INTO SIMSBAK.dbo.OutOfServiceEventType FROM SIMSData.dbo.OutOfServiceEventType;
SELECT * INTO SIMSBAK.dbo.OutOfServiceZone FROM SIMSData.dbo.OutOfServiceZone;
-- Chat Tables
SELECT * INTO SIMSBAK.dbo.ChatActivity FROM SIMSData.dbo.ChatActivity;
SELECT * INTO SIMSBAK.dbo.ChatHistory FROM SIMSData.dbo.ChatHistory;
-- Comserver Tables
SELECT * INTO SIMSBAK.dbo.ComServer FROM SIMSData.dbo.ComServer;
SELECT * INTO SIMSBAK.dbo.ComserverAttachments FROM SIMSData.dbo.ComserverAttachments
SELECT * INTO SIMSBAK.dbo.AuditAccountAddress FROM SIMSData.dbo.AuditAccountAddress WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountBilling FROM SIMSData.dbo.AuditAccountBilling WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountClass FROM SIMSData.dbo.AuditAccountClass WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountComment FROM SIMSData.dbo.AuditAccountComment WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountContact FROM SIMSData.dbo.AuditAccountContact WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountContactEventType FROM SIMSData.dbo.AuditAccountContactEventType WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountEmail FROM SIMSData.dbo.AuditAccountEmail WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountEquipment FROM SIMSData.dbo.AuditAccountEquipment WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountInvoice FROM SIMSData.dbo.AuditAccountInvoice WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountMain FROM SIMSData.dbo.AuditAccountMain WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountMainB FROM SIMSData.dbo.AuditAccountMainB WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountPhone FROM SIMSData.dbo.AuditAccountPhone WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountSchedule FROM SIMSData.dbo.AuditAccountSchedule WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountSpecialCode FROM SIMSData.dbo.AuditAccountSpecialCode WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountTempSchedule FROM SIMSData.dbo.AuditAccountTempSchedule WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountType FROM SIMSData.dbo.AuditAccountType WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountVideo FROM SIMSData.dbo.AuditAccountVideo WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAccountZone FROM SIMSData.dbo.AuditAccountZone WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditANITranslation FROM SIMSData.dbo.AuditANITranslation WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditAutoDispatch FROM SIMSData.dbo.AuditAutoDispatch WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditContactTemplate FROM SIMSData.dbo.AuditContactTemplate WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditControlType FROM SIMSData.dbo.AuditControlType WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerAddress FROM SIMSData.dbo.AuditDealerAddress WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerComment FROM SIMSData.dbo.AuditDealerComment WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerContact FROM SIMSData.dbo.AuditDealerContact WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerContactEventType FROM SIMSData.dbo.AuditDealerContactEventType WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerDelay FROM SIMSData.dbo.AuditDealerDelay WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerEmail FROM SIMSData.dbo.AuditDealerEmail WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerInvoice FROM SIMSData.dbo.AuditDealerInvoice WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerMain FROM SIMSData.dbo.AuditDealerMain WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerPhone FROM SIMSData.dbo.AuditDealerPhone WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerSchedule FROM SIMSData.dbo.AuditDealerSchedule WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerSpecialCode FROM SIMSData.dbo.AuditDealerSpecialCode WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerWarning FROM SIMSData.dbo.AuditDealerWarning WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditDealerZone FROM SIMSData.dbo.AuditDealerZone WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditEmail FROM SIMSData.dbo.AuditEmail WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditEmergencyModeTimeZip FROM SIMSData.dbo.AuditEmergencyModeTimeZip WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditEmergencyModeType FROM SIMSData.dbo.AuditEmergencyModeType WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditErrorMessage FROM SIMSData.dbo.AuditErrorMessage WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditEventDisposition FROM SIMSData.dbo.AuditEventDisposition WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditEventType FROM SIMSData.dbo.AuditEventType WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditFaxModem FROM SIMSData.dbo.AuditFaxModem WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditGlobalOptions FROM SIMSData.dbo.AuditGlobalOptions WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditGlobalPhoneNumber FROM SIMSData.dbo.AuditGlobalPhoneNumber WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditGlobalSchedule FROM SIMSData.dbo.AuditGlobalSchedule WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditHelpMessage FROM SIMSData.dbo.AuditHelpMessage WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditOperationalModes FROM SIMSData.dbo.AuditOperationalModes WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditOperator FROM SIMSData.dbo.AuditOperator WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditOperatorGroup FROM SIMSData.dbo.AuditOperatorGroup WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditOutOfService FROM SIMSData.dbo.AuditOutOfService WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditOutOfServiceEventType FROM SIMSData.dbo.AuditOutOfServiceEventType WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditOutOfServiceZone FROM SIMSData.dbo.AuditOutOfServiceZone WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditPager FROM SIMSData.dbo.AuditPager WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditPendingService FROM SIMSData.dbo.AuditPendingService WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditPhoneNumberNotepad FROM SIMSData.dbo.AuditPhoneNumberNotepad WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditPremiseAccessLevel FROM SIMSData.dbo.AuditPremiseAccessLevel WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
IF OBJECT_ID('SIMSData.dbo.AuditDelayFIFO', 'U') IS NOT NULL
BEGIN
SELECT * INTO SIMSBAK.dbo.AuditDelayFIFO FROM SIMSData.dbo.AuditDelayFIFO WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
END
SELECT * INTO SIMSBAK.dbo.AuditReceiver FROM SIMSData.dbo.AuditReceiver WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditRRLLTranslation FROM SIMSData.dbo.AuditRRLLTranslation WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditScheduleTemplate FROM SIMSData.dbo.AuditScheduleTemplate WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditServiceDisposition FROM SIMSData.dbo.AuditServiceDisposition WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditSpecialCode FROM SIMSData.dbo.AuditSpecialCode WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditSystemReminder FROM SIMSData.dbo.AuditSystemReminder WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditWarningMessage FROM SIMSData.dbo.AuditWarningMessage WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.AuditZoneTemplate FROM SIMSData.dbo.AuditZoneTemplate WHERE ChangeDate > DATEADD(DAY, -1 , SYSUTCDateTime())
--History tables
SELECT * INTO SIMSBAK.dbo.EventSummary FROM SIMSData.dbo.EventSummary WHERE DateReceived > DATEADD(DAY, -7, SYSUTCDateTime())
SELECT * INTO SIMSBAK.dbo.EventDetail FROM SIMSData.dbo.EventDetail WHERE DateCompleted > DATEADD(DAY, -7, SYSUTCDateTime())
--*********************
--*********VIEWS*******
--*********************
DECLARE @vwCursor CURSOR
DECLARE @code varchar(MAX)
SET @vwCursor = CURSOR FOR (SELECT CONVERT(VARCHAR(MAX), OBJECT_DEFINITION(sys.views.object_id)) FROM sys.views )
OPEN @vwCursor
FETCH NEXT FROM @vwCursor
INTO @code;
WHILE @@FETCH_STATUS = 0
BEGIN
USE SIMSBAK
EXECUTE (@code)
USE SIMSData
FETCH NEXT FROM @vwCursor
INTO @code;
END
CLOSE @vwCursor;
DEALLOCATE @vwCursor;
--*********************
--**Stored Procedures**
--*********************
DECLARE @spCursor CURSOR
DECLARE @name sysname
SET @spCursor = CURSOR FOR SELECT name FROM sys.procedures WHERE is_ms_shipped = 0
OPEN @spCursor
FETCH NEXT FROM @spCursor
INTO @name;
WHILE @@FETCH_STATUS = 0
BEGIN
USE SIMSData
SELECT @code = CAST(definition AS VARCHAR(MAX)) FROM sys.sql_modules WHERE object_id = OBJECT_ID(@name)
USE SIMSBAK
EXECUTE (@code)
USE SIMSData
FETCH NEXT FROM @spCursor
INTO @name;
END
CLOSE @spCursor;
DEALLOCATE @spCursor;
--*********************
--******Functions******
--*********************
DECLARE @fnCursor CURSOR
DECLARE @name2 sysname
SET @fnCursor = CURSOR FOR
SELECT name
FROM sys.sql_modules m
INNER JOIN sys.objects o ON m.object_id = o.object_id
WHERE type_desc like '%function%'
OPEN @fnCursor
FETCH NEXT FROM @fnCursor
INTO @name2;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @code = CAST(definition AS VARCHAR(MAX)) FROM sys.sql_modules WHERE object_id = OBJECT_ID(@name2)
EXECUTE (@code)
FETCH NEXT FROM @fnCursor
INTO @name2;
END
CLOSE @fnCursor;
DEALLOCATE @fnCursor;
SET NOCOUNT ON;
CREATE TABLE #Constraints ([Name] varchar(50), [Table] varchar(50) )
--*********************
--****PRIMARY KEYS****
--*********************
BEGIN TRANSACTION
DECLARE @tableName NVARCHAR(100);
USE SIMSBAK
SELECT TABLE_NAME
INTO #tempTable
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
DECLARE CUR_TABLE CURSOR FOR
SELECT TABLE_NAME
FROM #tempTable
OPEN CUR_TABLE
FETCH NEXT FROM CUR_TABLE
INTO @tableName
USE SIMSData
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @PKSchema nvarchar(255), @PKName nvarchar(255)
SELECT TOP 1 @PKSchema = CONSTRAINT_SCHEMA, @PKName = CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = @tableName AND CONSTRAINT_TYPE = 'PRIMARY KEY'
--create primary key
IF NOT @PKSchema IS NULL AND NOT @PKName IS NULL
BEGIN
DECLARE @PKColumns nvarchar(MAX)
SET @PKColumns = ''
SELECT @PKColumns = @PKColumns + '[' + COLUMN_NAME + '],'
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = @tableName and TABLE_SCHEMA = 'dbo' AND CONSTRAINT_SCHEMA = @PKSchema AND CONSTRAINT_NAME = @PKName
ORDER BY ORDINAL_POSITION
IF (LEN(@PKColumns) > 1)
BEGIN
SET @PKColumns = LEFT(@PKColumns, LEN(@PKColumns) - 1)
EXEC('ALTER TABLE [SIMSBAK].[dbo].[' + @tableName + '] ADD CONSTRAINT [PK_' + @tableName + '] PRIMARY KEY CLUSTERED (' + @PKColumns + ')');
INSERT INTO #Constraints Values (@PKName, @tableName)
END
END
--create other indexes
DECLARE @IndexId int, @IndexName nvarchar(255), @IsUnique bit, @IsUniqueConstraint bit, @FilterDefinition nvarchar(max)
DECLARE indexcursor CURSOR FOR
SELECT index_id, name, is_unique, is_unique_constraint, filter_definition FROM sys.indexes WHERE type = 2 and object_id = object_id('[dbo].[' + @tableName + ']')
OPEN indexcursor;
FETCH NEXT FROM indexcursor INTO @IndexId, @IndexName, @IsUnique, @IsUniqueConstraint, @FilterDefinition;
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @Unique nvarchar(255)
SET @Unique = CASE WHEN @IsUnique = 1 THEN ' UNIQUE ' ELSE '' END
DECLARE @KeyColumns nvarchar(max), @IncludedColumns nvarchar(max)
SET @KeyColumns = ''
SET @IncludedColumns = ''
SELECT @KeyColumns = @KeyColumns + '[' + c.name + '] ' + CASE WHEN is_descending_key = 1 THEN 'DESC' ELSE 'ASC' END + ',' from sys.index_columns ic
INNER JOIN sys.columns c ON c.object_id = ic.object_id and c.column_id = ic.column_id
WHERE index_id = @IndexId and ic.object_id = object_id('[dbo].[' + @tableName + ']') and key_ordinal > 0
ORDER BY index_column_id
SELECT @IncludedColumns = @IncludedColumns + '[' + c.name + '],' from sys.index_columns ic
INNER JOIN sys.columns c ON c.object_id = ic.object_id and c.column_id = ic.column_id
WHERE index_id = @IndexId and ic.object_id = object_id('[dbo].[' + @tableName+ ']') and key_ordinal = 0
ORDER BY index_column_id
IF LEN(@KeyColumns) > 0
SET @KeyColumns = LEFT(@KeyColumns, LEN(@KeyColumns) - 1)
IF LEN(@IncludedColumns) > 0
BEGIN
SET @IncludedColumns = ' INCLUDE (' + LEFT(@IncludedColumns, LEN(@IncludedColumns) - 1) + ')'
END
IF @FilterDefinition IS NULL
SET @FilterDefinition = ''
ELSE
SET @FilterDefinition = 'WHERE ' + @FilterDefinition + ' '
IF ((Select Count(Name) FROM #Constraints WHERE [Name] = @IndexName AND [Table] = @tableName) = 0)
BEGIN
IF @IsUniqueConstraint = 0
EXEC('CREATE ' + @Unique + ' NONCLUSTERED INDEX [' + @IndexName + '] ON [SIMSBAK].[dbo].[' + @tableName + '] (' + @KeyColumns + ')' + @IncludedColumns + @FilterDefinition)
ELSE
BEGIN
SET @IndexName = @IndexName
EXEC('ALTER TABLE [SIMSBAK].[dbo].[' + @tableName + '] ADD CONSTRAINT [' + @IndexName + '] UNIQUE NONCLUSTERED (' + @KeyColumns + ')');
END
INSERT INTO #Constraints Values (@IndexName, @tableName)
END
FETCH NEXT FROM indexcursor INTO @IndexId, @IndexName, @IsUnique, @IsUniqueConstraint, @FilterDefinition;
END;
CLOSE indexcursor;
DEALLOCATE indexcursor;
--create constraints
DECLARE @ConstraintName nvarchar(max), @CheckClause nvarchar(max)
DECLARE constraintcursor CURSOR FOR
SELECT c.CONSTRAINT_NAME, CHECK_CLAUSE from INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE t
INNER JOIN INFORMATION_SCHEMA.CHECK_CONSTRAINTS c ON c.CONSTRAINT_SCHEMA = TABLE_SCHEMA AND c.CONSTRAINT_NAME = t.CONSTRAINT_NAME
WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = @tableName
OPEN constraintcursor;
FETCH NEXT FROM constraintcursor INTO @ConstraintName, @CheckClause;
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC('ALTER TABLE [SIMSBAK].[dbo].[' + @tableName + '] WITH CHECK ADD CONSTRAINT [' + @ConstraintName + '] CHECK ' + @CheckClause)
EXEC('ALTER TABLE [SIMSBAK].[dbo].[' + @tableName + '] CHECK CONSTRAINT [' + @ConstraintName + ']')
FETCH NEXT FROM constraintcursor INTO @ConstraintName, @CheckClause;
END;
CLOSE constraintcursor;
DEALLOCATE constraintcursor;
FETCH NEXT FROM CUR_TABLE
INTO @tableName;
END
CLOSE CUR_TABLE
DEALLOCATE CUR_TABLE
DROP TABLE #tempTable
DROP TABLE #Constraints
COMMIT TRANSACTION