Skip to main content

SQL Server

Description

The SQL Server connector connects to a Microsoft SQL Server instance via JDBC and discovers server-level logins, role memberships, and database-level principals. It identifies privileged logins such as members of sysadmin and other fixed server roles.

System Type Classification

FieldValue
System TypeInfrastructure
Default Scan Priority500

Version Support

OrbisID EditionSupported
CommunityNo
ProYes
EnterpriseYes

SQL Server scanning requires a Pro or Enterprise licence.

Supported Protocols

ProtocolPortNotes
JDBC (TDS)1433 TCPStandard SQL Server port; configurable per instance

What OrbisID Discovers

DataSource
Server loginssys.server_principals
Server role membershipssys.server_role_members
Fixed server rolessysadmin, securityadmin, serveradmin, setupadmin, processadmin, diskadmin, dbcreator, bulkadmin
Login status (enabled/disabled)is_disabled column
Login type (SQL login vs Windows login)type_desc column

Connection Requirements

Credential Requirements

The credential must be a SQL Server login or a Windows account with at least the following server-level permissions:

PermissionPurpose
VIEW SERVER STATERead sys.server_principals and role memberships
VIEW ANY DATABASE(Optional) Extend discovery to database-level principals

Recommended: Create a dedicated SQL login for OrbisID with minimal permissions:

-- Create a dedicated login
CREATE LOGIN orbisid_scanner WITH PASSWORD = '<strong-password>';

-- Grant minimum required permissions
GRANT VIEW SERVER STATE TO orbisid_scanner;
GRANT VIEW ANY DATABASE TO orbisid_scanner;

Network Requirements

RequirementDetail
SQL Server Browser serviceRequired if using named instances
TCP/IP protocol enabledMust be enabled in SQL Server Configuration Manager
Port 1433 accessibleOr the custom port for the instance
SQL Server AuthenticationMust be enabled if using SQL logins (mixed mode authentication)

Configuration Steps

  1. Navigate to Systems in the sidebar
  2. Click Add System
  3. Fill in the fields:
FieldValue
NameDescriptive name (e.g., sql-prod-01)
Hostname / IPSQL Server hostname or IP
Port1433 (or custom port)
OS TypeSQL Server
System TypeInfrastructure (auto-selected)
Database NameName of the database to connect to (e.g., master)
CredentialSQL login or Windows account with required permissions
  1. Click Test Connection to verify connectivity and authentication
  2. Click Save
Database Name

The Database Name field specifies the initial connection database. The scanner reads server-level data from system views (sys.*), so master is typically appropriate.

Troubleshooting

SymptomLikely CauseResolution
Connection test fails with Login failedInvalid credentials or SQL auth disabledVerify login exists and SQL Server is in mixed auth mode
Connection test fails with Connection refusedPort blocked or TCP/IP disabledCheck SQL Server Configuration Manager — enable TCP/IP and verify port 1433
Named instance not foundSQL Server Browser not runningStart the SQL Server Browser service or specify the port explicitly
Scan succeeds but no roles foundInsufficient permissionsGrant VIEW SERVER STATE to the scanning login
Windows logins not discoveredWindows auth not configuredWindows logins are discovered; ensure WINDOWS_LOGIN accounts appear in sys.server_principals