Partitioning in Microsoft SQL-server 2008

When partitioning tables in Microsoft SQL-server 2008 you could get this error when your trying to move to the next step after mapping your partitions.

The number of filegroups or range values is not valid. Enter an extra filegroup in addition to the number of boundary values.

Your partition mapping will probably look something like this.

The error occurs because you haven’t choosen a filegroup for the last empty partition (the one after 2011). Your partition mapping should look like this.

In SQL the partition function will look like this.

CREATE PARTITION FUNCTION [<pf_Year>](varchar(4))
FOR VALUES (N’2007′, N’2008′, N’2009′, N’2010′, N’2011′)


This SQL-sentence will first of all create a table (destinationtable) containing variable1, variable2 and variable3. Into the destinationtable it will make a tablesample from 10 percent of the observations in the soucetable.

SELECT [variable1]
into [databse].[schema].[destinationtable]
from [database].[schema].[sourcetable]
tablesample (10 percent)

You could eg. use tempdb (a temporary database in Microsoft SQL-server) to store the sample.

ILMerge and automated program transfer

Incorporating the DevExpress components in your executable can be done using ILMerge. In my case ILMerge is run through a .bat-file and works like this :

.\ILMerge\ILMerge.exe /targetplatform:v4 /target:winexe /out:.\OutputDir\mss.exe mss.exe .\DevExpress\DevExpress.BonusSkins.v11.1.dll .\DevExpress\DevExpress.Data.v11.1.dll
.\DevExpress\DevExpress.OfficeSkins.v11.1.dll .\DevExpress\DevExpress.Printing.v11.1.Core.dll
.\DevExpress\DevExpress.Utils.v11.1.dll .\DevExpress\DevExpress.XtraEditors.v11.1.dll

It takes mss.exe and the DevExpress DLL’s and merges them into one executable .\OutputDir\mss.exe

Right after that .\OutputDir\mss.exe is compressed using 7zip.

.\7zip\7z.exe a .\OutputDir\ .\OutputDir\mss.exe

And finally it is transferred to the website using WinSCP. I’m using Windows XP and as far as I know the build in ftp-client doesn’t support passiv FTP. I believe that ftp-clients in later versions of Windows does support passiv FTP. So if your using a later version than XP of Windows. You can do essentially the same thing with the build in ftp-client. But if your using XP and is connecting to a passiv FTP-server, you can use WinSCP.

.\FTP\winscp.exe /script=”.\FTP\script.txt”

Script.txt looks like this:

open <session in WinSCP>
option confirm off
put “.\OutputDir\MSS.ZIP” “/Programs/MSS.ZIP”

“Options confirm off” lets you overwrite a file without being prompted. You also need to create a session in WinSCP (GUI) or else you will get the following message:

Automatic actions are disabled when URL address is provided on command-line.