If you want to move applications to your own tables for isolation, you'd better configure the database on one instance, rather than trying to do it in the application. This has the following advantages:
SQL for queries is not a change.
It is easier to protect database data than in a table section. You can provide customers with much more flexible data access without compromising other customers' data.
You can implement independent backup / restore modes for each client.
It's easier to "scale" by moving some clients to another server if you must.
The application architecture is simpler because it does not have to be explicitly aware of the client filtering in each request.
Setting up multiple tables for each client means that you need to maintain a separate assembly for the application or create all the SQL statements that include these tables. This is a dirty and complicated scaling for a large number of customers.
In general, if you have a relatively simple application and a large number of clients, a single table with filtering is probably the more appropriate solution. For a more complex application with fewer clients, the best approach is to create multiple databases and have an application instance for each client.
ConcernedOfTunbridgeWells
source share