Find required (non nullable) columns in Azure SQL Database

The query below lists all non-nullable columns in a database.


select schema_name(tab.schema_id) as schema_name, as table_name,
    col.column_id, as column_name, as data_type,
from sys.tables as tab
    inner join sys.columns as col
        on tab.object_id = col.object_id
    left join sys.types as t
    on col.user_type_id = t.user_type_id
where col.is_nullable = 0
order by schema_name,


  • schema_name - name of the schema
  • table_name - name of the table
  • column_id - column position in a table
  • column_name - name of the column
  • data_type - column data type
  • max_length - data type max length
  • precision - data type precision


  • One row: represents one table column
  • Scope of rows: all non-nullable columns in all tables in a database
  • Ordered by: schema, table name, column id

Sample results

Non-nullable columns in the AdventureWorksLT database.

Comments are only visible when the visitor has consented to statistics cookies. To see and add comments please accept statistics cookies.
There are no comments. Click here to write the first comment.