Migrowanie bazy danych programu SQL Server do programu SQL Server na maszynie wirtualnej platformy AzureMigrate a SQL Server database to SQL Server in an Azure VM

Istnieje kilka metod migracji lokalnej bazy danych użytkownika programu SQL Server do programu SQL Server na Maszynie wirtualnej platformy Azure.There are a number of methods to migrate an on-premises SQL Server user database to SQL Server in an Azure VM. Ten artykuł będzie krótko omówiono różne metody i zaleca się najlepszej metody dla różnych scenariuszy.This article will briefly discuss various methods and recommend the best method for various scenarios.

Uwaga

Platforma Azure oferuje dwa różne modele wdrażania związane z tworzeniem zasobów i pracą z nimi: model wdrażania przy użyciu usługi Resource Manager i model klasyczny.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. W tym artykule przedstawiono oba modele, ale firma Microsoft zaleca przeprowadzanie większości nowych wdrożeń z zastosowaniem modelu wdrażania przy użyciu usługi Azure Resource Manager.This article covers using both models, but Microsoft recommends that most new deployments use the Resource Manager model.

Uwaga

Program SQL Server 2008 i SQL Server 2008 R2 zbliża się końca ich Cykl wsparcia technicznego dla wystąpień w środowisku lokalnym.SQL Server 2008 and SQL Server 2008 R2 are approaching the end of their support life cycle for on-premises instances. Rozszerzenie obsługi, możesz migrować wystąpienia programu SQL Server na Maszynie wirtualnej platformy Azure lub kupić rozszerzone aktualizacje zabezpieczeń, aby utrzymać ją w środowisku lokalnym.To extend support, you can either migrate your SQL Server instance to an Azure VM, or buy Extended Security Updates to keep it on-premises. Aby uzyskać więcej informacji, zobacz rozszerzona obsługa programu SQL Server 2008 i 2008 R2 z platformą AzureFor more information, see Extend support for SQL Server 2008 and 2008 R2 with Azure

Jakie są metody migracji głównej?What are the primary migration methods?

Dostępne są następujące metody migracji głównej:The primary migration methods are:

  • Wykonaj kopię zapasową w środowisku lokalnym przy użyciu kompresji i ręcznie skopiować plik kopii zapasowej do maszyny wirtualnej platformy AzurePerform on-premises backup using compression and manually copy the backup file into the Azure virtual machine
  • Wykonaj kopię zapasową do adresu URL i przywracania do maszyny wirtualnej platformy Azure z adresu URLPerform a backup to URL and restore into the Azure virtual machine from the URL
  • Odłącz kopiowania plików dziennika i danych do usługi Azure blob storage i następnie dołączyć do programu SQL Server na maszynie Wirtualnej platformy Azure z adresu URLDetach and then copy the data and log files to Azure blob storage and then attach to SQL Server in Azure VM from URL
  • Konwertuj maszynę fizyczną w środowisku lokalnym do wirtualnego dysku twardego funkcji Hyper-V, Przekaż do usługi Azure Blob storage i następnie wdrożyć nowe maszyny Wirtualnej przy użyciu przekazany wirtualny dysk twardyConvert on-premises physical machine to Hyper-V VHD, upload to Azure Blob storage, and then deploy as new VM using uploaded VHD
  • Dostarczaj dysku twardego za pomocą usługi Import/Export WindowsShip hard drive using Windows Import/Export Service
  • Jeśli masz wdrożenia zawsze włączonej grupy dostępności w środowisku lokalnym, użyj Kreatora dodawania repliki platformy Azure tworzenia replik w Azure, a następnie trybu failover, wskazując użytkowników do wystąpienia usługi Azure databaseIf you have an AlwaysOn Availability Group deployment on-premises, use the Add Azure Replica Wizard to create a replica in Azure and then failover, pointing users to the Azure database instance
  • Użyj programu SQL Server replikacji transakcyjnej do skonfiguruj wystąpienie serwera SQL Azure jako subskrybenta, a następnie wyłącz replikację, wskazując użytkowników do wystąpienia usługi Azure databaseUse SQL Server transactional replication to configure the Azure SQL Server instance as a subscriber and then disable replication, pointing users to the Azure database instance

