In order to compare dev and prod databases, I'd like to join SYSOBJECTS and SYSCOLUMNS tables of two servers. However the documentation says 'you cannot create proxies of system tables'. Is there a way to do what I want without creating proxy tables? I'm relatively new to Sybase ASA, so all suggestions/directions are welcome.
Edit: The server version is 9. I thought I added that, I feel like there's a problem with revisions but I'll post that as another thread.
It surely is possible to access to system catalog of a different SA database through proxy tables. Note, however, as you are relating to already existing tables/views, you need to use the CREATE EXISTING TABLE syntax.
The following shows how to access the systable system view of the SA12 demo database:
create server SVR_SA_DEMO class 'saodbc' using 'SQL Anywhere 12 Demo'; create externlogin "DBA" to SVR_SA_DEMO remote login "DBA" identified by 'sql'; create existing table DEMO_SysTable at 'SVR_SA_DEMO..sys.systable'; select * from DEMO_SysTable order by table_name;
For obvious reasons, the following will fail with missing permissions:
update DEMO_SysTable set table_name = 'test';
The following will show all tables/view contained in the current, but not in the demo database:
select table_name from sys.systable except select table_name from DEMO_SysTable order by 1