• You can also use

    select o.name as ProcedureName

    , db_name(parent_object_id) as DatabaseName

    --, sm.definition

    , o.create_date as CreateDate

    , o.modify_date as LastAlteredDate

    from sys.sql_modules sm

    inner join sys.objects o on sm.object_id = o.object_id

    Benefit is the definition here is nvarchar(max) whereas in information_schema.routines it is nvarchar(4000)

    Cheers