The following behaviors occur during the metadata import:
- New columns are added to the metadata table.
- Existing columns are updated.
- Columns that were deleted from the source table remain in the metadata definition.
By default, the metadata import utilities preserve target columns that are not found in the source. This behavior is controlled by a Java system property and applies unless explicitly changed in the import settings for each object.
The metadata import utilities do not remove deleted columns unless you manually clear the Keep target columns not found in source option for each table during import or change the default client behavior.
You can resolve the issue by configuring the client tools so that metadata imports remove columns that no longer exist in the source table. You can make this configuration by adding a Java argument to the client configuration files.
Note: This change modifies the default behavior for all future metadata imports performed from the configured client
Configure SAS Data Integration Studio (Windows Client)
- Navigate to the SAS Data Integration Studio installation directory.
For example: C:\Program Files\SASHome\SASDataIntegrationStudio\4.7
- Create a backup of the distudio.ini file.
- Open distudio.ini in a text editor.
- Locate the existing JavaArgs_NN entries at the end of the file.
- Add a new entry, where NN is the next sequential number:
JavaArgs_NN=-Dsas.promotion.columns.deletetargetcolumns=true
- Save the file.
- Restart SAS Data Integration Studio.
Configure SAS Management Console (Windows Client)
- Navigate to the SAS Management Console installation directory.
For example: C:\Program Files\SASHome\SASManagementConsole\9.4
- Create a backup of the sasmc.ini file.
- Open sasmc.ini in a text editor.
- Locate the existing JavaArgs_NN entries.
- Add a new entry, where NN is the next sequential number:
JavaArgs_NN=-Dsas.promotion.columns.deletetargetcolumns=true
- Save the file.
- Restart SAS Management Console.
After applying this configuration, metadata imports from the client remove columns that are not present in the source table definition, ensuring that the metadata table is fully synchronized with the source.