On SQL Server, IIRC, you can't get all the needed info from information-schema -- you need the SQL-Server-specific system tables. That could be done with unmanaged models as well, of course, but the idea of backend-specific-unmanaged-models scares me a little.

(SQL Server is not in core, but I like to try to keep core friendly to 3rd-party backends).