Porada

Można również użyć tych samych technik przenoszenia baz danych między maszyny wirtualne SQL Server na platformie Azure.You can also use these same techniques to move databases between SQL Server VMs in Azure. Na przykład nie ma obsługiwane możliwości uaktualnienia obrazu z galerii Maszynę wirtualną programu SQL Server z jednej wersji/wydania do innego.For example, there is no supported way to upgrade a SQL Server gallery-image VM from one version/edition to another. W takim przypadku należy utworzyć nową maszynę Wirtualną programu SQL Server przy użyciu nowej wersji/wydania i następnie użyj jednej z technik migracji w tym artykule, aby przenieść bazy danych.In this case, you should create a new SQL Server VM with the new version/edition, and then use one of the migration techniques in this article to move your databases.

Wybierając metodę migracjiChoosing your migration method

W celu uzyskania optymalnego danych wydajności transferu migracji plików bazy danych do maszyny Wirtualnej platformy Azure przy użyciu skompresowany plik kopii zapasowej.For optimum data transfer performance, migrate the database files into the Azure VM using a compressed backup file.

Aby skrócić czas przestoju podczas procesu migracji bazy danych, należy użyć opcji zawsze włączone lub opcji replikacji transakcyjnej.To minimize downtime during the database migration process, use either the AlwaysOn option or the transactional replication option.

Jeśli nie jest możliwe użycie powyżej metody ręcznego przeprowadzania migracji bazy danych.If it is not possible to use the above methods, manually migrate your database. Za pomocą tej metody, będzie ogólnie rozpoczynać kopię zapasową bazy danych, a następnie kopii zapasowej bazy danych na platformę Azure i następnie wykonaj operację przywracania bazy danych.Using this method, you will generally start with a database backup followed by a copy of the database backup into Azure and then perform a database restore. Możesz także skopiować pliki bazy danych, samodzielnie na platformę Azure, a następnie dołącz je.You can also copy the database files themselves into Azure and then attach them. Istnieje kilka metod, które można wykonać ten ręczny proces migracji bazy danych na Maszynie wirtualnej platformy Azure.There are several methods by which you can accomplish this manual process of migrating a database into an Azure VM.

Uwaga

Po uaktualnieniu do programu SQL Server 2014 lub SQL Server 2016 ze starszych wersji programu SQL Server, należy rozważyć, czy zmiany są potrzebne.When you upgrade to SQL Server 2014 or SQL Server 2016 from older versions of SQL Server, you should consider whether changes are needed. Firma Microsoft zaleca adresu wszystkie zależności od funkcji nie są obsługiwane przez nową wersję programu SQL Server w ramach projektu migracji.We recommend that you address all dependencies on features not supported by the new version of SQL Server as part of your migration project. Aby uzyskać więcej informacji na temat obsługiwanych wersji i scenariuszy, zobacz uaktualnienia do programu SQL Server.For more information on the supported editions and scenarios, see Upgrade to SQL Server.

Poniższa tabela zawiera listę metod migracji głównej i w tym artykule omówiono, kiedy korzystanie z każdej metody jest najbardziej odpowiednie.The following table lists each of the primary migration methods and discusses when the use of each method is most appropriate.

