Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak skopiować bazę danych SQL Azure na mój lokalny serwer programistyczny?

Można to zrobić na wiele sposobów:

  1. Korzystanie z usług SSIS (SQL Server Integration Services) . Importuje tylko data w twoim stole. Właściwości kolumn, ograniczenia, klucze, indeksy, procedury składowane, wyzwalacze, ustawienia zabezpieczeń, użytkownicy, loginy itp. nie są przesyłane. Jest to jednak bardzo prosty proces i można to zrobić po prostu za pomocą kreatora w SQL Server Management Studio.
  2. Korzystanie z kombinacji skryptów tworzenia SSIS i DB . Dzięki temu uzyskasz dane i wszystkie brakujące metadane, które nie są przesyłane przez SSIS. To też jest bardzo proste. Najpierw prześlij dane za pomocą SSIS (zobacz instrukcje poniżej), a następnie utwórz skrypt DB Create z bazy danych SQL Azure i odtwórz go ponownie w lokalnej bazie danych.
  3. Na koniec możesz użyć usługi importu/eksportu w SQL Azure . Powoduje to przesyłanie danych (z obiektami schematu) do usługi Azure Blob Storage jako BACPAC. Będziesz potrzebować konta usługi Azure Storage i zrób to w portalu internetowym Azure. Jest to tak proste, jak naciśnięcie przycisku „Eksportuj” w portalu internetowym Azure po wybraniu bazy danych, którą chcesz wyeksportować. Minusem jest to, że jest to tylko procedura ręczna, nie znam sposobu na zautomatyzowanie tego za pomocą narzędzi lub skryptów – przynajmniej pierwsza część, która wymaga kliknięcia na stronie internetowej.

Procedura ręczna dla metody nr 1 (przy użyciu SSIS) jest następujący:

  • W Sql Server Management Studio (SSMS) utwórz nową pustą bazę danych na lokalnej instancji SQL.
  • Wybierz Importuj dane z menu kontekstowego (kliknij prawym przyciskiem myszy bazę danych -> Zadania -> Importuj dane...)
  • Wpisz parametry połączenia dla źródła (SQL Azure). Wybierz ".Net Framework Data Provider for SqlServer" jako dostawcę.
  • Wybierz istniejącą pustą lokalną bazę danych jako miejsce docelowe.
  • Postępuj zgodnie z instrukcjami kreatora — będziesz mógł wybrać dane tabel, które chcesz skopiować. Możesz pominąć dowolne tabele, których nie potrzebujesz. Np. jeśli przechowujesz logi aplikacji w bazie danych, prawdopodobnie nie potrzebujesz ich w kopii zapasowej.

Możesz to zautomatyzować, tworząc pakiet SSIS i ponownie wykonując go za każdym razem, gdy chcesz ponownie zaimportować dane. Pamiętaj, że możesz importować za pomocą SSIS tylko do czystej bazy danych, nie możesz wykonywać przyrostowych aktualizacji lokalnej bazy danych, jeśli już to zrobiłeś raz.

Metoda nr 2 (dane SSID plus obiekty schematu) jest bardzo proste. Najpierw przejdź przez kroki opisane powyżej, a następnie utwórz skrypt DB Creation (kliknij prawym przyciskiem myszy na bazę danych w SSMS, wybierz Generate Scripts -> Database Create). Następnie ponownie odtwórz ten skrypt w lokalnej bazie danych.

Metoda nr 3 jest opisany na Blogu tutaj:http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/. Istnieje klip wideo z procesem przesyłania zawartości bazy danych do usługi Azure Blob Storage jako BACPAC. Następnie możesz skopiować plik lokalnie i zaimportować go do swojej instancji SQL. Proces importowania BACPAC do aplikacji Data-Tier opisano tutaj:http://msdn.microsoft.com/en-us/library/hh710052.aspx.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server SELECT do istniejącej tabeli

  2. Jak możemy wyświetlić treść zaszyfrowanej procedury składowanej w programie SSMS?

  3. Sprawdź, czy plik istnieje, czy nie na serwerze sql?

  4. Jaki jest cel replikacji danych?

  5. Wykonywanie zestawu zapytań SQL przy użyciu pliku wsadowego?