133 строки
4.9 KiB
Transact-SQL
133 строки
4.9 KiB
Transact-SQL
CREATE DATABASE [AsPartitionProcessing]
|
|
GO
|
|
USE [AsPartitionProcessing]
|
|
GO
|
|
|
|
CREATE TABLE [dbo].[ModelConfiguration](
|
|
[ModelConfigurationID] [int] NOT NULL,
|
|
[AnalysisServicesServer] [varchar](255) NOT NULL,
|
|
[AnalysisServicesDatabase] [varchar](255) NOT NULL,
|
|
[InitialSetUp] [bit] NOT NULL,
|
|
[IncrementalOnline] [bit] NOT NULL,
|
|
[IntegratedAuth] [bit] NOT NULL,
|
|
[MaxParallelism] [int] NOT NULL,
|
|
[CommitTimeout] [int] NOT NULL,
|
|
CONSTRAINT [PK_ModelConfiguration] PRIMARY KEY CLUSTERED
|
|
(
|
|
[ModelConfigurationID] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
|
|
CREATE TABLE [dbo].[PartitioningConfiguration](
|
|
[PartitioningConfigurationID] [int] NOT NULL,
|
|
[TableConfigurationID] [int] NOT NULL,
|
|
[Granularity] [tinyint] NOT NULL,
|
|
[NumberOfPartitionsFull] [int] NOT NULL,
|
|
[NumberOfPartitionsForIncrementalProcess] [int] NOT NULL,
|
|
[MaxDateIsNow] [bit] NOT NULL,
|
|
[MaxDate] [date] NULL,
|
|
[IntegerDateKey] [bit] NOT NULL,
|
|
[TemplateSourceQuery] [varchar](max) NOT NULL,
|
|
CONSTRAINT [PK_PartitioningConfiguration] PRIMARY KEY CLUSTERED
|
|
(
|
|
[PartitioningConfigurationID] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
|
|
CREATE TABLE [dbo].[ProcessingLog](
|
|
[PartitioningLogID] [int] IDENTITY(1,1) NOT NULL,
|
|
[ModelConfigurationID] [int] NOT NULL,
|
|
[ExecutionID] [char](36) NOT NULL,
|
|
[LogDateTime] [datetime] NOT NULL,
|
|
[Message] [varchar](8000) NOT NULL,
|
|
CONSTRAINT [PK_ProcessingLog] PRIMARY KEY CLUSTERED
|
|
(
|
|
[PartitioningLogID] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
|
|
CREATE TABLE [dbo].[TableConfiguration](
|
|
[TableConfigurationID] [int] NOT NULL,
|
|
[ModelConfigurationID] [int] NOT NULL,
|
|
[AnalysisServicesTable] [varchar](255) NOT NULL,
|
|
[DoNotProcess] [bit] NOT NULL,
|
|
CONSTRAINT [PK_TableConfiguration] PRIMARY KEY CLUSTERED
|
|
(
|
|
[TableConfigurationID] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[PartitioningConfiguration] WITH CHECK ADD CONSTRAINT [FK_PartitioningConfiguration_TableConfiguration] FOREIGN KEY([TableConfigurationID])
|
|
REFERENCES [dbo].[TableConfiguration] ([TableConfigurationID])
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[PartitioningConfiguration] CHECK CONSTRAINT [FK_PartitioningConfiguration_TableConfiguration]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[ProcessingLog] WITH CHECK ADD CONSTRAINT [FK_ProcessingLog_ModelConfiguration] FOREIGN KEY([ModelConfigurationID])
|
|
REFERENCES [dbo].[ModelConfiguration] ([ModelConfigurationID])
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[ProcessingLog] CHECK CONSTRAINT [FK_ProcessingLog_ModelConfiguration]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[TableConfiguration] ADD CONSTRAINT [DF_TableConfiguration_DoNotProcess] DEFAULT ((0)) FOR [DoNotProcess]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[TableConfiguration] WITH CHECK ADD CONSTRAINT [FK_TableConfiguration_ModelConfiguration] FOREIGN KEY([ModelConfigurationID])
|
|
REFERENCES [dbo].[ModelConfiguration] ([ModelConfigurationID])
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[TableConfiguration] CHECK CONSTRAINT [FK_TableConfiguration_ModelConfiguration]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[PartitioningConfiguration] WITH CHECK ADD CONSTRAINT [CK_PartitioningConfiguration_Granularity] CHECK (([Granularity]=(2) OR [Granularity]=(1) OR [Granularity]=(0)))
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[PartitioningConfiguration] CHECK CONSTRAINT [CK_PartitioningConfiguration_Granularity]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[PartitioningConfiguration] WITH CHECK ADD CONSTRAINT [CK_PartitioningConfiguration_NumberOfPartitionsForIncrementalProcess] CHECK (([NumberOfPartitionsForIncrementalProcess]<=[NumberOfPartitionsFull]))
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[PartitioningConfiguration] CHECK CONSTRAINT [CK_PartitioningConfiguration_NumberOfPartitionsForIncrementalProcess]
|
|
GO
|
|
|
|
|
|
|
|
CREATE VIEW [dbo].[vPartitioningConfiguration]
|
|
AS
|
|
SELECT m.[ModelConfigurationID]
|
|
,m.[AnalysisServicesServer]
|
|
,m.[AnalysisServicesDatabase]
|
|
,m.[InitialSetUp]
|
|
,m.[IncrementalOnline]
|
|
,m.[IntegratedAuth]
|
|
,m.[MaxParallelism]
|
|
,m.[CommitTimeout]
|
|
,t.[TableConfigurationID]
|
|
,t.[AnalysisServicesTable]
|
|
,t.[DoNotProcess]
|
|
,CASE
|
|
WHEN p.[TableConfigurationID] IS NULL THEN 0
|
|
ELSE 1
|
|
END [Partitioned]
|
|
,p.[PartitioningConfigurationID]
|
|
,p.[Granularity]
|
|
,p.[NumberOfPartitionsFull]
|
|
,p.[NumberOfPartitionsForIncrementalProcess]
|
|
,p.[MaxDateIsNow]
|
|
,p.[MaxDate]
|
|
,p.[IntegerDateKey]
|
|
,p.[TemplateSourceQuery]
|
|
FROM [dbo].[ModelConfiguration] m
|
|
INNER JOIN [dbo].[TableConfiguration] t ON m.[ModelConfigurationID] = t.[ModelConfigurationID]
|
|
LEFT JOIN [dbo].[PartitioningConfiguration] p ON t.[TableConfigurationID] = p.[TableConfigurationID]
|
|
GO
|
|
|
|
|