MetodaMethod Wersja bazy danych źródłowychSource database version Bazy danych w wersji docelowejDestination database version Ograniczenie rozmiaru kopii zapasowej bazy danych źródłowychSource database backup size constraint UwagiNotes
Wykonaj kopię zapasową w środowisku lokalnym przy użyciu kompresji i ręcznie skopiować plik kopii zapasowej do maszyny wirtualnej platformy AzurePerform on-premises backup using compression and manually copy the backup file into the Azure virtual machine Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Usługa Azure limit przestrzeni dyskowej maszyny WirtualnejAzure VM storage limit Jest to bardzo proste i dobrze przetestowanych techniki dotyczące przenoszenia baz danych na komputerach.This is a very simple and well-tested technique for moving databases across machines.
Wykonaj kopię zapasową do adresu URL i przywracania do maszyny wirtualnej platformy Azure z adresu URLPerform a backup to URL and restore into the Azure virtual machine from the URL Pakietu CU2 programu SQL Server 2012 z dodatkiem SP1 lub nowszejSQL Server 2012 SP1 CU2 or greater Pakietu CU2 programu SQL Server 2012 z dodatkiem SP1 lub nowszejSQL Server 2012 SP1 CU2 or greater < 12,8 TB dla programu SQL Server 2016, w przeciwnym razie < 1 TB< 12.8 TB for SQL Server 2016, otherwise < 1 TB Ta metoda jest po prostu inny sposób, aby przenieść plik kopii zapasowej maszyny Wirtualnej, przy użyciu usługi Azure storage.This method is just another way to move the backup file to the VM using Azure storage.
Odłącz kopiowania plików dziennika i danych do usługi Azure blob storage i następnie dołączyć do programu SQL Server na maszynie wirtualnej platformy Azure z adresu URLDetach and then copy the data and log files to Azure blob storage and then attach to SQL Server in Azure virtual machine from URL Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Program SQL Server 2014 lub nowszegoSQL Server 2014 or greater Usługa Azure limit przestrzeni dyskowej maszyny WirtualnejAzure VM storage limit Użyj tej metody, jeśli planujesz przechowywania tych plików przy użyciu usługi Azure Blob storage i dołącz je do serwera SQL uruchomionego na Maszynie wirtualnej platformy Azure, zwłaszcza w przypadku bardzo dużych baz danychUse this method when you plan to store these files using the Azure Blob storage service and attach them to SQL Server running in an Azure VM, particularly with very large databases
Konwertuj na komputerze lokalnym do wirtualnych dysków twardych z funkcją Hyper-V, Przekaż do usługi Azure Blob storage i następnie wdrożyć nową maszynę wirtualną przy użyciu przekazanych wirtualnego dysku twardegoConvert on-premises machine to Hyper-V VHDs, upload to Azure Blob storage, and then deploy a new virtual machine using uploaded VHD Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Usługa Azure limit przestrzeni dyskowej maszyny WirtualnejAzure VM storage limit Zastosowania użycie własnej licencji programu SQL Server, podczas migracji bazy danych, która uruchomi się ze starszą wersją programu SQL Server lub podczas migrowania baz danych z systemu i użytkownika ze sobą w ramach migracji bazy danych jest zależny od innych baz danych użytkownika i/lub systemowych bazach danych.Use when bringing your own SQL Server license, when migrating a database that you will run on an older version of SQL Server, or when migrating system and user databases together as part of the migration of database dependent on other user databases and/or system databases.
Dostarczaj dysku twardego za pomocą usługi Import/Export WindowsShip hard drive using Windows Import/Export Service Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Usługa Azure limit przestrzeni dyskowej maszyny WirtualnejAzure VM storage limit Użyj usługi Import/Export Windows kiedy Metoda ręcznego kopiowania jest zbyt wolno, takie jak w przypadku bardzo dużych baz danychUse the Windows Import/Export Service when manual copy method is too slow, such as with very large databases
Użyj repliki platformy Azure Kreator dodawaniaUse the Add Azure Replica Wizard Program SQL Server 2012 lub nowszejSQL Server 2012 or greater Program SQL Server 2012 lub nowszejSQL Server 2012 or greater Usługa Azure limit przestrzeni dyskowej maszyny WirtualnejAzure VM storage limit Minimalizuje przestoje, użyj w przypadku wdrożenia zawsze włączonej w środowisku lokalnymMinimizes downtime, use when you have an Always On on-premises deployment
Użyj replikację transakcyjną programu SQL ServerUse SQL Server transactional replication Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Program SQL Server 2005 lub nowszejSQL Server 2005 or greater Usługa Azure limit przestrzeni dyskowej maszyny WirtualnejAzure VM storage limit Używać, gdy potrzebujesz zminimalizować przestoje i nie są zawsze na lokalne wdrożenieUse when you need to minimize downtime and do not have an Always On on-premises deployment

