sp_ivindexhasnullcols (Transact-SQL)

APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Validates that the clustered index of the indexed view is unique, and does not contain any column that can be null when the indexed view is going to be used to create a transactional publication. This stored procedure is executed at the Publisher on the publication database.

Topic link icon Transact-SQL Syntax Conventions


sp_ivindexhasnullcols [ @viewname = ] 'view_name'  
        , [ @fhasnullcols= ] field_has_null_columns OUTPUT  


[ @viewname = ] 'view_name' Is the name of the view to verify. view_name is sysname, with no default.

[ @fhasnullcols = ] field_has_null_columns OUTPUT Is the flag indicating whether the view index has columns that allow NULL. view_name is sysname, with no default. Returns a value of 1 if the view index has columns that allow NULL. Returns a value of 0 if the view does not contain columns that allow NULLS.


If the stored procedure itself returns a return code of 1, meaning the stored procedure execution had a failure, this value is 0 and should be ignored.

Return Code Values

0 (success) or 1 (failure)


sp_ivindexhasnullcols is used by transactional replication.

By default, indexed view articles in a publication are created as tables at the Subscribers. However, when the indexed column allows NULL values, the indexed view is created as an indexed view at the Subscriber instead of a table. By executing this stored procedure, it can alert the user to whether or not this problem exists with the current indexed view.


Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_ivindexhasnullcols.

See Also

System Stored Procedures (Transact-SQL)