SqlDBM connects to data governance catalogs so that the governance fields on your model and the metadata in your catalog stay in step. Push writes the values of your Model Governance fields onto the matching assets in the catalog. Pull reads the values your governance team maintains in the catalog and proposes them for your model, with a review step before anything changes.
This article covers everything that works the same way for every provider: connections, mappings, Push, Pull, Status and the run report. What differs by provider — credentials, vocabulary, limits and error messages — is in the provider's own article:
Also note:
- Every integration requires Model Governance to be enabled for your account.
- Creating mappings, editing mappings, pushing and pulling require a Governance role.
- Connections are account-wide. One person connects; everyone with the Governance role in the account can map, push and pull.
- In projects with concurrent working enabled, Push runs on the main branch and Pull runs on a secondary branch. In projects without concurrent working, both are available directly in the project.
Before you begin
| Requirement | Where to set it |
|---|---|
| Model Governance is enabled for your account | Contact your account manager |
| The add-on for your provider is enabled for your account | Contact your account manager |
| A Governance role in SqlDBM | See the article on Roles |
| Credentials for your catalog | See the provider article for what to prepare |
| A target container in the catalog | Your catalog; the provider article names it |
| The attributes you want to populate already exist in the catalog | Your catalog |
Important: SqlDBM maps to attributes that already exist in your catalog — it does not create attributes, attribute sets, or containers. If an attribute you want to sync does not exist yet, create it in the catalog first.
Connecting a provider
Connections are configured once per account from the Dashboard.
- From the SqlDBM Dashboard, open the Integrations menu and select Data Governance.
- The page lists every provider as a card. On the card for your provider, select Connect.
- Fill in the connection form. The fields depend on the provider — see the provider article.
- Select Save.
The page also carries a Learn more about data governance integrations link that points back to this article.
Editing or removing a connection
A connected card has a Manage menu with two options:
- Edit connection — change the address or rotate a secret without deleting the connection and its mappings. On edit, the secret field reads Leave empty to keep the stored password (or client secret). Changing the address or the login requires entering the secret again.
- Remove connection — deletes the connection and all of the account's mappings for that provider. You will be asked to confirm.
Opening settings and mappings
There are two ways to reach the configuration inside a project:
From Settings and conventions — open Settings and conventions and select the provider's settings entry (for example Collibra settings). There is one entry per connected provider.
From the project toolbar — in Database Documentation, open the provider's integration menu in the top toolbar (for example Collibra integration). The menu has four items:
- Push to [provider]
- Pull from [provider]
- Settings and mappings
- Status
Until a mapping has been configured, Push, Pull and Status are disabled. Hover over a disabled item to see what is still missing. If the provider's add-on is not enabled for your account, the menu item itself is disabled and the tooltip will direct you to contact sales.
Mappings
A mapping is a saved configuration that defines where your metadata goes in the catalog, which fields are sent, and which objects they are sent for. You can create several mappings per project — for example, one per target container or environment. Push and Pull use the same mappings.
Settings tab
- Enter a Name for the mapping.
- Select the target container. The pickers use the provider's own vocabulary and the lists are retrieved from your catalog. The provider article explains what the container is and how much of your model one mapping covers.
Use the Refresh link to re-request containers and attributes from the catalog if something has changed there. Hover over Refresh to see when the lists were last retrieved.
Attribute mapping tab
This tab controls which SqlDBM fields populate which catalog attributes.
- SqlDBM — any available SqlDBM field, including Model Governance fields and content fields.
- [Provider] — the attributes available in your catalog.
To build the mapping:
- Select a SqlDBM field and its catalog counterpart on the same row. A new empty row appears automatically once both are selected.
- Start typing to find an attribute faster.
- Select + Add new to add a row manually.
- Use the trash icon to remove a row.
Values already used are excluded from the dropdowns on new rows, so each field can only be mapped once.
Field and attribute types must match. A pair with mismatched types is accepted in the mapping, but its values are skipped on push and the run report says so. The provider article lists which SqlDBM field types pair with which attribute types.
Objects tab
The Attribute mapping tab defined which fields are sent. The Objects tab defines which objects those fields are sent for.
Objects are matched automatically by name within their parent — schema by name, table by schema and name, column by table and name. Review the unmatched ones: a different casing, or a schema that exists on one side only, are the usual causes.
Managing mappings
Once you have more than one mapping, they appear in a list on the left of the settings modal.
- Select a mapping to view or change its settings.
- Select + at the top of the list to create a new one.
- Use the ⋮ menu on any mapping for Edit, Create a Copy, and Delete.
[Screenshot: mappings list with the ⋮ menu open]
Note: If you make changes and try to close the modal without saving, a Leave without saving? prompt appears. Select Leave to discard your changes or Cancel to go back.
Push
Select Push to [provider]. This saves your settings and starts the run in one action.
If you have pushed before, selecting Push from the toolbar shows a short confirmation first with the active mapping, the target container, and the number of objects in scope. Confirm to run with the saved settings, or select Edit to change them first.
A push writes each object's mapped values onto its catalog asset, merging with what is already there. Attributes you did not map are left alone.
Dropdown options
Pushing a dropdown or multi-select value that the catalog attribute does not offer yet adds the option to the attribute, where the provider allows SqlDBM to write the attribute's definition. SqlDBM never removes an option from a catalog attribute.
Large pushes
A push that holds more values than one request can carry is handed to a background job and carried out in batches. The Status popup shows it In progress, then the result. There is nothing to configure.
Where background pushes are not available for a provider, an oversized push is refused with This mapping holds more values than one push to the external system can carry, so nothing was sent. — push fewer objects or fields at a time. The provider article says which applies.
Pull
Pull brings governance metadata the other way: it reads attribute values from the catalog and proposes them for the Model Governance fields on your SqlDBM objects.
Pull does not overwrite your model silently. Every pull opens a comparison screen first, so you can see exactly what would change before anything is applied. A pull never deletes values held in SqlDBM on its own; anything that would be cleared is shown and counted before you apply.
Step 1: Select a mapping
From the project toolbar, open the provider's integration menu and select Pull from [provider]. Choose the mapping to pull with — it determines which container is read and which attributes map back to which SqlDBM fields.
If you maintain several mappings, make sure you pick the one pointing at the container your governance team actually maintains.
Step 2: Review the comparison screen
A comparison screen opens listing every object affected by the pull. Select an object, then open the Model governance section at the bottom of the screen to see exactly which values differ for that object.
This is a preview. Nothing has been written to your model yet, and you can close the screen without applying.
The screen may show one or more warnings:
| Warning | Meaning |
|---|---|
| This pull would clear N values — please review before applying. | The pull would blank values that SqlDBM holds and the catalog does not |
| Accepting adds N new options to their fields. | Incoming values need dropdown options the field does not have yet |
| Applying will remove N existing values from the M selected objects. | Summary of clears across the current selection |
| Cooldown warning | You are pulling within five minutes of a push to the same container. The catalog may not have indexed the push yet, so the comparison could propose undoing it |
| [Provider] is busy with another operation on this container. Please try again in a moment. | A push and a pull on the same container never overlap |
Step 3: Apply the changes
Select Apply. The incoming values populate the corresponding Model Governance fields in SqlDBM, the same as if they had been entered by hand.
Step 4: Save a new revision
Applying a pull does not save the project. The changes exist in your working session until you save a new revision. If you close the project without saving, the pulled values are lost and you will need to run the pull again.
Status
To check on runs, open the provider's integration menu in the toolbar and select Status.
While a run is in progress, the toolbar badge reads Pushing… or Pulling…, and the row in the popup reads Push to [provider] in progress / Pull from [provider] in progress.
Recent runs lists the last 10 runs, pushes and pulls together:
| Column | Contents |
|---|---|
| Mapping | The mapping used |
| Operation | Push or Pull |
| Date | When the run started |
| Started by | The user's display name; hover to see the email |
| Result | See below |
| Report | Opens the run report |
| Result | Meaning |
|---|---|
| Pushed 800 | Push completed. , 85 skipped is appended when values were skipped |
| Success | Pull completed |
| Error | The run did not complete — the details are shown underneath |
| In progress | Still running |
Run report
Every finished run has a Report, opened from the Status popup. It shows who ran it and when — Push to [provider] on 09/08/2026 3:09:14 PM by Edward (edward@example.com) — and then either Nothing was left behind. for a clean run, or one row per cause of skipped values with:
- how many values were skipped (N skipped, exact however many a run skipped),
- what happened,
- what to do about it,
- up to five example objects.
The causes and the fix the report suggests. Field is the SqlDBM field, Attribute the catalog attribute, and the provider name is filled in for your catalog:
| The report says | Meaning | Fix it suggests |
|---|---|---|
| Attribute can't be set on tables | The catalog does not allow this attribute on that kind of object | Remove the row from the attribute mapping, or point it at a kind of object that accepts it |
| Field and Attribute hold different kinds of value | Field type and attribute type do not match | Map the field to an attribute of a matching type: a dropdown to a dropdown, a checkbox to a boolean |
| The attribute Field is mapped to is no longer in [provider] | The attribute was deleted in the catalog after mapping | Re-map the field to an attribute that still exists, or delete the row |
| N objects are no longer in [provider] | Mapped assets were deleted or moved in the catalog. Examples show the SqlDBM object names | Re-run discovery on the Objects tab and re-map them |
| Field is no longer in this project | The SqlDBM field was deleted after mapping | Delete the row from the attribute mapping |
| Field holds an option that no longer exists | A dropdown option was deleted after values used it | Set the affected objects to a current option |
| "Value" in Field has no matching option in [provider] | The dropdown value has no option in the catalog attribute | Add the value to the attribute's option set in the catalog, or choose one it already offers |
| N objects were not returned by [provider] (pull) | Deleted or moved while the pull was reading; values left untouched | Pull again |
| [Provider] returned N objects we could not read (pull) | Malformed rows; values left untouched | Pull again; if it persists, the catalog export needs looking at |
| N objects are mapped to an id [provider] cannot accept (pull) | The mapping holds an id of the wrong shape | Re-run discovery and re-map |
Runs recorded before this release show their old flat list of skipped values, with a note that the list is a capped sample.
Notifications
Toast messages name the provider, for example: Pushing to [provider]…, Pushed 12 objects to [provider] (3 values skipped), No objects to push to [provider], Applied 3 values, 2 clears, 1 option added from [provider].
Troubleshooting
| You see | It means | What to do |
|---|---|---|
| The integration menu is missing or disabled | Model Governance or the provider's add-on is not enabled for the account, or you do not have a Governance role | Hover over the item for the reason; ask your account administrator |
| Push, Pull and Status are greyed out | No mapping is configured yet, or the connection's credentials are missing or invalid | Configure a mapping; re-enter credentials via Manage → Edit connection |
| A container or attribute is missing from a picker | The lists are stale, or the connection's credentials cannot see it | Select Refresh. If it is still missing, confirm it exists in the catalog and that the connection has access |
| An object is not matched on the Objects tab | The name differs between SqlDBM and the catalog within its parent | Check name, casing and parent on both sides |
| A run shows Error in Status | The run did not complete | Open the Report; the details are listed underneath |
| Values were skipped | See the run report cause | Follow the fix in the report row |
Provider-specific error messages are listed in the provider article.