Tworzenie kopii zapasowej i przywracanieBackup and restore

Utwórz kopię zapasową bazy danych z kompresją pliku kopii zapasowej na maszynie wirtualnej, a następnie przywróć bazy danych.Back up your database with compression, copy the backup to the VM, and then restore the database. Jeśli plik kopii zapasowej jest większy niż 1 TB, musi ona stripe, ponieważ maksymalny rozmiar dysku maszyny Wirtualnej wynosi 1 TB.If your backup file is larger than 1 TB, you must stripe it because the maximum size of a VM disk is 1 TB. Aby przeprowadzić migrację bazy danych użytkownika za pomocą tej metody ręcznego, należy użyć następujące ogólne kroki:Use the following general steps to migrate a user database using this manual method:

  1. Wykonaj pełną kopię zapasową bazy w lokalizacji lokalnej.Perform a full database backup to an on-premises location.
  2. Utwórz lub maszynę wirtualną przy użyciu wersji programu SQL Server na potrzeby przekazywania.Create or upload a virtual machine with the version of SQL Server desired.
  3. Konfiguracja łączności, w zależności od wymagań.Setup connectivity based on your requirements. Zobacz nawiązać połączenie z maszyną wirtualną programu SQL Server na platformie Azure (Resource Manager).See Connect to a SQL Server Virtual Machine on Azure (Resource Manager).
  4. Skopiuj pliki kopii zapasowej dla maszyny wirtualnej przy użyciu pulpitu zdalnego, Eksploratora Windows lub polecenia kopiowania w wierszu polecenia.Copy your backup file(s) to your VM using remote desktop, Windows Explorer or the copy command from a command prompt.

Tworzenie kopii zapasowej na adres URL i przywracaniaBackup to URL and restore

Zamiast wykonywania kopii zapasowych pliku lokalnego, możesz użyć kopii zapasowej do adresu URL , a następnie Przywróć z adresu URL do maszyny Wirtualnej.Instead of backing up to a local file, you can use the backup to URL and then restore from URL to the VM. Za pomocą programu SQL Server 2016 rozłożone zestawów kopii zapasowych są obsługiwane, są zalecane w przypadku wydajności i wymaganą do przekroczenia limitów rozmiaru na obiekt blob.With SQL Server 2016, striped backup sets are supported, are recommended for performance, and required to exceed the size limits per blob. W przypadku bardzo dużych baz danych korzystanie z usługi Import/Export Windows jest zalecane.For very large databases, the use of the Windows Import/Export Service is recommended.

Odłącz i dołączyć z adresu URLDetach and attach from URL

Odłącz pliki dziennika i bazy danych i przenieść je na usługi Azure Blob storage.Detach your database and log files and transfer them to Azure Blob storage. Następnie można dołączyć bazy danych z adresu URL na maszynie Wirtualnej platformy Azure.Then attach the database from the URL on your Azure VM. Użyj, jeżeli chcesz pliki fizycznej bazy danych, znajdują się w magazynie obiektów Blob.Use this if you want the physical database files to reside in Blob storage. Może to być przydatne w przypadku bardzo dużych baz danych.This might be useful for very large databases. Aby przeprowadzić migrację bazy danych użytkownika za pomocą tej metody ręcznego, należy użyć następujące ogólne kroki:Use the following general steps to migrate a user database using this manual method:

  1. Odłącz pliki bazy danych z lokalnego wystąpienia bazy danych.Detach the database files from the on-premises database instance.
  2. Skopiuj pliki odłączono bazę danych do magazynu obiektów blob platformy Azure przy użyciu wiersza polecenia azcopy.Copy the detached database files into Azure blob storage using the AZCopy command-line utility.
  3. Dołącz pliki bazy danych z adresu URL platformy Azure do wystąpienia programu SQL Server na maszynie Wirtualnej platformy Azure.Attach the database files from the Azure URL to the SQL Server instance in the Azure VM.

