GraphQL

Instant GraphQL APIs on SQL Server

Connect Hasura to a new or existing database & get an instant GraphQL API—no need to build, operate & scale a GraphQL server

Start with Docker Image

Getting Started

Once you have Hasura running
  • TickConnect your new or existing SQL Server database

  • TickCreate new tables or track existing tables to expose them in the GraphQL schema
  • TickTry out the GraphQL API
Get started

Build a unified GraphQL API easily with Hasura

Hasura can run locally or in the cloud, and is loved by developers and architects because it connects to your SQL Server database and other new or existing databases and gets up and running in no time, instantly giving you a production-grade GraphQL API, thereby saving teams months of effort.
Powerful Querying

Powerful Querying

Track (expose) tables and views, and set up relationships between them

Run powerful queries with support for nested filtering, sorting and SQL Server types like GIS.
Powerful Querying
GraphQL Powered REST APIs

GraphQL Powered REST APIs

Create idiomatic REST endpoints from parametrized GraphQL queries

Great for clients that prefer REST API endpoints or to leverage existing REST tooling
GraphQL Powered REST APIs
Granular Authorization

Granular model-level authorization for rows and columns

Create granular model-level RLS style authorization rules to secure the GraphQL API for internal or external consumers.
Granular model-level authorization for rows and columns
Blazing Fast Performance

Blazing Fast Performance

Hasura compiles the GraphQL query to a single SQL query, including a predicate push-down of authorization rules, preventing typical N+1 problems while fetching data.

Hasura also uses JSON aggregations to avoid fetching a cartesian product from the database and avoids unnecessary Ser/De overhead.
Blazing Fast Performance
Data Federation

Data federation

Data Federation enables a unified data layer for all your data and a federated way to execute requests on it and with the Hasura Remote Joins feature, just point your data sources to Hasura and a unified GraphQL API is created automatically. Along with that, you can create relationships across these various data models (with different underlying sources) using declarative configuration and get "joined" data to your clients instantly.
Data federation
GraphQL Subscriptions

Instant GraphQL subscriptions for realtime APIs

Instant and scalable GraphQL subscriptions to securely subscribe to changing data

Subscriptions respect the same authorization policies as queries
Instant GraphQL subscriptions for realtime APIs
EXPLAIN GraphQL Queries

EXPLAIN GraphQL Queries

Debug and analyze performance of GraphQL queries easily by viewing the generated SQL plan
EXPLAIN GraphQL Queries
Allow-lists

Allow Lists

Use allow-lists to restrict queries allowed in production
Allow Lists

Operate and Scale your GraphQL API in Production

Hasura takes care of all your API infrastructure needs by giving you hosted highly-available API-as-a-service managed entirely by Hasura; auto-scaling where any number of API requests or traffic volume is supported; includes caching, monitoring, and rate-limiting; while also being enterprise-ready with VPC peering and IP allow-listing that’s SOC2 & HIPAA compliant.
GraphQL Caching

GraphQL Caching

Hasura provides support for caching query responses, in order to improve performance for queries that are executed frequently.

Cached responses are stored for a period of time in an LRU (least-recently-used) cache, and removed from the cache based on usage.
Scaling & High Availability

Scaling & High Availability

Hasura lets you scale your applications automatically without having to think about the number of instances, cores, memory, thresholds, etc. You can keep increasing your number of concurrent users and the number of API calls and Hasura will figure out the optimizations auto-magically.

The GraphQL API served by Hasura should be continuously operational and any single point of failure should be eliminated for reliable application infrastructure. Fundamentally there are two aspects to the GraphQL API being consumed; availability of SQL Server database and availability of Hasura.
GraphQL Security

GraphQL API Security

API Limits
Limiting the depth of API requests can help prevent API performance issues caused by malicious or poorly implemented queries. Hasura makes this a click-and-set configuration.

Hasura also lets you rate-limit requests which is a great way to balance spiking user load while also being a vital and effective piece in the mitigation strategy against DDoS attacks or when a single API consumer is flooding your service with unoptimized requests. Rate limiting can also be applied conditionally to matching IPs or request parameters.

Disable GraphQL Introspection
The graphql-engine by default enables GraphQL Schema Introspection which gives full information about the schema and may not be desired in production. To avoid this, you can disable GraphQL introspection on a per-role basis.
Observability

Observability

Never stay in the dark with Hasura’s real-time monitoring and observability features. Hasura’s GraphQL engine plug-in Honeycomb or Datadog to get all your insights directly in your dashboard, with very little setup.

Use Cases

Using Hasura with SQL Server just makes a lot of sense. Check out our marqee features
Build applications rapidly with new or existing SQL Server databases

Build applications rapidly with new or existing SQL Server databases

Cut short 50-80% of required API development work with Hasura

Extend the GraphQL API and add custom business logic in any language or framework by adding your own resolvers as REST or GraphQL APIs
Replace direct database access with flexible JSON APIs over HTTP

Replace direct database access with flexible JSON APIs over HTTP

Modern workloads in the cloud or end-user web/mobile apps need a flexible and secure API over HTTP to access data

Use Hasura to to get a data API instantly, instead of having to build and maintain an API server

Resources

videoThumb

Hasura with SQL Server 101

You can now use Hasura with your existing SQL Server databases to power new applications, modernize existing applications or expose a data API for your organization.