Skip to content

HAS_DB

Represents database ownership relationships in SQL Server environments.

Direction: (sqlServer)-[:HAS_DB]->(sqlDatabase)

Description: Indicates that a SQL Server contains or manages a specific SQL Database. This applies to both traditional SQL Servers and Azure Arc-enabled SQL Server instances.

Common Patterns:

  • SQL Servers contain multiple databases
  • Azure Arc SQL Servers contain Arc-enabled databases
  • Each database is managed by exactly one SQL Server
  • Server-level configurations and security apply to all contained databases

Properties: None

Usage

This relationship connects SQL Server instances to their databases:

  • SqlServerHAS_DBSqlDatabase - Traditional SQL Server databases
  • ArcSqlServerHAS_DBArcSqlDatabase - Azure Arc-enabled SQL Server databases

Query Examples

// Find all databases on a SQL Server
MATCH path = (server:SqlServer)-[:HAS_DB]->(db:SqlDatabase)
RETURN path

// Find all databases on Azure Arc SQL Servers
MATCH path = (server:ArcSqlServer)-[:HAS_DB]->(db:ArcSqlDB)
RETURN path

// Find SQL Servers with many databases
MATCH (server:SqlServer)-[:HAS_DB]->(db:SqlDatabase)
WITH server, COUNT(db) as dbCount
WHERE dbCount > 5
RETURN server, dbCount
ORDER BY dbCount DESC

// Find Arc SQL databases and their properties
MATCH (server:ArcSqlServer)-[:HAS_DB]->(db:ArcSqlDB)
RETURN server.instanceName, db.name, db.dataFileSizeMB, db.state

// Find databases and their server properties
MATCH (server:SqlServer)-[:HAS_DB]->(db:SqlDatabase)
RETURN server.name, server.location, db.name, db.collation

// Find orphaned databases (databases without servers)
MATCH (db)
WHERE (db:SqlDatabase OR db:ArcSqlDB) AND NOT (db)<-[:HAS_DB]-()
RETURN db