Czy ktoś wie, jak mogę skopiować bazę danych SQL Azure na mój komputer deweloperski? Chciałbym przestać płacić za posiadanie deweloperskiej bazy danych w chmurze, ale to najlepszy sposób na uzyskanie danych produkcyjnych. Kopiuję moją produkcyjną bazę danych do nowej deweloperskiej bazy danych, ale chciałbym mieć tę samą lokalną bazę danych.
Jakieś sugestie?
Odpowiedzi:
Można to zrobić na wiele sposobów:
data
w tabeli. Właściwości kolumn, ograniczenia, klucze, indeksy, procedury składowane, wyzwalacze, ustawienia zabezpieczeń, użytkownicy, dane logowania itp. Nie są przenoszone. Jest to jednak bardzo prosty proces i można go wykonać po prostu za pomocą kreatora w SQL Server Management Studio.Ręczna procedura dla metody nr 1 (przy użyciu SSIS) jest następująca:
Możesz to zautomatyzować, tworząc pakiet SSIS i wykonując go ponownie w dowolnym momencie, gdy chcesz ponownie zaimportować dane. Pamiętaj, że możesz importować tylko przy użyciu SSIS do czystej bazy danych, nie możesz wykonywać przyrostowych aktualizacji lokalnej bazy danych, gdy już to zrobiłeś.
Metoda nr 2 (dane SSID plus obiekty schematu) jest bardzo prosta. Najpierw wykonaj kroki opisane powyżej, a następnie utwórz skrypt tworzenia bazy danych (kliknij prawym przyciskiem myszy bazę danych w SSMS, wybierz opcję Generuj skrypty -> Utwórz bazę danych). Następnie odtwórz ponownie ten skrypt w lokalnej bazie danych.
Metoda nr 3 jest opisana na blogu tutaj: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/ . Istnieje klip wideo przedstawiający proces 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 .
źródło
Skopiuj dane bazy danych Azure do lokalnej bazy danych: teraz możesz użyć programu SQL Server Management Studio, aby zrobić to w następujący sposób:
„Dalej” / „Dalej” / „Zakończ”
źródło
Chciałem tylko dodać uproszczoną wersję odpowiedzi dumbledada , ponieważ jest poprawna.
źródło
W programie SQL Server 2016 Management Studio proces uzyskiwania Azure bazy danych na komputerze lokalnym został usprawniony.
Kliknij prawym przyciskiem myszy bazę danych, którą chcesz zaimportować, kliknij Zadania> Eksportuj aplikację warstwy danych i wyeksportuj bazę danych do lokalnego pliku .dacpac.
W lokalnej docelowej instancji serwera SQL możesz kliknąć prawym przyciskiem myszy Bazy danych> Importuj aplikację warstwy danych , a gdy będzie lokalna, możesz wykonywać takie czynności, jak tworzenie kopii zapasowych i przywracanie bazy danych.
źródło
Myślę, że teraz jest o wiele łatwiej.
Dodatkowo używam Sql Backup i FTP ( https://sqlbackupandftp.com/ ) do codziennego tworzenia kopii zapasowych na bezpiecznym serwerze FTP. Po prostu pobieram stamtąd najnowszy plik BACPAC i importuję go w tym samym oknie dialogowym, co jest szybsze i łatwiejsze do utworzenia lokalnej bazy danych.
źródło
Możesz również sprawdzić usługę SQL Azure Data Sync w portalu zarządzania Windows Azure. Umożliwia pobieranie i przywracanie całej bazy danych, w tym schematu i danych między SQL Azure i SQL Server.
źródło
To całkiem proste. To zadziałało dla mnie ... pod względem pobierania bazy danych Azure SQL na komputer lokalny ...:
ALE, uważaj, jeśli RÓWNIEŻ chcesz DANE, a także skrypty, sprawdź Opcje zaawansowane przed rozpoczęciem generowania ... przewiń w dół do "Typy danych do skryptu" i upewnij się, że masz " Schemat i dane ”... lub cokolwiek jest dla Ciebie odpowiednie.
Da ci ładny plik skryptu SQL, który można następnie uruchomić na komputerze lokalnym i utworzy bazę danych, a także zapełni ją wszystkimi danymi.
Miej na uwadze, że w moim przypadku nie mam ograniczeń FK ani innych ... również nie było to dużo danych.
Ogólnie nie polecam tego jako mechanizmu tworzenia kopii zapasowych ...
źródło
sqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
Za pomocą
msdeploy.exe
Uwaga:
msdeploy.exe
nie można samodzielnie utworzyć docelowej bazy danych, więc musisz najpierw utworzyć ją ręcznie.Uruchom w
msdeploy.exe
ten sposób:Za pomocą
SqlPackage.exe
Wyeksportuj Azure DB do pakietu bacpac.
Zaimportuj pakiet do lokalnej bazy danych.
źródło
Spróbuj tego: http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure/ .
Inną alternatywą byłaby synchronizacja danych SQL Azure .
Jest jeszcze jeden wpis na blogu, na który natknąłem się kilka dni temu, ale nie mogłem go teraz znaleźć. Zaktualizuję ten post, gdy tylko go znajdę.
źródło
W SQL Server Management Studio
Kliknij prawym przyciskiem myszy bazę danych, którą chcesz zaimportować, kliknij Zadania> Eksportuj aplikację warstwy danych i wyeksportuj bazę danych do lokalnego pliku .dacpac.
W lokalnej docelowej instancji serwera SQL możesz kliknąć prawym przyciskiem myszy Bazy danych> Importuj aplikację warstwy danych, a gdy będzie lokalna, możesz wykonywać takie czynności, jak tworzenie kopii zapasowych i przywracanie bazy danych.
źródło
Nie mogłem uruchomić importu / eksportu SSIS, ponieważ pojawił się błąd „Błąd wstawiania do kolumny tylko do odczytu„ id ””. Nie mogłem też uruchomić witryny http://sqlazuremw.codeplex.com/ , a powyższe linki do usługi SQL Azure Data Sync nie działały.
Ale znalazłem doskonały wpis na blogu dotyczący plików BACPAC: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/
W filmie w poście autor posta na blogu wykonuje sześć kroków:
Utwórz lub przejdź do konta magazynu w portalu zarządzania Azure. Będziesz potrzebować adresu URL obiektu BLOB i podstawowego klucza dostępu do konta magazynu.
W poście na blogu zalecono utworzenie nowego kontenera dla pliku bacpac i zasugerowano użycie do tego Eksploratora usługi Azure Storage . (Uwaga: będziesz potrzebować adresu URL obiektu BLOB i podstawowego klucza dostępu konta magazynu, aby dodać go do Eksploratora usługi Azure Storage).
W portalu zarządzania Azure wybierz bazę danych, którą chcesz wyeksportować, i kliknij „Eksportuj” w sekcji Importuj i eksportuj na wstążce.
Wynikowe okno dialogowe wymaga podania nazwy użytkownika i hasła do bazy danych, adresu URL obiektu BLOB oraz klucza dostępu. Nie zapomnij dołączyć kontenera do adresu URL obiektu blob i podać nazwę pliku (np. Https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac ).
Po kliknięciu przycisku Zakończ baza danych zostanie wyeksportowana do pliku BACPAC. To może chwilę potrwać. Jeśli sprawdzisz w Eksploratorze usługi Azure Storage, może zostać wyświetlony plik o rozmiarze zerowym. To jest usługa importu / eksportu sprawdzająca, czy ma dostęp do zapisu w magazynie obiektów blob.
Gdy to zrobisz, możesz użyć Eksploratora usługi Azure Storage, aby pobrać plik BACPAC, a następnie w programie SQL Server Management Studio kliknąć prawym przyciskiem myszy folder bazy danych serwera lokalnego i wybrać opcję Importuj aplikację warstwy danych, która uruchomi kreatora, który odczytuje plik BACPAC do utworzyć kopię bazy danych Azure. Kreator może również połączyć się bezpośrednio z magazynem obiektów blob w celu uzyskania pliku BACPAC, jeśli wolisz nie kopiować go najpierw lokalnie.
Ostatni krok może być dostępny tylko w wersji SQL Server 2012 programu SQL Server Management Studio (jest to wersja, której używam). Nie mam wcześniejszych na tym komputerze do sprawdzenia. W poście na blogu autor używa narzędzia wiersza poleceń DacImportExportCli.exe do importu, które moim zdaniem jest dostępne pod adresem http://sqldacexamples.codeplex.com/releases
źródło
Jeśli chodzi o „Nie mogłem uruchomić importu / eksportu SSIS, ponieważ otrzymałem błąd„ Nie udało się wstawić do kolumny tylko do odczytu „id” ”. Można to obejść, określając na ekranie mapowania, że chcesz zezwalaj na wstawianie elementów tożsamości.
Potem wszystko działało dobrze, korzystając z kreatora importu / eksportu SQL w celu skopiowania z platformy Azure do lokalnej bazy danych.
Miałem tylko Kreatora importu / eksportu SQL, który jest dostarczany z SQL Server 2008 R2 (działał dobrze) i Visual Studio 2012 Express do tworzenia lokalnej bazy danych.
źródło
Zaakceptowana odpowiedź jest nieaktualna. Znalazłem lepszą odpowiedź: użyj aplikacji warstwy danych importu
Bardziej szczegółowe informacje można znaleźć w tym artykule: Przywracanie Azure SQL Database na serwerze lokalnym
źródło
Możesz spróbować za pomocą narzędzia „Kreator migracji bazy danych SQL”. To narzędzie zapewnia opcję importowania i eksportowania danych z Azure sql.
Sprawdź więcej szczegółów tutaj.
https://sqlazuremw.codeplex.com/
źródło
Za pomocą nowych usług Azure Mobile Services można co noc eksportować kopie zapasowe z platformy SQL Azure do pliku .bacpac hostowanego w usłudze Azure Storage. To rozwiązanie jest w 100% oparte na chmurze, nie wymaga narzędzia innej firmy i nie wymaga lokalnie hostowanej instancji programu SQL Server do pobierania / kopiowania / tworzenia kopii zapasowych czegokolwiek.
Jest około 8 różnych kroków, ale wszystkie są łatwe: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure .aspx
źródło
Zawsze używam funkcji importu / eksportu, która wydaje się być najłatwiejsza ze wszystkich.
Krok 1:
Uzyskaj kopię zapasową z wystąpienia Azure w następujący sposób, wybierz bazę danych → Kliknij prawym przyciskiem myszy → Zadania → Eksportuj aplikację warstwy danych.
Krok 2: Nadaj plikowi kopii zapasowej określoną nazwę i zapisz go w wybranej lokalizacji
Krok 3: To jest to, że wykonałeś kopię zapasową bazy danych z instancji sql do swojego lokalnego. Przywróćmy go do lokalnego. Skopiuj kopię zapasową bazy danych na dysk C. Teraz otwórz PowerShell z uprawnieniami administratora i przejdź do dysku C.
Krok 4: Pobierzmy skrypt PowerShell, aby usunąć klucz główny UsuńMasterKey.ps1 , aby skrypt znajdował się na tym samym dysku, w tym przypadku jego C.
Krok 5: Uruchom skrypt w następujący sposób,. \ RemoveMasterKey.ps1 -bacpacPath "C: \ identity.bacpac"
To wszystko, teraz możesz przywrócić go na MSSQL 2017 w swoim środowisku lokalnym.
Krok 6: Połącz się z serwerem lokalnym i kliknij Bazy danych → Importuj-warstwę-danych-aplikacji
Krok 7 : Podaj nazwę bazy danych do przywrócenia.
Teraz zobaczysz wszystko na zielono!
Przeczytaj mój blog z diagramami.
źródło
Pobierz Optillect SQL Azure Backup - ma 15-dniową wersję próbną, więc wystarczy przenieść bazę danych :)
źródło
Sztuczka polegała na tym, że zacząłem replikować PK / FK / ograniczenia w pustej bazie danych, a następnie tymczasowo wyłącz ograniczenia podczas importowania danych (patrz https://stackoverflow.com/a/161410 ).
Dokładniej:
Mam nadzieję że to pomoże!
źródło
Teraz możesz do tego użyć programu SQL Server Management Studio.
źródło
Użyj usługi Import / Eksport w SQL Azure, aby utworzyć plik BACPAC.
Następnie przyjrzyj się tej metodzie w innym artykule o przepełnieniu stosu.
Azure SQL Database Bacpac Local Restore
źródło
Jeśli ktoś ma problem z zaimportowaniem Bacpaca bazy danych korzystającej z Azure SQL Sync , Sandrino Di Mattia opracował świetną, prostą aplikację, która rozwiązuje ten problem.
źródło
Jeśli ktoś chce darmowej i skutecznej opcji (i nie ma nic przeciwko robieniu tego ręcznie), aby wykonać kopię zapasową bazy danych do lokalnego, użyj schematu i funkcji porównywania danych wbudowanej w najnowszą wersję Microsoft Visual Studio 2015 Community Edition (bezpłatna) lub Professional / Premium / Ultimate wydanie. To działa jak urok!
Mam konto BizPark na platformie Azure i nie ma możliwości bezpośredniego tworzenia kopii zapasowych bazy danych bez płacenia. Znalazłem tę opcję w VS działa.
Odpowiedź pochodzi z https://stackoverflow.com/a/685073/6796187
źródło
Cześć, używam narzędzia SQLAzureMW do migracji i zarządzania bazą danych SQLAzure. Bardzo przydatny. Został pobrany z codeplex, ale obecnie nie jest dostępny, codeplex zostanie zamknięty, to samo narzędzie aplikacji jest teraz dostępne w GttHub. Poniższe łącze wyjaśnia, jak korzystać z tego narzędzia, a także udostępnia aplikację do pobrania.
https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md
źródło