Welcome to documentation for Luna by ArkSigma!¶
Luna is the static data manager built for SQL Server. It can be configured with your current SQL Server installation and provides a simple interface to allow your users to manage both versioned and unversioned data tables.
Contents:
Getting Started¶
Installation¶
After download, run the MSI installer. You may need Administrative permissions to do so.

By default, Luna installs in your ‘Program Files’ directory, usually on your ‘C’ drive, although this may be different depending on your setup. From here on, we’ll assume your installation directory is ‘C:\Program Files\ArkSigma\’

Once the installation is complete, the installer will install and start the service and make it accessible at the following address in your browser:
Luna will also be accessible if you replace the ‘localhost’ with the machine name. E.g. http://<MACHINE_NAME>:50001
Logging in for the first time¶

When you first launch Luna, you will be presented with a login screen, requesting you use your Windows credentials.
Luna will automatically authenticate with your Domain Controller and fallback to your machine if you are not a member of a domain.
This first login is crucial to Luna as this user will be setup as the first Luna administrator.
Once login is successful, you will be taken to the main Luna page.
Changing the HTTP port¶
Securing your Luna instance with SSL¶
Types of tables supported by Luna¶
Luna supports multiple types of table-versioning schema out of the box.Luna
Dated Tables¶
These are tables that are versioned through the use of a pair of DATE or DATETIME fields indicating the validity of a record. In this example, these columns are called ‘ValidFrom’ and ‘ValidTo’, but these are configurable within Luna.
FirstName | LastName | SalesRank | ValidFrom | ValidTo |
---|---|---|---|---|
Kerry | Scott | 1 | 1 Jan 2016 | 31 Dec 9999 |
John | Smith | 2 | 1 Jan 2016 | 31 Dec 9999 |
Mark | Cavendish | 2 | 1 Jan 2016 | 1 Jul 2016 |
Mark | Cavendish | 3 | 1 Jul 2016 | 31 Dec 9999 |
Christine | Gumble | 4 | 11 Jul 2016 | 31 Dec 9999 |
Inserting a record into a Dated table will result in the ‘ValidFrom/To’ columns being set with the current date/time and the MAX date/time: ‘31 Dec 9999 23:59:59’.
Deleting a record will set the ‘ValidTo’ field to the current date.
Amending a record will expire the current record and insert a new one with the updated values and new ‘ValidFrom/To’ values.
BitFlagged Tables¶
These are tales that are versioned through the use of a BIT field. Old/invalid records are set to disabled instead of being deleted. In this example, the BIT column is called IsActive, and again, this is configurable in Luna.
FirstName | LastName | SalesRank | IsActive |
---|---|---|---|
Kerry | Scott | 1 | True |
John | Smith | 2 | True |
Mark | Cavendish | 2 | False |
Mark | Cavendish | 3 | True |
Christine | Gumble | 4 | True |
Inserting a record into a BitFlagged table will result in the ‘IsActive’ flag being set to TRUE (1).
Deleting a record while set the flag to FALSE (0), while amending a record will set the flag on the current record to FALSE and create a copy with the new values and the flag set to TRUE.
Unflagged Tables¶
These are unversioned tables. I.e. there is no special mechanism for maintaining validity of the data. Operations on these tables update and delete in place, so no history is preserved.
FirstName | LastName | SalesRank |
---|---|---|
Kerry | Scott | 1 |
John | Smith | 2 |
Mark | Cavendish | 3 |
Christine | Gumble | 4 |
Operations on an Unflagged table will directly manipulate the data in the table. Amends will change the row in place, while deletions will remove the record from the table.
For this reason, it is advised to carefully consider your usage of Unflagged tables.
Configuring Luna for initial use¶
After you login for the first time, you will be presented with the main Luna interface. There’s not alot to see here, so click on the gears in the top-right corner, and hit ‘Configure’ to be taken to the configuration screen.

Creating your first Environment¶
The first thing to do is to create an Environment. Click on the ‘+’ symbol on environment pane to open the new environment dialog.The

Enter a name for the environment and select a colour. This will define how the environment is displayed on the main Luna screen.Enter
Hit ‘Save’ when you’re happy with your environment.
Configuring a Server¶
Once you have an environment, you can configure a Server by clicking the ‘+’ symbol on the Server pane.
Luna supports two types of authentication on the server, outlined below. Once you have entered the details, you can click ‘Test Connection’ to verify the details and initiate a connection to the database. Once this is successful, hit ‘Save’ to save your settings and close the dialog.
Integrated Authentication¶
When configured in this mode, Luna will authenticate against the server using the integrated user, i.e. the account the Luna service is running as in Windows. This is also known as ‘Windows Authentication’ in SQL Server.
Server Authentication¶
When using server authentication, Luna allows you to enter a Username/Password combo to authenticate with. This is also known as ‘SQL Server Authentication’.
Adding a Table¶
Now we can configure our first table in Luna. Hit the ‘+’ symbol on the Tables pane to bring up the new table dialog. The ‘Database’ dropdown should automatically populate based on the server, so proceed to fill out the details requested.Now
The form will ask for the Primary Key field on the table to support key-based operations on the table.

Once you have filled out the table information, proceed to select the type of table. Valid options are Dated, BitFlagged or Unflagged. These are explained in the section Types of tables supported by Luna.
Selection of the table type will enable selection of additional fields relevant to your selection.
The final part of configuring a table is the option to add it to a Luna Group. This will enable quick visibility in Luna as a table will not be visible to anyone without being a member of a Group. Select an existing Group from the list or choos <Add to new Group> to create a new one.The
Hit ‘Save’ to save your changes and close the dialog.
Adding Linked Tables¶
After you have configured multiple tables, you can proceed to defining relationships between them. In SQL Server, this is also known as ‘Foreign Key Relationships’. With the table highlighted in the tables pane, hit the ‘+’ symbol on the Linked Tables pane to bring up the dialog. The form requires you to define which table to link the currently selected one to, and which fields to use as joining keys.
Once you have defined your linked tables, you can add some ‘Linked Table Columns’. This defines which columns are visible from the linked table when viewing the primary table in Luna. You can create Linked Tables in either direction to support your needs.