Connecting to SQL Server (OracleToSQL)
To migrate Oracle databases to SQL Server, you must connect to the target instance of the SQL Server. When you connect, SSMA obtains metadata about all the databases in the instance of SQL Server and displays database metadata in the SQL Server Metadata Explorer. SSMA stores information about which instance of SQL Server you are connected to, but does not store passwords.
Your connection to SQL Server stays active until you close the project. When you reopen the project, you must reconnect to SQL Server if you want an active connection to the server. You can work offline until you load database objects into SQL Server and migrate data.
Metadata about the instance of SQL Server is not automatically synchronized. Instead, to update the metadata in SQL Server Metadata Explorer, you must manually update the SQL Server metadata. For more information, see the "Synchronizing SQL Server Metadata" section later in this topic.
Required SQL Server Permissions
The account that is used to connect to SQL Server requires different permissions depending on the actions that the account performs:
To convert Oracle objects to Transact-SQL syntax, to update metadata from SQL Server, or to save converted syntax to scripts, the account must have permission to log on to the instance of SQL Server.
To load database objects into SQL Server, the account must be a member of the db_ddladmin database role.
To migrate data to SQL Server, the account must be:
- A member of the db_owner database role, if using client-side data migration engine.
- A member of the sysadmin server role, if using server-side data migration engine. This is required to create the
CmdExec
SQL Server Agent job step during data migration to run SSMA bulk copy tool.Note
SQL Server Agent proxy accounts are not supported by the server-side data migration.
To run the code that is generated by SSMA, the account must have
EXECUTE
permissions for all user-defined functions in the ssma_oracle schema of the target database. These functions provide equivalent functionality of Oracle system functions, and are used by converted objects.
Establishing a SQL Server Connection
Before you convert Oracle database objects to SQL Server syntax, you must establish a connection to the instance of SQL Server where you want to migrate the Oracle database or databases.
When you define the connection properties, you also specify the database where objects and data will be migrated. You can customize this mapping at the Oracle schema level after you connect to SQL Server. For more information, see Mapping Oracle Schemas to SQL Server Schemas (OracleToSQL).
Important
Before you try to connect to SQL Server, make sure that the instance of SQL Server is running and can accept connections.
To connect to the SQL Server:
On the File menu, select Connect to SQL Server. If you previously connected to SQL Server, the command name will be Reconnect to SQL Server.
In the connection dialog box, enter or select the name of the instance of SQL Server.
- If you are connecting to the default instance on the local computer, you can enter
localhost
or a dot (.
). - If you are connecting to the default instance on another computer, enter the name of the computer.
- If you are connecting to a named instance on another computer, enter the computer name followed by a backslash and then the instance name, such as
MyServer\MyInstance
.
- If you are connecting to the default instance on the local computer, you can enter
If your instance of SQL Server is configured to accept connections on a non-default port, enter the port number that is used for SQL Server connections in the Server port box. For the default instance of SQL Server, the default port number is 1433. For named instances, SSMA will try to obtain the port number from the SQL Server Browser Service.
In the Database box, enter the name of the target database. This option is not available when you reconnect to SQL Server.
In the Authentication box, select the authentication type to use for the connection. To use the current Windows account, select Windows Authentication. To use a SQL Server login, select SQL Server Authentication, and then provide the login name and password.
For Secure connection, two controls are added, the Encrypt Connection and TrustServerCertificate check boxes. Only when Encrypt Connection is checked, the TrustServerCertificate check box is visible. When Encrypt Connection is checked (true) and TrustServerCertificate is unchecked (false), it will validate the SQL Server SSL certificate. Validating the server certificate is a part of the SSL handshake and ensures that the server is the correct server to connect to. To ensure this, a certificate must be installed on the client side as well as on the server side.
Click Connect.
Important
While you may connect to a higher version of SQL Server, compared to the version chosen when the migration project was created, conversion of the database objects is determined by the target version of the project and not the version of the SQL Server you are connected to.
Synchronizing SQL Server Metadata
Metadata about SQL Server databases is not automatically updated. The metadata in SQL Server Metadata Explorer is a snapshot of the metadata when you first connected to SQL Server, or the last time that you manually updated metadata. You can manually update metadata for all databases, or for any single database or database object. To synchronize the metadata:
Make sure that you are connected to SQL Server.
In SQL Server Metadata Explorer, select the check box next to the database or database schema that you want to update. For example, to update the metadata for all databases, select the box next to Databases.
Right-click Databases, or the individual database or database schema, and then select Synchronize with Database.
Next Step
The next step in the migration depends on your project needs:
- To customize the mapping between Oracle schemas and SQL Server databases and schemas, see Mapping Oracle Schemas to SQL Server Schemas (OracleToSQL).
- To customize configuration options for the projects, see Setting Project Options (OracleToSQL).
- To customize the mapping of source and target data types, see Mapping Oracle and SQL Server Data Types (OracleToSQL).
- If you do not have to perform any of these tasks, you can convert the Oracle database object definitions into SQL Server object definitions. For more information, see Converting Oracle Schemas (OracleToSQL).