You can you the $data binding context property which always represents the current view model to access the name through it:
<tbody data-bind="foreach: records">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: $data.name"></td>
</tr>
</tbody>
With this approach KO won't throw an exception if one of the items in the records does not have a name property.
Without the $data the identifier named name is undefined. However $data.name is always a valid expression it just returns undefined if the current view model does not have a property named name.