| title | Migrate databases to SQL Server on Linux | Microsoft Docs |
|---|---|
| description | This article describes the different options for migrating databases and data to SQL Server on Linux. |
| author | rothja |
| ms.author | jroth |
| manager | craigg |
| ms.date | 03/17/2017 |
| ms.topic | article |
| ms.prod | sql-non-specified |
| ms.prod_service | database-engine |
| ms.service | |
| ms.component | |
| ms.suite | sql |
| ms.technology | database-engine |
| ms.assetid | 1619489d-377a-4f32-8930-d4f536539689 |
| ms.custom | sql-linux |
| ms.workload | Inactive |
[!INCLUDEappliesto-ss-xxxx-xxxx-xxx-md-linuxonly]
You can migrate your databases and data to SQL Server 2017 running on Linux. The method you choose to use depends on the source data and your specific scenario. The following sections provide best practices for various migration scenarios.
If you want to migrate SQL Server databases on Windows to SQL Server 2017 on Linux, the recommended technique is to use SQL Server backup and restore.
- Create a backup of the database on the Windows machine.
- Transfer the backup file to the target SQL Server Linux machine.
- Restore the backup on the Linux machine.
For a tutorial on migrating a database with backup and restore, see the following topic:
It is also possible to export your database to a BACPAC file (a compressed file that contains your database schema and data). If you have a BACPAC file, you can transfer this file to your Linux machine and then import it to SQL Server. For more information, see the following topics:
You can migrate databases on other database systems to SQL Server 2017 on Linux. This includes Microsoft Access, DB2, MySQL, Oracle, and Sybase databases. In this scenario, use the SQL Server Management Assistant (SSMA) to automate the migration to SQL Server on Linux. For more information, see Use SSMA to migrate databases to SQL Server on Linux.
There are also techniques for importing raw data. You might have structured data files that were exported from other databases or data sources. In this case, you can use the bcp tool to bulk insert the data. Or you can run SQL Server Integration Services on Windows to import the data into a SQL Server database on Linux. SQL Server Integration Services enables you to run more complex transformations on the data during the import.
For more information on these techniques, see the following topics: