DECLARE DataClean CURSOR FOR SELECT a.name AS t_name , b.name AS c_name , c.DATA_TYPE FROM sys.tables a JOIN sys.columns b ON b.object_id = a.object_id JOIN INFORMATION_SCHEMA.COLUMNS c ON b.name = c.COLUMN_NAME AND a.name = c.TABLE_NAME OPEN DataClean DECLARE @t_name VARCHAR(100) , @c_name VARCHAR(100) , @DATA_TYPE VARCHAR(100) FETCH NEXT FROM DataClean INTO @t_name, @c_name, @DATA_TYPE WHILE @@FETCH_STATUS = 0 BEGIN PRINT ('ALTER TABLE ' + @t_name + ' ALTER COLUMN ' + @c_name+ ' NVARCHAR(2500)') EXEC ('ALTER TABLE ' + @T_name + ' the ALTER the COLUMN ' + @c_name + ' NVARCHAR (2500) ' ) the PRINT ( ' table: ' + @t_name + ' - field: ' + @c_name + ' - successfully modified ' ) the FETCH the NEXT the FROM DataClean the INTO @t_name , @c_name , @DATA_TYPE the END - the cursor is closed the CLOSE DataClean -Release resources DEALLOCATE DataClean