{"id":234,"date":"2024-11-04T14:56:04","date_gmt":"2024-11-04T12:56:04","guid":{"rendered":"http:\/\/130.61.57.200\/?p=234"},"modified":"2025-01-07T10:53:40","modified_gmt":"2025-01-07T08:53:40","slug":"create-filegroups-based-on-time-period","status":"publish","type":"post","link":"http:\/\/130.61.57.200\/index.php\/2024\/11\/04\/create-filegroups-based-on-time-period\/","title":{"rendered":"Create Filegroups based on time period"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">declare<br>@databaseName varchar(100) =&#8217;mydb&#8217;,<br>@datapath varchar(2000) = &#8216;C:\\Program Files\\Microsoft SQL Server\\MSSQL15.MSSQLSERVER\\MSSQL\\DATA\\&#8217;,<br>@period varchar (50) = &#8216;QUARTER&#8217;, &#8212; DAY, WEEK, MONTH, QUARTER, YEAR<br>@firstFilegroupDate date =&#8217;2024-01-01&#8242;,<br>@lastFilegroupDate date =&#8217;2027-02-01&#8242;,<br>@tempDate date,<br>@yearpart varchar (4),<br>@quarterpart varchar (1),<br>@monthpart varchar (3),<br>@daypart varchar(2),<br>@filegroupNameInit varchar(50)=&#8217;PART&#8217;,<br>@filegroupName varchar(100),<br>@fileName varchar(100),<br>@sql nvarchar(3000)=&#8221;,<br>@debug bit =0,<br>@execution bit=0,<br>@fgNo int=0,<br>@i int=0;<br>BEGIN<br>IF @period not in (&#8216;DAY&#8217;, &#8216;WEEK&#8217;, &#8216;MONTH&#8217;, &#8216;QUARTER&#8217;, &#8216;YEAR&#8217;)<br>BEGIN<br>print &#8216;Invalid Period&#8217;<br>END<br>else<br>BEGIN<br>set @sql=N&#8217;select @fgNo= DATEDIFF(&#8216;+@period+&#8217;,&#8221;&#8217;+cast(@firstFilegroupDate as varchar)+&#8221;&#8217;,&#8221;&#8217;+cast( @lastFilegroupDate as varchar)+&#8221;&#8217;) ;&#8217;;<br>&#8211;print @sql;<br>exec sp_executesql @sql, N&#8217;@fgNo int OUT&#8217;,@fgNo out;<br>print @fgNo<br>while @i&lt;@fgNo<br>BEGIN<br>&#8211;print @i ;<br>SELECT @tempdate = case<br>when @period=&#8217;QUARTER&#8217; then dateadd (qq,@i,@firstFilegroupDate)<br>when @period=&#8217;DAY&#8217; then dateadd (dd,@i,@firstFilegroupDate)<br>when @period=&#8217;WEEK&#8217; then dateadd (ww,@i,@firstFilegroupDate)<br>when @period=&#8217;MONTH&#8217; then dateadd (mm,@i,@firstFilegroupDate)<br>when @period=&#8217;YEAR&#8217; then dateadd (yy,@i,@firstFilegroupDate)<br>end ;<br>&#8211;print @tempdate;<br>select @filegroupName=@filegroupNameInit+<br>case<br>when @period =&#8217;QUARTER&#8217; then cast (DATEPART(YEAR, @tempdate) as varchar) + &#8216;Q&#8217;+cast (DATEPART(QUARTER, @tempdate) as varchar)<br>when @period =&#8217;DAY&#8217; then cast (DATEPART(YEAR, @tempdate) as varchar) + right(&#8216;0&#8217;+cast (DATEPART(MONTH, @tempdate) as varchar),2) +right(&#8216;0&#8217;+cast (DATEPART(DAY, @tempdate) as varchar),2)<br>when @period=&#8217;WEEK&#8217; then cast (DATEPART(YEAR, @tempdate) as varchar) +&#8217;W&#8217;+right(&#8216;0&#8217;+cast (DATEPART(iso_week, @tempdate) as varchar),2)<br>when @period=&#8217;MONTH&#8217; then cast (DATEPART(YEAR, @tempdate) as varchar) +&#8217;M&#8217;+right(&#8216;0&#8217;+cast (DATEPART(MONTH, @tempdate) as varchar),2)<br>when @period=&#8217;YEAR&#8217; then cast (DATEPART(YEAR, @tempdate) as varchar)<br>end;<br>set @sql = &#8216;alter database &#8216;+@databaseName+&#8217; add filegroup &#8216;+@filegroupName;<br>print @sql;<br>set @sql = &#8216;alter database &#8216;+@databaseName+&#8217; add file (NAME=N&#8221;&#8217;+@filegroupName+&#8221;&#8217;,filename=&#8221;&#8217;+@datapath+@databaseName+&#8217;_&#8217;+@filegroupName+&#8217;.ndf&#8221;&#8217; + &#8216; , size=128MB, maxsize=unlimited,filegrowth=512MB) to filegroup &#8216;+@filegroupName;<br>print @sql;<br>set @i+=1;<br>END;<br>END;<br>END;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>declare@databaseName varchar(100) =&#8217;mydb&#8217;,@datapath varchar(2000) = &#8216;C:\\Program Files\\Microsoft SQL Server\\MSSQL15.MSSQLSERVER\\MSSQL\\DATA\\&#8217;,@period varchar (50) = &#8216;QUARTER&#8217;, &#8212; DAY, WEEK, MONTH, QUARTER, YEAR@firstFilegroupDate date =&#8217;2024-01-01&#8242;,@lastFilegroupDate date =&#8217;2027-02-01&#8242;,@tempDate date,@yearpart varchar (4),@quarterpart varchar (1),@monthpart varchar (3),@daypart varchar(2),@filegroupNameInit varchar(50)=&#8217;PART&#8217;,@filegroupName varchar(100),@fileName varchar(100),@sql nvarchar(3000)=&#8221;,@debug bit =0,@execution bit=0,@fgNo int=0,@i int=0;BEGINIF @period not in (&#8216;DAY&#8217;, &#8216;WEEK&#8217;, &#8216;MONTH&#8217;, &#8216;QUARTER&#8217;, &#8216;YEAR&#8217;)BEGINprint &#8216;Invalid Period&#8217;ENDelseBEGINset @sql=N&#8217;select @fgNo= DATEDIFF(&#8216;+@period+&#8217;,&#8221;&#8217;+cast(@firstFilegroupDate as varchar)+&#8221;&#8217;,&#8221;&#8217;+cast( [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":104,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[50],"class_list":["post-234","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mssql","tag-partitions"],"blocksy_meta":[],"_links":{"self":[{"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/posts\/234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/comments?post=234"}],"version-history":[{"count":3,"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/posts\/234\/revisions"}],"predecessor-version":[{"id":238,"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/posts\/234\/revisions\/238"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/media\/104"}],"wp:attachment":[{"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/media?parent=234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/categories?post=234"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/130.61.57.200\/index.php\/wp-json\/wp\/v2\/tags?post=234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}