Inside the Workspace screen

SQL Tran is designed as a full integrated development environment (IDE) for database translation. The core of SQL Tran’s functionality is the Workspace screen. This screen contains several areas that help you inspect, analyze, and work with your project.

"Workspace" screen

Header pane

At the top of the screen is a header pane that displays the project name. When a database object is selected, it additionally shows:

  • The object’s name

  • The object’s complexity level

  • The object’s lifecycle status through all five stages

Header pane displaying project and object details

Objects tree

On the left side of the screen is the Objects tab. It displays database objects organized into a tree structure, grouped by type:

  • Tables

  • Views

  • Procedures

  • Functions

Each group has an expandable arrow (e.g., > Tables) and shows how many objects have been processed successfully (e.g., > Procedures (8 of 9)).

Selecting an object in the tree displays its source and translated SQL code in the corresponding editors, allowing for immediate inspection and editing.

Below the header of the Objects pane is a toggle button that switches between Hide valid objects and Show all objects:

  • Hide valid objects filters the tree to show only objects with translation issues.

  • Show all objects restores the full list.

This makes it easy to focus on problematic objects for manual review and correction.

Database objects tree

Errors tree

Next to the Objects tab is the Errors tab, which is only visible if errors or limitations were detected during translation.

This pane also organizes issues into groups (e.g., XML METHODS, RECURSIVE QUERY). Each group has an expandable arrow (e.g., > XML METHODS) and shows a count of the errors it contains (e.g., > XML METHODS (8)).

You can expand and collapse groups individually or use the Expand all and Collapse all buttons.

Clicking an error navigates directly to the related database object, allowing inspection in the source and target panes.

Translation errors tree

Source and target panes

When an object is selected in the Objects tree, SQL Tran displays:

  • The original SQL code from the source system (e.g., Azure Synapse Analytics) in the source pane.

  • The translated SQL code for the target system (e.g., Fabric Warehouse) in the target pane.

You can inspect objects such as tables, views, procedures, and functions by selecting them in the Objects tree. There are also other ways to navigate to and inspect database objects and their code. These additional navigation methods are explored in other sections of this document.

Source and target SQL code

Side panel

On the right side of the screen is the side panel, which is initially collapsed to maximize workspace. It contains:

  • Analysis

  • Code

  • Tests

Clicking any section expands the side panel and opens the selected tab. The side panel can be collapsed again using its collapse button.

Collapsed side panel

Each section of the side panel is covered in more detail below.


Analysis tab

SQL Tran has a full static analysis engine that is extremely fast and capable of processing even the largest databases in a short time.

As SQL Tran processes the source database, it performs static analysis and dependency mapping, building a complete data model of the database objects and their relationships.

The Analysis tab displays this dependency information for the currently selected object, organized into several groups.

The Depends on group shows other database objects that the selected object depends on.

"Analysis" tab: "Depends on" group

The Referenced by group lists the objects that reference the selected object.

"Analysis" tab: "Referenced by" group

If there are unresolved references, they are displayed under the Broken references group.


Code tab

The Code tab provides a semantic model view of the selected object’s SQL code and offers two ways to explore the SQL code structure for the selected object.

In the Statements view, SQL Tran shows a hierarchical list of SQL statements from the source code. Selecting a statement highlights the corresponding code in the source editor. In the header, statistics display the number of statements and the total lines of code (LoC).

"Code" tab: "Statements" view

In the Nodes view, SQL Tran displays a detailed semantic model tree of SQL language elements used in the source code. Selecting a node highlights the corresponding code in the source editor. The statistics in the header now shows the number of nodes and the total lines of code (LoC).

"Code" tab: "Nodes" view

The header also includes expand and collapse buttons, represented by icons. These buttons allow you to expand or collapse the entire tree. You can also manually expand and collapse individual nodes by clicking them.


Tests tab

The Tests tab allows you to create and run tests on the selected object. In this demonstration, all test functionality is disabled because database connections have not yet been configured.

"Tests" tab: testing features unavailable

We’ll configure connections soon and explore the testing features in greater detail, as testing is an important capability of SQL Tran.


SQL validation

SQL Tran includes a powerful SQL code editor with integrated validation:

  • Syntax errors are underlined in red.

  • Unresolved references are underlined in orange.

As you type, errors are also reported next to the source pane’s title bar (e.g., Azure Synapse Analytics). This real-time validation is powered by SQL Tran’s static analysis engine and data lineage tracking.

SQL validation in source pane

Go to definition

SQL Tran, like many integrated development environments (IDEs), provides a "Go to definition" feature:

  • Place the cursor on an object name and press F12 to navigate to its definition.

  • Alternatively, hold CTRL and click an object name to navigate directly to its definition. When you hold CTRL and hover over an object name, it becomes underlined to indicate it can be clicked.

This allows quick navigation to the SQL definition of tables, views, procedures, or functions.

"Go to definition" using the mouse

Search objects

SQL Tran provides a powerful search function that makes it easy to find objects by name. This feature is especially useful in large projects with many objects, where finding the right one manually would be cumbersome. It works as follows:

  • Press CTRL + K to open the Find object by name dialog.

  • Search results update instantly as you type, supporting partial names and acronyms.

  • Clicking a search result navigates directly to that object’s code.

Example: typing the acronym hedh would find HumanResources.EmployeeDepartmentHistory and HumanResources.vEmployeeDepartmentHistory.

"Find object by name" dialog

Overriding SQL code

SQL Tran allows overriding both source and target SQL code by using the options in the Actions dropdown. The same options are also available from the context menu when right-clicking an object in the Objects tree:

  • Override source — Enables editing the source SQL.

  • Override target — Enables editing the translated SQL.

  • Revert to original — Restores the original SQL. This option is initially unavailable and becomes available once an override has been made.

"Actions" dropdown: override options

Overridden objects are visually distinguished in the following ways:

  • Source overridden or Target overridden labels appear next to the object's name in the header.

  • A pen icon appears next to the object’s name in the Objects tree.

Overridden object indicators

Ignoring objects

You can exclude objects from processing by using the Ignore this object option, available both in the Actions dropdown and in the context menu on the Objects tree.

"Ignore this object" option in the "Actions" dropdown

Ignored objects are shown with a strikethrough on their name. Instead of displaying translated SQL, SQL Tran shows a comment in the target pane indicating that the object has been manually ignored.

Ignored object: strikethrough and comment

Objects can be unignored by selecting Unignore this object from the same menus. This option is initially unavailable and becomes available once the object is marked as ignored.

Last updated