Przeprowadź konwersję na maszynę wirtualną, przekaż ją do adresu URL i wdróż ją jako nową maszynę wirtualnąConvert to VM and upload to URL and deploy as new VM

Ta metoda umożliwia migrację wszystkich systemowych i użytkownika bazy danych w wystąpieniu programu SQL Server w środowisku lokalnym do maszyny wirtualnej platformy Azure.Use this method to migrate all system and user databases in an on-premises SQL Server instance to Azure virtual machine. Do całego wystąpienia programu SQL Server przy użyciu tej metody ręcznej migracji, należy użyć następujące ogólne kroki:Use the following general steps to migrate an entire SQL Server instance using this manual method:

  1. Konwertowanie maszyn fizycznych lub wirtualnych do wirtualnych dysków twardych z funkcją Hyper-V.Convert physical or virtual machines to Hyper-V VHDs.
  2. Przekazywanie plików wirtualnego dysku twardego do usługi Azure Storage za pomocą polecenia cmdlet Add-AzureVHD.Upload VHD files to Azure Storage by using the Add-AzureVHD cmdlet.
  3. Wdrożyć nową maszynę wirtualną przy użyciu przekazanych wirtualnego dysku twardego.Deploy a new virtual machine by using the uploaded VHD.

Uwaga

Aby przeprowadzić migrację całej aplikacji, należy rozważyć użycie usługi Azure Site Recovery].To migrate an entire application, consider using Azure Site Recovery].

Dostarczaj dysku twardegoShip hard drive

Użyj metody usługi Import/Export Windows przesyłanie dużych ilości danych plików do usługi Azure Blob storage w sytuacjach, w którym przekazywanie za pośrednictwem sieci jest zbyt duży lub nie jest to możliwe.Use the Windows Import/Export Service method to transfer large amounts of file data to Azure Blob storage in situations where uploading over the network is prohibitively expensive or not feasible. Z tą usługą są wysyłane co najmniej jeden dyski twarde zawierające dane do centrum danych platformy Azure, w którym dane zostaną przekazane do konta magazynu.With this service, you send one or more hard drives containing that data to an Azure data center, where your data will be uploaded to your storage account.

Kolejne krokiNext steps

Aby uzyskać więcej informacji na temat uruchamiania programu SQL Server na maszynach wirtualnych platformy Azure, zobacz programu SQL Server na maszynach wirtualnych platformy Azure — omówienie.For more information about running SQL Server on Azure Virtual Machines, see SQL Server on Azure Virtual Machines overview.

Porada

Jeśli masz pytania dotyczące maszyn wirtualnych programu SQL Server, zobacz Często zadawane pytania.If you have questions about SQL Server virtual machines, see the Frequently Asked Questions.

Aby uzyskać instrukcje dotyczące tworzenia maszyny wirtualnej Azure SQL Server z przechwyconego obrazu, zobacz porady i wskazówki na klonowania maszyn wirtualnych usługi Azure SQL z przechwyconych obrazów blogu Engineers serwera SQL CSS.For instructions on creating an Azure SQL Server Virtual Machine from a captured image, see Tips & Tricks on ‘cloning’ Azure SQL virtual machines from captured images on the CSS SQL Server Engineers blog.