Udostępnij za pośrednictwem


Uaktualnianie danych warstwa aplikacji

Proces uaktualniania wdrożonym aplikacja warstwy danych (DAC) do nowej wersja jest prostsze niż przy użyciu skryptów wdrożyć bazy danych lub zmiany w bazie danych.Projektant bazy danych ma tylko do budowania pakiet DAC opis schematu i właściwości nowej wersja.Proces uaktualniania DAC porównuje nowego schematu do istniejącego schematu wdrożony i dynamicznie wykonuje operacje wymagane do zmiany do nowego schematu.

Proces uaktualniania

SQL Serveraplikacja warstwy danych Procesu uaktualniania konwertuje DAC wdrożonego na inną wersja tej samej aplikacji. Na przykład, aby uaktualnić finansów w wersja 1.0 do finansowania w wersja 2.0.Następujące kroki ilustrują procesu wdrażania proste:

  • Projektant bazy danych kończy rozwoju finansów w wersja 1.0 DAC i kompilacje FinanceVersion1.dacpac pakiet DAC.

  • Administrator bazy danych wdraża Finanse DAC 1.0 do produkcji.Wystąpienie produkcji aparat bazy danych ma teraz wdrożonym DAC, który ma nazwę aplikacji finansowania, wersja 1.0, i skojarzone bazy danych o nazwie Finanse.

  • Następnie Projektant bazy danych rozpoczyna pracę w następnej wersja, a po zakończeniu rozwoju tworzy FinanceVersion2.dacpac.

  • Administrator bazy danych planów DAC procesu uaktualniania.Oni tworzyć kopię zapasową bazy danych finansów.Ich przeglądanie zawartości pakiet DAC raportu czynności spowoduje uaktualnienie do zapewnienia nie powodują problemy w produkcyjnej bazie danych.

  • Administrator bazy danych, następnie wykonuje uaktualnienie DAC, określając zarówno z bieżącej wersja wdrożonym 1.0 DAC i pakiet DAC w wersja 2.0.Istnieją dwie opcje uaktualniania:

    • Wykonanie uaktualnienia w miejscu za pomocą skryptu Windows PowerShell, który wywołuje DAC IncrementalUpgrade() metoda.Uaktualnienia w miejscu zmienia schemat istniejącej bazy danych, aby dopasować on schematu zdefiniowane w nowej wersja DAC.

    • Uaktualnienia obok siebie za pomocą albo DAC Upgrade() metoda lub uaktualniania aplikacji warstwie danych kreatora.Uaktualnienie side-by-side tworzy nową bazę danych z nowego schematu i przenosi dane z oryginalnej bazy danych na nowy.

  • Po zakończeniu uaktualniania uaktualniony DAC nadal ma nazwę aplikacji finansów i skojarzone bazy danych o nazwie Finanse, ale teraz jest wersja DAC 2.0.

Zmienianie baz danych po wdrożeniu

Mówi, że baza danych ma drifted z jego skojarzony DAC, jeśli wprowadzone zmiany w bazie danych przy użyciu mechanizmu niektórych innych niż uaktualnienie DAC.Przykładami za pomocą instrukcja tworzenia WYZWALACZA, aby dodać nowy wyzwalacz lub zmiana struktury tabela przy użyciu instrukcja ALTER tabela.Niektóre typy zmian może uniemożliwić korzystanie w zależności od opcji uaktualnienia określonego procesu uaktualniania DAC.Zmiany nie zostaną w uaktualnionym bazy danych.

DAC uaktualnienia operacji kontroli różnic między schematu bieżącej bazy danych i definicji DAC, przechowywane w msdb systemowej bazy danych.Jeśli znajdzie różnice wystawia ostrzegawczego okna dialogowego zawierającego różnice.Tylko powinna kontynuować uaktualnianie, po analizie różnic zgłoszone i umieszczone w miejscu procesów lub skrypty, aby przenieść wszystkie obiekty lub danych nie można transferować uaktualnienia, ale są wymagane w nowym systemie.

Po zakończeniu uaktualniania baza danych zawiera wszystkie obiekty zdefiniowane w nowej wersja DAC oraz w formie określonej w nowym DAC.W większości przypadków będzie wymagane przez aplikacje związane z nową wersją DAC i bazy danych w wersja formularza.Należy ostrożnie raportów zmiana uaktualnienia i transfer tylko obiekty, które są potrzebne w nowym systemie.Na przykład nie możliwe błąd, jeśli nowy DAC brakuje kilku obiektów w bieżącej DAC i bazy danych.Może być skojarzony z funkcji, które zostały porzucone lub przeprojektowane w nowych wersjach aplikacji, które używają DAC.

W przypadku uaktualnienia w miejscu zmienione obiekty nie są zachowywane.Przed rozpoczęciem uaktualniania należy zapisać obiekt definicje i dane.Uaktualnienia przez siebie obiekty i dane są zachowywane w zmieniono nazwę oryginalnej bazy danych.Wszystkie zmienione obiekty muszą zostać przeniesione do nowej bazy danych ręcznie.

Aby uzyskać więcej informacji na temat pomysły, jak obiekty skryptu zostanie przeniesiona do nowej bazy danych, zobacz Jak Generowanie skryptu (SQL Server Management Studio).

Określić skrypty powdrożeniowe ze strony działu i wdrożeniem projektów DAC.To są skrypty języka Transact-SQL, które można wykonać każde akcja, w tym tworzenie obiektów nie jest obsługiwane w DAC.Jeżeli oryginalny konwerter DAC zawarte skrypt powdrożeniowe ze strony działu utworzone obiekty nie są obsługiwane w DAC, obiekty te muszą zostać uaktualnione osobno przy użyciu mechanizm umożliwiający dla tych obiektów opuszczonych podczas uaktualnienia w miejscu lub w lewo w oryginalnej bazie danych przez uaktualnienie obok siebie.

