After you add a database instance to Data Management Service (DMS), DMS automatically collects the data dictionary of the databases in the instance. If you find that the instance information in DMS is inconsistent with the actual information, you can manually synchronize the data dictionary. If you change a database schema in DMS, DMS automatically synchronizes the data dictionary. Otherwise, you must manually synchronize the data dictionary.
Overview
A data dictionary is used for hierarchical permission management on databases, tables, fields, and programmable objects. The data dictionary information that DMS collects includes the following:
The names and character sets of databases.
NoteFor instances in Security Collaboration control mode, DMS ignores system databases by default when it collects metadata. For more information, see System databases that are ignored by DMS by default.
The names, occupied storage space, number of rows, character sets, fields, indexes, and descriptions of tables.
The types, precision, and descriptions of fields.
Note the following rules for data dictionary synchronization:
If you change a schema in DMS, DMS automatically synchronizes the data dictionary.
If you change the schema in another way, you must manually synchronize the data dictionary.
For more information about data dictionaries, see Metadata.
Prerequisites
You must have the DBA or administrator system role. To view your system role, see View my system roles.
Procedure
Method 1
- Log on to the DMS console V5.0.
In the top navigation bar, choose .
NoteIf you use the DMS console in simple mode, move the pointer over the
icon in the upper-left corner of the console and choose . Click the Instance List tab.
In the Actions column of the target instance, click .
In the Sync Dictionary dialog box, click OK.
Method 2
- Log on to the DMS console V5.0.
Right-click the target instance in the instance list on the left and select Refresh/Sync Dictionary.
In the Sync Dictionary dialog box, click OK.
FAQ
Q: DMS metadata synchronization is slow. After I manually refresh the dictionary, I still cannot see a newly created database or table. What can I do?
A: This issue can occur for the following two reasons:
1. The database account used by DMS lacks the required access permissions for the new database. For example, when a new database is created on an RDS SQL Server instance, permissions are not automatically granted to the account by default. Therefore, DMS cannot display the database even after you refresh the dictionary. You can grant the required permissions by following the procedure below.
Log on to the ApsaraDB RDS Console. In the navigation pane on the left, click Instances.
In the top menu bar, select the destination region.
Find the target instance and click the instance ID to open the Basic Information page.
In the left-side navigation pane, click Accounts.
Find the database account that is used by DMS. In the Actions column, click Modify Permissions or Reset Account Permissions to grant the necessary privileges on the new database to the account used by DMS.
2. The instance contains many databases and tables, which makes metadata synchronization time-consuming. The time required for a sync task is proportional to the number of databases and tables in the instance. A sync task may take several minutes or longer to complete.