From 7c9bbcdf85b6b71302ba5ca06a91f59e09bf7929 Mon Sep 17 00:00:00 2001 From: Microshaoft Date: Wed, 20 Nov 2019 12:25:49 +0800 Subject: [PATCH] zsp_MonthlyRollForwardPartitionsOnce --- .gitattributes | 2 +- .vs/slnx.sqlite | Bin 90112 -> 90112 bytes DataBase.All.Objects.sql | 119 +++++++++++++----- MonthlyPartitionsTest.Database.sql | Bin 17752 -> 23298 bytes UPF_Test_Monthly.PartitionFunction.sql | Bin 1780 -> 2454 bytes UPS_Test_Monthly.PartitionScheme.sql | Bin 1734 -> 2360 bytes ...clusivePartitionNo.UserDefinedFunction.sql | Bin 4106 -> 4108 bytes ...MonthlyPartitionNo.UserDefinedFunction.sql | Bin 3296 -> 3298 bytes dbo.Test_Monthly.Table.sql | Bin 1974 -> 1980 bytes ...blesPartitionsInfo.UserDefinedFunction.sql | Bin 14152 -> 14154 bytes ...titionsStorageInfo.UserDefinedFunction.sql | Bin 9306 -> 9308 bytes dbo.zsp_CreateSampleTable.StoredProcedure.sql | Bin 4746 -> 6460 bytes ...erateSampleMonthlyData.StoredProcedure.sql | Bin 2160 -> 2162 bytes ...lForwardPartitionsOnce.StoredProcedure.sql | Bin 7748 -> 7660 bytes ...ardsPartitionsOnDemand.StoredProcedure.sql | Bin 3378 -> 3266 bytes ...ataPartitionsInfoQuery.StoredProcedure.sql | Bin 3216 -> 3226 bytes ...lesPartitionsInfoQuery.StoredProcedure.sql | Bin 862 -> 864 bytes ...ablesPartitionsStorage.StoredProcedure.sql | Bin 902 -> 904 bytes 18 files changed, 89 insertions(+), 32 deletions(-) rename dbo.zsp_MonthlyTruncateMergeNextUsedSplitPartitionsOnce.StoredProcedure.sql => dbo.zsp_MonthlyRollForwardPartitionsOnce.StoredProcedure.sql (93%) rename dbo.zsp_OnDemandMonthlyTruncateMergeNextUsedSplitPartitions.StoredProcedure.sql => dbo.zsp_MonthlyRollForwardsPartitionsOnDemand.StoredProcedure.sql (79%) diff --git a/.gitattributes b/.gitattributes index 0688def..b791000 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ *.sql linguist-language=TSQL *.sql diff merge text -*.strings diff=utf16 +# *.strings diff=utf16 # *.sql text working-tree-encoding=UTF-16 eol=CRLF \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index 90aaba6f102b3b42d4c3775ece5a45ec76eb221a..9b004017bb5675b026985a1edcb3c3a2d5e53974 100644 GIT binary patch delta 1167 zcmaKr%WoS+9LIOOJDb=$vm3>2XlWtXN>NH$2Pkexf+4Qmgv75j2@i=pYKWmB?yj@D z@jH%}N`(u-df*fdd6pwLK!y3lUu4#sy|bDM&!H+K=WpzuEac zzWb|h;`%0T>_a!--5)_WFP~iRMb+l7z23H?-WKv6nWZ+_B1`lR=_gm|)6_%HX&-62 z7FB;&KT~sRkMfgpQF&4E(mUHv)7LiTZZ<~GAXlUcqp^^3`qbBF+kXjHWWj=XY~OlJ zf*)VH&(nHq+mR~6T5R+nGfMAVij`Uf2Mca_{$(RjwsLa`L$^<5OA|&mJ8YPRv^fu2 zyh~=Mt*u4qkJph7AI2Zy8-rUO*oym54oKoqE87_A-F(7;p+tatLl>@qo$%u&7QhWB z#&*L-BA_zIvGQ8ij4bpaw+zWz2Wh>P{pQ>J+8IF*e4r*Da7BvHnG8L}j#{5jjThMW z+KvfY<7v}guon#7O6k$e>9jr%pT;_PM(l#YJbaN1a^uz2LSz|=sSr2je(vhFA(`^u zHDVT^)Nv2@d>M_HvH;^_g8^nfmpSjD9|#@FZHZo`4SIkc)?{r+`&fH}j;S}ucch`d zO~#blq`lcazM%k`?#IVRxUvEvs07Ucc<_kRG#)@dpL delta 902 zcmYL{Sx8h-7=Z7YyXee4=U&T-Oj}F~O`S4QnK8p@-0v)I6iMUkjXLd+wJE=qXNph$pzM_A z<#t&hYa36lw4h&~Tj-oa5YmitY<<4_hua#HxM^@{#jwXIz-pq%kpGVDeEj8%!cDDH zr5{>B??5<@%an0?3BJd*{J$xUr>=s@mPT%PXgeU$G~LUy@Wob&ynyZ1`81%Pb06_Q zv)#ycg+4P(+4qV*T1XE)U0We*H!3Xa?tHmR;u;Vw?nrLKwD{{c=Pu2099Ia6V<(s# zwQLI7Z*Z6%u3}T%h&wk1ZEUV>48e0p9c$Q-b!kH|?rddst8~tapu|~Ny2G_&Bb^4V z0YJ_s1I;+_-f#6w9CUXbty!NhPO1iSo7*O@2xO5gkbR^^?NBB4k$Qo2DQ|HGFDWV9 zh>^UKtLVvXFSrEz#VQ!hrkg-jWIi`&HTcD@dQ#kK{? zT`gj8Ki`93*|wMZTW}?i2k>BfwYP|GKqvZ6j!i@-$G!ew-;{SMXpBsbjk>6gO#$DS zF+Mr&ZV!$IC*a;dzc^gWhY-AQ)SwVFyDex4B)3TjudO)a~0#)WQb^$Xat@l z%u=jP%n%M7r!6Q7k7vwcq(`JqzsBuSc!yAjnAEMXd3Kbl%*^)E`}cOX3VE(1J5Ufh yle^It2q$;J?RYyHhF8hMR8>>zxG-cEsH7CT_$4R+>6BUWw}=@%_utp8^y(i#ga>c{ diff --git a/DataBase.All.Objects.sql b/DataBase.All.Objects.sql index 0e420dc..ce6aaf8 100644 --- a/DataBase.All.Objects.sql +++ b/DataBase.All.Objects.sql @@ -1,6 +1,6 @@ USE [master] GO -/****** Object: Database [MonthlyPartitionsTest] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: Database [MonthlyPartitionsTest] Script Date: 11/20/2019 11:22:58 AM ******/ CREATE DATABASE [MonthlyPartitionsTest] CONTAINMENT = NONE ON PRIMARY @@ -54,7 +54,31 @@ CREATE DATABASE [MonthlyPartitionsTest] FILEGROUP [FG_Test_Monthly_Y02M11] ( NAME = N'FG_Test_Monthly_Y02M11_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y02M11_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ), FILEGROUP [FG_Test_Monthly_Y02M12] -( NAME = N'FG_Test_Monthly_Y02M12_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y02M12_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) +( NAME = N'FG_Test_Monthly_Y02M12_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y02M12_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ), + FILEGROUP [FG_Test_Monthly_Y03M01] +( NAME = N'FG_Test_Monthly_Y03M01_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M01_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M02] +( NAME = N'FG_Test_Monthly_Y03M02_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M02_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M03] +( NAME = N'FG_Test_Monthly_Y03M03_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M03_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M04] +( NAME = N'FG_Test_Monthly_Y03M04_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M04_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M05] +( NAME = N'FG_Test_Monthly_Y03M05_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M05_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M06] +( NAME = N'FG_Test_Monthly_Y03M06_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M06_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M07] +( NAME = N'FG_Test_Monthly_Y03M07_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M07_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M08] +( NAME = N'FG_Test_Monthly_Y03M08_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M08_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M09] +( NAME = N'FG_Test_Monthly_Y03M09_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M09_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M10] +( NAME = N'FG_Test_Monthly_Y03M10_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M10_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M11] +( NAME = N'FG_Test_Monthly_Y03M11_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M11_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), + FILEGROUP [FG_Test_Monthly_Y03M12] +( NAME = N'FG_Test_Monthly_Y03M12_File_01', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\FG_Test_Monthly_Y03M12_File_01.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'MonthlyPartitionsTest_log', FILENAME = N'D:\MSSQL\Data\MonthlyPartitionsTest\MonthlyPartitionsTest_log.ldf' , SIZE = 40960KB , MAXSIZE = 2048GB , FILEGROWTH = 8192KB ) GO @@ -129,13 +153,13 @@ ALTER DATABASE [MonthlyPartitionsTest] SET QUERY_STORE = OFF GO USE [MonthlyPartitionsTest] GO -/****** Object: PartitionFunction [UPF_Test_Monthly] Script Date: 11/19/2019 8:40:30 PM ******/ -CREATE PARTITION FUNCTION [UPF_Test_Monthly](date) AS RANGE RIGHT FOR VALUES (N'2048-11-01T00:00:00.000', N'2048-12-01T00:00:00.000', N'2049-01-01T00:00:00.000', N'2049-02-01T00:00:00.000', N'2049-03-01T00:00:00.000', N'2049-04-01T00:00:00.000', N'2049-05-01T00:00:00.000', N'2049-06-01T00:00:00.000', N'2049-07-01T00:00:00.000', N'2049-08-01T00:00:00.000', N'2049-09-01T00:00:00.000', N'2049-10-01T00:00:00.000', N'2049-11-01T00:00:00.000', N'2049-12-01T00:00:00.000', N'2050-01-01T00:00:00.000', N'2050-02-01T00:00:00.000', N'2050-03-01T00:00:00.000', N'2050-04-01T00:00:00.000', N'2050-05-01T00:00:00.000', N'2050-06-01T00:00:00.000', N'2050-07-01T00:00:00.000', N'2050-08-01T00:00:00.000', N'2050-09-01T00:00:00.000', N'2050-10-01T00:00:00.000') +/****** Object: PartitionFunction [UPF_Test_Monthly] Script Date: 11/20/2019 11:22:58 AM ******/ +CREATE PARTITION FUNCTION [UPF_Test_Monthly](date) AS RANGE RIGHT FOR VALUES (N'2025-09-01T00:00:00.000', N'2025-10-01T00:00:00.000', N'2025-11-01T00:00:00.000', N'2025-12-01T00:00:00.000', N'2026-01-01T00:00:00.000', N'2026-02-01T00:00:00.000', N'2026-03-01T00:00:00.000', N'2026-04-01T00:00:00.000', N'2026-05-01T00:00:00.000', N'2026-06-01T00:00:00.000', N'2026-07-01T00:00:00.000', N'2026-08-01T00:00:00.000', N'2026-09-01T00:00:00.000', N'2026-10-01T00:00:00.000', N'2026-11-01T00:00:00.000', N'2026-12-01T00:00:00.000', N'2027-01-01T00:00:00.000', N'2027-02-01T00:00:00.000', N'2027-03-01T00:00:00.000', N'2027-04-01T00:00:00.000', N'2027-05-01T00:00:00.000', N'2027-06-01T00:00:00.000', N'2027-07-01T00:00:00.000', N'2027-08-01T00:00:00.000', N'2027-09-01T00:00:00.000', N'2027-10-01T00:00:00.000', N'2027-11-01T00:00:00.000', N'2027-12-01T00:00:00.000', N'2028-01-01T00:00:00.000', N'2028-02-01T00:00:00.000', N'2028-03-01T00:00:00.000', N'2028-04-01T00:00:00.000', N'2028-05-01T00:00:00.000', N'2028-06-01T00:00:00.000', N'2028-07-01T00:00:00.000', N'2028-08-01T00:00:00.000') GO -/****** Object: PartitionScheme [UPS_Test_Monthly] Script Date: 11/19/2019 8:40:30 PM ******/ -CREATE PARTITION SCHEME [UPS_Test_Monthly] AS PARTITION [UPF_Test_Monthly] TO ([FG_Test_Monthly_Y00M00], [FG_Test_Monthly_Y02M11], [FG_Test_Monthly_Y02M12], [FG_Test_Monthly_Y01M01], [FG_Test_Monthly_Y01M02], [FG_Test_Monthly_Y01M03], [FG_Test_Monthly_Y01M04], [FG_Test_Monthly_Y01M05], [FG_Test_Monthly_Y01M06], [FG_Test_Monthly_Y01M07], [FG_Test_Monthly_Y01M08], [FG_Test_Monthly_Y01M09], [FG_Test_Monthly_Y01M10], [FG_Test_Monthly_Y01M11], [FG_Test_Monthly_Y01M12], [FG_Test_Monthly_Y02M01], [FG_Test_Monthly_Y02M02], [FG_Test_Monthly_Y02M03], [FG_Test_Monthly_Y02M04], [FG_Test_Monthly_Y02M05], [FG_Test_Monthly_Y02M06], [FG_Test_Monthly_Y02M07], [FG_Test_Monthly_Y02M08], [FG_Test_Monthly_Y02M09], [FG_Test_Monthly_Y02M10]) +/****** Object: PartitionScheme [UPS_Test_Monthly] Script Date: 11/20/2019 11:22:58 AM ******/ +CREATE PARTITION SCHEME [UPS_Test_Monthly] AS PARTITION [UPF_Test_Monthly] TO ([FG_Test_Monthly_Y00M00], [FG_Test_Monthly_Y01M09], [FG_Test_Monthly_Y01M10], [FG_Test_Monthly_Y01M11], [FG_Test_Monthly_Y01M12], [FG_Test_Monthly_Y02M01], [FG_Test_Monthly_Y02M02], [FG_Test_Monthly_Y02M03], [FG_Test_Monthly_Y02M04], [FG_Test_Monthly_Y02M05], [FG_Test_Monthly_Y02M06], [FG_Test_Monthly_Y02M07], [FG_Test_Monthly_Y02M08], [FG_Test_Monthly_Y02M09], [FG_Test_Monthly_Y02M10], [FG_Test_Monthly_Y02M11], [FG_Test_Monthly_Y02M12], [FG_Test_Monthly_Y03M01], [FG_Test_Monthly_Y03M02], [FG_Test_Monthly_Y03M03], [FG_Test_Monthly_Y03M04], [FG_Test_Monthly_Y03M05], [FG_Test_Monthly_Y03M06], [FG_Test_Monthly_Y03M07], [FG_Test_Monthly_Y03M08], [FG_Test_Monthly_Y03M09], [FG_Test_Monthly_Y03M10], [FG_Test_Monthly_Y03M11], [FG_Test_Monthly_Y03M12], [FG_Test_Monthly_Y01M01], [FG_Test_Monthly_Y01M02], [FG_Test_Monthly_Y01M03], [FG_Test_Monthly_Y01M04], [FG_Test_Monthly_Y01M05], [FG_Test_Monthly_Y01M06], [FG_Test_Monthly_Y01M07], [FG_Test_Monthly_Y01M08]) GO -/****** Object: UserDefinedFunction [dbo].[SVF_GetMonthlyExclusivePartitionNo] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: UserDefinedFunction [dbo].[SVF_GetMonthlyExclusivePartitionNo] Script Date: 11/20/2019 11:22:58 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -258,7 +282,7 @@ BEGIN return @ END GO -/****** Object: UserDefinedFunction [dbo].[SVF_GetMonthlyPartitionNo] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: UserDefinedFunction [dbo].[SVF_GetMonthlyPartitionNo] Script Date: 11/20/2019 11:22:58 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -357,7 +381,7 @@ BEGIN END GO -/****** Object: UserDefinedFunction [dbo].[iTVF_TablesPartitionsInfo] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: UserDefinedFunction [dbo].[iTVF_TablesPartitionsInfo] Script Date: 11/20/2019 11:22:58 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -693,7 +717,7 @@ where ) ) GO -/****** Object: UserDefinedFunction [dbo].[iTVF_TablesPartitionsStorageInfo] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: UserDefinedFunction [dbo].[iTVF_TablesPartitionsStorageInfo] Script Date: 11/20/2019 11:22:58 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -889,7 +913,7 @@ from ) GO -/****** Object: Table [dbo].[Test_Monthly] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: Table [dbo].[Test_Monthly] Script Date: 11/20/2019 11:22:58 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -898,19 +922,19 @@ CREATE TABLE [dbo].[Test_Monthly]( [DataDate] [date] NULL ) ON [UPS_Test_Monthly]([DataDate]) GO -/****** Object: Index [c_a_Dd] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: Index [c_a_Dd] Script Date: 11/20/2019 11:22:58 AM ******/ CREATE CLUSTERED INDEX [c_a_Dd] ON [dbo].[Test_Monthly] ( [DataDate] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [UPS_Test_Monthly]([DataDate]) GO -/****** Object: Index [nc_a_Dd] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: Index [nc_a_Dd] Script Date: 11/20/2019 11:22:58 AM ******/ CREATE NONCLUSTERED INDEX [nc_a_Dd] ON [dbo].[Test_Monthly] ( [DataDate] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [UPS_Test_Monthly]([DataDate]) GO -/****** Object: StoredProcedure [dbo].[zsp_CreateSampleTable] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: StoredProcedure [dbo].[zsp_CreateSampleTable] Script Date: 11/20/2019 11:22:59 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -918,10 +942,20 @@ GO CREATE proc [dbo].[zsp_CreateSampleTable] as begin +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Test_Monthly]') AND type in (N'U')) +BEGIN + drop Table Test_Monthly +end + +IF EXISTS (SELECT * FROM sys.partition_schemes WHERE name = N'UPS_Test_Monthly') +begin + drop PARTITION SCHEME UPS_Test_Monthly +end -drop Table Test_Monthly -drop PARTITION SCHEME UPS_Test_Monthly -drop PARTITION FUNCTION [UPF_Test_Monthly] +IF EXISTS (SELECT * FROM sys.partition_functions WHERE name = N'UPF_Test_Monthly') +begin + drop PARTITION FUNCTION [UPF_Test_Monthly] +end CREATE PARTITION FUNCTION [UPF_Test_Monthly] (date) AS RANGE right FOR VALUES --[x,y) @@ -950,6 +984,18 @@ AS RANGE right FOR VALUES --[x,y) , '2020-10-01' , '2020-11-01' , '2020-12-01' + , '2021-01-01' + , '2021-02-01' + , '2021-03-01' + , '2021-04-01' + , '2021-05-01' + , '2021-06-01' + , '2021-07-01' + , '2021-08-01' + , '2021-09-01' + , '2021-10-01' + , '2021-11-01' + , '2021-12-01' ); @@ -982,6 +1028,18 @@ TO ,[FG_Test_Monthly_Y02M10] ,[FG_Test_Monthly_Y02M11] ,[FG_Test_Monthly_Y02M12] + ,[FG_Test_Monthly_Y03M01] + ,[FG_Test_Monthly_Y03M02] + ,[FG_Test_Monthly_Y03M03] + ,[FG_Test_Monthly_Y03M04] + ,[FG_Test_Monthly_Y03M05] + ,[FG_Test_Monthly_Y03M06] + ,[FG_Test_Monthly_Y03M07] + ,[FG_Test_Monthly_Y03M08] + ,[FG_Test_Monthly_Y03M09] + ,[FG_Test_Monthly_Y03M10] + ,[FG_Test_Monthly_Y03M11] + ,[FG_Test_Monthly_Y03M12] ) @@ -989,7 +1047,6 @@ TO create Table Test_Monthly ( DataDate date - ) on ups_test_monthly(datadate) @@ -1029,7 +1086,7 @@ ON end GO -/****** Object: StoredProcedure [dbo].[zsp_GenerateSampleMonthlyData] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: StoredProcedure [dbo].[zsp_GenerateSampleMonthlyData] Script Date: 11/20/2019 11:22:59 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -1112,12 +1169,12 @@ order by end GO -/****** Object: StoredProcedure [dbo].[zsp_MonthlyTruncateMergeNextUsedSplitPartitionsOnce] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: StoredProcedure [dbo].[zsp_MonthlyRollForwardPartitionsOnce] Script Date: 11/20/2019 11:22:59 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -CREATE proc [dbo].[zsp_MonthlyTruncateMergeNextUsedSplitPartitionsOnce] +CREATE proc [dbo].[zsp_MonthlyRollForwardPartitionsOnce] @TableName nvarchar(128) = N'Test_Monthly' , @WithTransaction bit = 0 as @@ -1130,7 +1187,7 @@ as --滚动1次分区之前 --exec [zsp_TablesPartitionsInfoQuery] --滚动1次分区 -exec [zsp_MonthlyTruncateMergeNextUsedSplitPartitionsOnce] +exec [zsp_MonthlyRollForwardPartitionsOnce] --滚动1次分区之后 --exec [zsp_TablesPartitionsInfoQuery] --查询Sample表分区中数据 @@ -1292,12 +1349,12 @@ end end GO -/****** Object: StoredProcedure [dbo].[zsp_OnDemandMonthlyTruncateMergeNextUsedSplitPartitions] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: StoredProcedure [dbo].[zsp_MonthlyRollForwardsPartitionsOnDemand] Script Date: 11/20/2019 11:22:59 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -CREATE proc [dbo].[zsp_OnDemandMonthlyTruncateMergeNextUsedSplitPartitions] +CREATE proc [dbo].[zsp_MonthlyRollForwardsPartitionsOnDemand] @TableName nvarchar(128) = N'Test_Monthly' , @Date date --= null , @RollForwardsLimit int = 1 @@ -1311,7 +1368,7 @@ as --滚动1次分区之前 --exec [zsp_TablesPartitionsInfoQuery] --滚动1次分区 -exec [zsp_OnDemandMonthlyTruncateMergeNextUsedSplitPartitions] 'Test_Monthly', '2024-07-01' +exec [zsp_MonthlyRollForwardsPartitionsOnDemand] 'Test_Monthly', '2024-07-01' --滚动1次分区之后 --exec [zsp_TablesPartitionsInfoQuery] --查询Sample表分区中数据 @@ -1340,7 +1397,7 @@ begin --select 1/0 if (@MonthlyExclusivePartitionNo < 0) begin - exec [zsp_MonthlyTruncateMergeNextUsedSplitPartitionsOnce] + exec [zsp_MonthlyRollForwardPartitionsOnce] @TableName --select 1/0 set @ += 1 @@ -1356,7 +1413,7 @@ begin end GO -/****** Object: StoredProcedure [dbo].[zsp_SampleMonthlyDataPartitionsInfoQuery] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: StoredProcedure [dbo].[zsp_SampleMonthlyDataPartitionsInfoQuery] Script Date: 11/20/2019 11:22:59 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -1364,7 +1421,7 @@ GO CREATE proc [dbo].[zsp_SampleMonthlyDataPartitionsInfoQuery] as begin - +/* SELECT $partition.UPF_Test_Monthly(a.DataDate) AS [Partition Number] , min(a.DataDate) AS [Min DataDate] @@ -1377,7 +1434,7 @@ GROUP BY $partition.UPF_Test_Monthly(a.DataDate) ORDER BY [Partition Number] - +*/ ;with TPartitions as ( @@ -1425,7 +1482,7 @@ ORDER BY end GO -/****** Object: StoredProcedure [dbo].[zsp_TablesPartitionsInfoQuery] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: StoredProcedure [dbo].[zsp_TablesPartitionsInfoQuery] Script Date: 11/20/2019 11:22:59 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -1448,7 +1505,7 @@ order by end GO -/****** Object: StoredProcedure [dbo].[zsp_TablesPartitionsStorage] Script Date: 11/19/2019 8:40:30 PM ******/ +/****** Object: StoredProcedure [dbo].[zsp_TablesPartitionsStorage] Script Date: 11/20/2019 11:22:59 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON diff --git a/MonthlyPartitionsTest.Database.sql b/MonthlyPartitionsTest.Database.sql index d79c4a7cd1458cb0f9567014f012cad93df798cc..ca1b6b2c24aeb47ca01f23be43b49551569eeac0 100644 GIT binary patch delta 561 zcmcc7#n`lsal!_9BL)KoeFhL|$Y9B!03?kVtbiCq0!22SjnDvgj-8coJj*~mkSE|^La zB$XyuRO<4;RGK2GG{vIwFE31`8InpfEGp0P!&I6hsWiu;a;_jur3I2o3oI&gg<&c! zkyKiut7HX*x#46*W>+XHn|VHz#m~}?9P&`nk1Vd>xG_YEClDJg^r5N`vcXg%;tH4s MkX3J%H?R~103@4r#{d8T delta 47 zcmZqL#(1NPal!^!Lk3F*eFh^20|pRFfx&{oioqDjvSKh{FxYrLT7UB;R|8Q13`+|X diff --git a/UPF_Test_Monthly.PartitionFunction.sql b/UPF_Test_Monthly.PartitionFunction.sql index 39a1fd08afe272d004a9918a18bfaa6529e8fb68..6b5f0b92acbe4e6590526bd03ed2d3178dac9a7b 100644 GIT binary patch literal 2454 zcmbW3OHTqp5QOV&;(wT%KvdZE2{)pECJF?^iy_2UBF3meJox9;>M1Z_jG-r!9hT|- zx_V~nuwS18^wB`T70&U3XH4;cCw!obYfSiW93P9k;R5%Zrx;=#YiOYpf6FK>jKI|! zJTmi^nKf1pf7EK?ofR!(992z!z`Q0#KPsbN9SvhGtJfzvA^A!^;Fz6Gsb^XlM;SRP zvpGXGuI7y995u#mrOVo3q3aU!ZBIw&@igk}!Oo=1w;tb5w%->|4WiDgPXg`-Fa=Dw^pAp_Z#ii=)B=)(R$mte6_n`gFPiOUe7jcl-=V2n} z_owxl;!kmYe~R<_Wqy)ge~L@h^ZQeJet(Md`%|3U=JB;S&3?}BPbvBRX+L(PwDynDbDXtaejY_lWRQw6sP%ruDJ9?^$ox;2H*ey delta 295 zcmYk#D-yym6ougvim3pDX22qtwzL_zH7tegAYn4oZ6Hw$OTe*>8t~lHkfiD+UmkzA z_{=WvWd%Wj9ZGPu#sMvAUA1UXUcb-0QQGQZ@KfT26J{4fUYDPGvo)uTxnM>g!b2Ia%lI&BmSc`49e& BJA42D diff --git a/UPS_Test_Monthly.PartitionScheme.sql b/UPS_Test_Monthly.PartitionScheme.sql index be189b9857106211802f156427d74c0947838461..98a9f289761001a55e928f3c4592cc73ed2586d2 100644 GIT binary patch delta 201 zcmX@cyF+NgC3zzT0|tEt5NXI@$)ErvjTo$e7(@a^Hog~ToIH<-ZL%o}A5O3?%0>8M7NR_yP?uo?OVJ3uT)iu}wj2pvrt^m`ZabSqmh#B~+z7 mi!m$6OvB0fO!{CGfzATT8E-CNDq!T(WZ-4sVsK~h2h#v!8YcVz delta 85 zcmdlXbc}bxC0RoTO9p)gBL)Ko5KDoFkvv*_)(Z~vH&aFxnFk*L delta 42 ucmeBC=u+6g#VBjYV9B7*V8md+0AeXHSTI;I7z0^W3?>W)n>869^8o;t-3I;u diff --git a/dbo.SVF_GetMonthlyPartitionNo.UserDefinedFunction.sql b/dbo.SVF_GetMonthlyPartitionNo.UserDefinedFunction.sql index 3846acd0aa636a1c3dfb7286eda486442e48e617..f9eee441f8c5027f266e45606bd7950908d97586 100644 GIT binary patch delta 43 qcmaDL`ABlY4|yX70|tEt5NXI@$)ErvjTo$e7(@a^Hj6Tz<^}-QRR~=G delta 41 tcmaDP`9N~Q4_QM7O9p)gBL)Ko5KDoFkvv*EY5hE8vx3~2s{7) diff --git a/dbo.Test_Monthly.Table.sql b/dbo.Test_Monthly.Table.sql index f2c1e8674b9fa09aed4dc0bcc14d532bf33f04d0..12ec39189b219eefb516f9843ed30f37cccf5f26 100644 GIT binary patch delta 122 zcmdnSzlVRqA$cPP0|tEt5NXI@$)ErvjTo$e7(@a^Hs0UPNJ!1Z`_h}wF?BEzqpput Gg9!jIQWb#! delta 124 zcmdnPzm0#wAz4EPO9p)gBL)Ko5KDoFkvv*_;5QTeiaiRN>5H>m5W%Vm;jq!7dQX_ diff --git a/dbo.iTVF_TablesPartitionsInfo.UserDefinedFunction.sql b/dbo.iTVF_TablesPartitionsInfo.UserDefinedFunction.sql index 94c53dd89073768b113cc7bec6a37cb624ae2b91..76165d03c8a7b73de741bbb8bf1ff2c238b99096 100644 GIT binary patch delta 43 qcmX?+cPekf4|yX70|tEt5NXI@$)ErvjTo$e7(@a^Hj6SEn*jjnst9TT delta 41 tcmX?=cOq}X4_QM7O9p)gBL)Ko5KDoFkvv*EY4_b1_0b72uT0{ diff --git a/dbo.iTVF_TablesPartitionsStorageInfo.UserDefinedFunction.sql b/dbo.iTVF_TablesPartitionsStorageInfo.UserDefinedFunction.sql index b776689f2ffcef2a19a36c3d70cc8f95bd873917..607a0b359550d5048c7dd6e90428c7234f5945b8 100644 GIT binary patch delta 44 qcmccRamQl=8>74tg8_p+1Bf(auw+mGl126ftgC&DLgAs!P1Bj)-V8LL;U<_ngF_ar6*vWGs{u9T-GEdU;yM7Ez5AOk)Xin85~P3!~^_#~@*S z$t97(EV(A4AFb$i=O%e$yTQx)5EA!+NOK4gmb5T#r{CZ;s~m5!Jx#0XFalW>K>&V^ zildW5`c&i-&ziG4$J$vH%Zk4*w~8sOQA0{$g;SGUat4c3v`l zV38Cng-o+$K`kO9pQ!K*{HxS?Y*MoPGb#Ry^iOgN)gGU6GoIh&ZhOXc^<}d;&!bnI z=!Kds4!xz`C~R@=`dil@=s{-Bl)X__GlHg#D!#*daikYBo5_3Y&AI;R&1a8|7DJTe zhc!oBm@(Qwe#~_E>}uhNE7K;k^TE`)%)dsl;GbUDEmN2cSRE=`A%t_yau IlYvV86+vH;wg3PC delta 91 zcmdmE)TKJ%g{&ciC4)YL5rY8(h^4?_!C=K;3}jg`m@pVjW@r4!&C9^Wkit;Jkk3#s rdB3psFkvv*EY29s4gky{2i5=p diff --git a/dbo.zsp_MonthlyTruncateMergeNextUsedSplitPartitionsOnce.StoredProcedure.sql b/dbo.zsp_MonthlyRollForwardPartitionsOnce.StoredProcedure.sql similarity index 93% rename from dbo.zsp_MonthlyTruncateMergeNextUsedSplitPartitionsOnce.StoredProcedure.sql rename to dbo.zsp_MonthlyRollForwardPartitionsOnce.StoredProcedure.sql index ad43977253b68f281ebc8c95148039c2410aca8c..1917ef89a4df0269c5cd590f6ed5fb7f5dbc22a9 100644 GIT binary patch delta 139 zcmX?N^Tv9@D$yW@e1;q#bOX{w4CM@oKr&_WMh@YLA57$p7z`Nn89<~VgC&CkkThbj f0%8ye6q)SEco3ffJexz9l$h|T;M;tPrAiV2296=| delta 217 zcmaE3eZ*$MD&r7_B8F0iJceY3M1~TER0dxlE@DUrl72v30Tc^mCJxvM5e`peAd`V9B7*V8md+0AeXHSTI;I7z0^W3?>W)lT{fHl4-d7W+^5mCUP`y J4rG}v2>>guEQLsSLS5(L9Ef z$&8HJ@4EhWp(vZQDK>kxk+lmoIrnuJO&qrREAuJL?A1L!IvQ)NS82VFyt^)GK4S`F_Z%N$w1i>pekP= zE@DUrl72v30Tc^mCk){w!HL7%~h!GHn8Qed!PuwpO< nvaA?P7z`%sGj67d&6{Ycc3= J4rH}w2LLZl31t8P delta 56 zcmbOwIYDv*AET@xgC&DLgAs!P1Bj)-V8LL;U<_ngF_Fkvv*EY9f31OUTK2ZsOv diff --git a/dbo.zsp_TablesPartitionsStorage.StoredProcedure.sql b/dbo.zsp_TablesPartitionsStorage.StoredProcedure.sql index ccb3c6e1a57b26ef9df36f87d73ee58271b15f51..5d39632b9f58cc7cd7d7ae7e07d5811d1998dfb5 100644 GIT binary patch delta 43 pcmZo;?_i(sMc#e+!GAIB^BL*uV29ZFK&4P@jOaQX12Oa