1. A computer-implemented method for determining access to a data table stored in a data source, the method comprising: determining, by a processor, static properties of one or more data sources during a design phase of a query; loading the static properties into an unavailability table in a data store coupled to the processor; evaluating, at execution of the query, dynamic properties of the one or more data sources by an enterprise information integration component under control of the processor; updating the unavailability table to include the dynamic properties of the one or more data sources; evaluating a preference expression by a table dispatcher component using session context information from the availability table; determining if a preferred table is available at query execution based on the results of the preference expression; if the preferred table is available, the table dispatcher component indicating to a query engine to access the preferred table; and if the preferred table is unavailable, the table dispatcher component applying unavailability rules to obtain repair actions.