Uaktualnienia w miejscu

Uaktualnienia w miejscu wykonuje następujące akcje:

  • Weryfikuje wdrożonym DAC i pakiet DAC mają taką samą nazwę aplikacji (na przykład są obie nazwy zestaw na finansowanie).Ocenia również, czy wystąpienie aparatu bazy danych spełnia wymagania określone w zasadzie wybór serwera (jeśli została zdefiniowana) w nowej wersja DAC oraz czy istniejąca baza danych zawiera obiekty, które nie są obsługiwane w DAC.

  • Wykonuje wszystkie modyfikacje, takie jak instrukcji CREATE, ALTER i UPUSZCZANIA, musi dokonać schematu bazy danych pasuje do schematu zdefiniowane w nowej wersja DAC.

Jeśli Ignoruj utraty danych jest opcja zestaw do True, uaktualnienia DAC może wykonywać akcje, które należy usunąć dane.Na przykład jeśli w tabela istnieje w bieżącej bazie danych, ale nie w schematu nowe DAC, uaktualnienia spadnie tabela.Przed wykonaniem operacji, administrator bazy danych należy zarchiwizować dane, które mogą być potrzebne po uaktualnieniu.

Uaktualnienia w miejscu wymagają DAC Framework 1.1, który można pobrać z DAC Framework 1.1 Feature Pack strona.

Uaktualnienie obok siebie

Uaktualnienie side-by-side wykonuje następujące akcje:

  • Weryfikuje wdrożonym DAC i pakiet DAC mają taką samą nazwę aplikacji (na przykład są obie nazwy zestaw na finansowanie).Ocenia również, czy wystąpienie aparatu bazy danych spełnia wymagania określone w zasadzie wybór serwera (jeśli została zdefiniowana) w nowej wersja DAC oraz czy istniejąca baza danych zawiera obiekty, które nie są obsługiwane w DAC.

  • Wdraża nową wersja DAC z pakiet DAC.Spowoduje to utworzenie nowej bazy danych z tymczasową nazwą.

  • Ustawia oryginalnej bazy danych tylko do odczytu, jeśli nie jest już w trybie tylko do odczytu i kopiuje dane do nowej bazy danych.

  • Jeśli oryginalna baza danych w trybie tylko do odczytu, Nowa baza danych jest zestaw tylko do odczytu.

  • Oryginalna baza danych jest zmieniana przez dołączenie ciąg na końcu nazwy bazy danych.

  • Nowa baza danych jest przypisany oryginalna nazwa bazy danych.

  • Po administrator bazy danych potwierdziła nową bazę danych działa poprawnie, mogą zostać zarchiwizowane oryginalnej bazy danych.

Zmiany w bazie danych mogą wpływać na, czy dane w tabela jest przenoszony do nowej bazy danych.Tabele mogą być w tych państwach, dotyczące zmian w bazie danych:

  • Struktura tabela jest taka sama we wszystkich trzech lokalizacjach: bieżąca definicja DAC w msdb, bieżącej bazy danych i nowych DAC.tabela będzie obecna w nowej bazie danych, a operacja uaktualnienia będzie przesyłanie danych do nowej bazy danych.Przeniesienie jest wykonywane przy użyciu instrukcja INSERT oparte na SELECT starej tabela.

  • Tabela nie istnieje w bieżącej definicji DAC lub bazy danych, ale jest zdefiniowany w nowym DAC.tabela w nowej bazie danych, ale nie zawierają danych, ponieważ nie ma istniejących danych do transferu.

  • Tabela nie istnieje w bieżącej definicji DAC, ale istnieje w bieżącej bazie danych i nowych DAC.Tabela będzie obecna w nowej bazie danych, ale operacja uaktualnienia nie będzie transferu danych.Ręcznie przenieść dane po zakończeniu uaktualniania.

  • Tabela istnieje w bieżącej definicji DAC i bazy danych, ale nie w nowym DAC.Tabela nie będzie istnieć w nowej bazie danych.Jeśli tabela jest wymagany w nowym systemie, należy ręcznie utworzyć tabelę i transferu danych, po zakończeniu uaktualniania.

  • Tabela istnieje we wszystkich trzech lokalizacjach, ale strukturę tabeli w bieżącej definicji DAC i bazy danych różnią się od struktury tabeli w nowej DAC.Tabela będzie obecny w nowej bazie danych z struktury zdefiniowane w nowym DAC.

    • Jeśli tabela i kolumna nazwy nie pasują, operacja uaktualnienia zgłosi, że nie przekazała dane.Ręcznie przenieść dane po zakończeniu uaktualniania.

    • Jeśli nazwa tabela i kolumna nazwy są takie same, operacja uaktualnienia próbę transferu danych.Jeśli typ danych jednego lub kilku kolumn uległy zmianie i nie są zgodne, instrukcja INSERT zakończy się niepowodzeniem, co spowoduje, że proces uaktualniania do wycofać.

Każdy mechanizm umożliwia przesyłanie danych do nowej wersja tabela.Można użyć instrukcja INSERT, który wybiera starszej wersja tabela.Również można użyć jednej z technik Wstaw luzem, omówione w Importowanie i eksportowanie danych luzem.

Historia zmian

Zaktualizowana zawartość

Opisane uaktualnienia w miejscu wprowadzenia przez DAC Framework 1.1.Usunięcie zawartości zduplikowane w innych tematów.