ALTER DATABASE dublowanie bazy danych (języka Transact-SQL)

Baza danych formantów dublowanie bazy danych.Wartości określone w bazie danych dublowanie opcje dotyczą obu kopii bazy danych i do dublowanie bazy danych sesja jako całości.Tylko jeden <database_mirroring_option> jest dozwolona na instrukcja ALTER DATABASE.

Uwaga

Firma Microsoft zaleca, aby skonfigurować dublowanie bazy danych poza godzinami szczytu, ponieważ konfiguracja może wpływać na wydajność.

Aby uzyskać informacje na temat dublowanie bazy danych zobacz Database Mirroring Administration. Zobacz inne opcje instrukcji ALTER DATABASE ALTER DATABASE języka Transact-SQL). Zobacz inne opcje instrukcji ALTER DATABASE zestaw ALTER DATABASE SET Options (Transact-SQL).

Topic link iconKonwencje składni języka Transact-SQL

ALTER DATABASE database_name 
SET { <partner_option> | <witness_option> }
    <partner_option> ::=
    PARTNER { = 'partner_server' 
            | FAILOVER 
            | FORCE_SERVICE_ALLOW_DATA_LOSS
            | OFF
            | RESUME 
            | SAFETY { FULL | OFF }
            | SUSPEND 
            | TIMEOUT integer
            }
    <witness_option> ::=
    WITNESS { = 'witness_server' 
            | OFF 
            }

Argumenty

Important noteImportant Note:

Polecenie zestaw PARTNER lub zestaw dowód może zakończyć się pomyślnie, gdy wprowadzono, ale później zakończyć się niepowodzeniem.

  • database_name
    Jest nazwą bazy danych, które zostaną zmodyfikowane.

  • PARTNER < partner_option >
    Właściwości bazy danych, które definiują partnerów pracy awaryjnej kontroluje dublowanie bazy danych sesja i ich zachowanie.Niektóre opcje zestaw PARTNER mogą być ustawiane dla obu partnerów; inne są ograniczone do serwer główny lub na serwerze dublowania.Aby uzyskać więcej informacji zobacz poszczególne opcje PARTNER, które należy wykonać.Klauzula zestaw PARTNER ma wpływ na obu kopii bazy danych, niezależnie od partnera, na którym został on określony.

    wykonać instrukcja zestaw PARTNER, należy ustawić stan punkty końcowe w obu partnerów do uruchomiono.Zauważ, że roli punktu końcowego dublowanie bazy danych wszystkich partnerów serwera wystąpienie musi być ustawiony na PARTNER lub ALL.Aby uzyskać informacje dotyczące sposobu określania punktu końcowego zobacz How to: Create a Mirroring Endpoint for Windows Authentication (Transact-SQL). Aby dowiedzieć się, roli i stan dublowanie bazy danych punktu końcowego w wystąpieniu serwera, w takim przypadku należy użyć następujących wpisów Transact-SQL instrukcja:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
    

    <partner_option> ::=

    Uwaga

    Tylko jeden <partner_option> jest dozwolona dla klauzula zestaw PARTNER.

    • 'partner_server'
      Określa adres sieciowy serwera wystąpienie SQL Server do działania jako partner pracy awaryjnej w nowym dublowanie bazy danych sesja. Każda sesja wymaga dwóch partnerów: rozpoczyna się jeden jako serwer główny, a drugi zostanie uruchomiony jako serwer dublowany. Zaleca się, że partnerzy te znajdują się na różnych komputerach.

      Opcja ta jest określona jeden raz w ciągu danej sesja na poszczególnych partner.Initiating a database mirroring session requires two ALTER DATABASE database SET PARTNER ='partner_server' statements.Ich kolejność jest istotna.First, connect to the mirror server, and specify the principal server instance as partner_server (SET PARTNER ='principal_server').Second, connect to the principal server, and specify the mirror server instance as partner_server (SET PARTNER ='mirror_server'); this starts a database mirroring session between these two partners.Aby uzyskać więcej informacji zobaczSetting Up Database Mirroring.

      Wartość partner_server jest adres sieciowy do serwera. Ta ma następującą składnię:

      TCP**://<adres systemu >: port**< >

      gdzie

      • <adres systemu> jest ciągiem znaków, takie jak nazwa systemu, w pełni kwalifikowanej nazwy domena lub adres IP, który jednoznacznie identyfikuje system komputerowy obiekt docelowy.

      • <Port> jest numerem portu, który jest skojarzony z punktem końcowym dublowanie wystąpienie serwera partner.

      Aby uzyskać więcej informacji zobaczSpecifying a Server Network Address (Database Mirroring).

      The following example illustrates the SET PARTNER ='partner_server' clause:

      'TCP://MYSERVER.mydomain.Adventure-Works.com:7777'
      
      Important noteImportant Note:

      Jeśli sesja jest zestaw się przy użyciu instrukcja ALTER DATABASE zamiast SQL Server Management Studio, sesja jest zestaw transakcji pełnego bezpieczeństwa domyślnie (bezpieczeństwa jest zestaw do FULL) i działa w trybie wysokiego bezpieczeństwa bez automatyczna praca awaryjna. Aby zezwolić na automatyczna praca awaryjna, skonfigurować świadka; Uruchom w trybie wysokiej wydajności, należy wyłączyć bezpieczeństwo transakcji (bezpieczeństwa OFF).

    • PRACA AWARYJNA
      Ręcznie pracy awaryjnej serwer główny, który ma serwer dublowany.Można określić pracę AWARYJNĄ tylko serwer główny.Ta opcja jest prawidłowa tylko wtedy, gdy ustawienie bezpieczeństwa jest FULL (ustawienie domyślne).

      Opcja pracy AWARYJNEJ wymaga wzorzec jako kontekstu bazy danych.

      Aby uzyskać więcej informacji zobaczManual Failover.

    • FORCE_SERVICE_ALLOW_DATA_LOSS
      Wymusza bazy danych usług do lustrzana baza danych po awarii serwer główny z bazy danych w stanie niezsynchronizowane lub w stanie zsynchronizowane, podczas automatyczna praca awaryjna nie występuje.

      Firma Microsoft zdecydowanie zaleca się wymusić usługa tylko wtedy, gdy serwer główny nie jest już uruchomiony.W przeciwnym razie niektórzy klienci mogą nadal uzyskać dostęp do oryginalnego główna baza danych zamiast nowej główna baza danych.

      Jest dostępna tylko na FORCE_SERVICE_ALLOW_DATA_LOSS serwer dublowany i tylko na wszystkie następujące warunki:

      • Serwer główny jest niedziałający.

      • DOWÓD jest zestaw do OFF dowód jest połączony z serwer dublowany.

      Wymuś usługa tylko wtedy, gdy chcesz wiąże się z ryzykiem utraty danych w celu przywrócenia usługa bezpośrednio do bazy danych.Aby uzyskać informacje na temat rozwiązania alternatywne w stosunku do wymuszania usługa Zobacz Asynchronous Database Mirroring (High-Performance Mode).

      Wymuszanie usługa zawiesza sesja, tymczasowo zachowania wszystkich danych w oryginalnej bazie danych głównych.Oryginalny podmiot jest w stanie komunikować się z nowym i usługa serwer główny, administrator bazy danych można wznowić usługa.Podczas wznawiania działania w sesja, wszystkie rekordy dziennika nie wysłane i odpowiadające im aktualizacje zostaną utracone.

      Aby uzyskać więcej informacji na temat zagrożeń wymuszenia usługa Zobacz Forced Service (with Possible Data Loss).

    • WYŁĄCZANIE
      Usuwa dublowanie bazy danych sesja i usuwa dublowania z bazy danych.Można określić OFF w obu partner.Aby uzyskać informacje Zobacz temat wpływu Usuwanie dublowanie, zobacz Removing Database Mirroring.

    • WZNÓW
      Wznawia zawieszone dublowanie bazy danych sesja.Można określić RESUME tylko serwer główny.

    • BEZPIECZEŃSTWO {PEŁNEGO | WYŁĄCZONA}
      Ustawia poziom bezpieczeństwa transakcji.BEZPIECZEŃSTWA można określić tylko serwer główny.

      Wartość domyślna to FULL.Z pełnego bezpieczeństwa dublowanie bazy danych sesja jest uruchamiana synchronicznie (w trybie wysokiego bezpieczeństwa).Jeśli jest bezpieczeństwa zestaw do OFF, dublowanie bazy danych sesja działa asynchronicznie (w Tryb wysokiej wydajności).

      Zachowanie w trybie wysokiego bezpieczeństwa zależy częściowo dowód, w następujący sposób:

      • Gdy jest bezpieczeństwo zestaw FULL i świadka jest zestaw dla tej sesji, sesja jest uruchamiany w trybie wysokiego bezpieczeństwa z automatyczna praca awaryjna.Kiedy serwer główny zostanie przerwane, sesja automatycznie awaryjnej Jeśli jest synchronizowane z bazą danych i serwer dublowany wystąpienie i dowód nadal są połączone ze sobą (to znaczy mają kworum).Aby uzyskać więcej informacji zobaczQuorum: How a Witness Affects Database Availability.

        Jeśli świadka jest ustawiony dla tej sesja, ale jest obecnie rozłączone, spowoduje utratę serwer dublowany serwer główny przejść niedziałający.

      • Gdy jest bezpieczeństwo zestaw FULL i dowód jest zestaw do OFF, sesja działa w trybie wysokiego bezpieczeństwa bez automatyczna praca awaryjna.Jeśli nie jest wystąpieniem serwer dublowany niedziałający, nie wpływa to wystąpienie serwer główny.Jeśli nie jest wystąpieniem serwer główny niedziałający, można wymusić usługa (o możliwości utraty danych) do dublowania wystąpienie serwera.

      Jeśli jest bezpieczeństwa zestaw do OFF, sesja działa w trybie wysokiej wydajności i pracy awaryjnej automatycznego i ręcznego pracy awaryjnej nie są obsługiwane.Jednak problemy z woluminu dublowanego nie mają wpływu na głównej i jeśli wystąpienie serwer główny ulegnie uszkodzeniu, można w razie potrzeby wymusić usługa (o możliwości utraty danych) do wystąpienia serwer dublowany — Jeśli jest dowód zestaw do OFF lub dowód jest aktualnie podłączony do niego dysku dublowanego.Aby uzyskać więcej informacji na temat wymuszania usługa Zobacz „ FORCE_SERVICE_ALLOW_DATA_LOSS"wcześniej w tej sekcji.

      Important noteImportant Note:

      Tryb wysokiej wydajności nie jest przeznaczony do używania świadka.Niemniej jednak, za każdym razem, gdy użytkownik zestaw bezpieczeństwa na OFF, stanowczo zaleca się upewnić, że dowód jest zestaw na OFF.

      Aby uzyskać więcej informacji zobacz Transact-SQL Settings and Database Mirroring Operating Modes.

    • WSTRZYMANIE
      Wstrzymuje dublowanie bazy danych sesja.

      Można określić WSTRZYMANIA na obu partner.

    • TIMEOUT integer
      Określa limit czas w sekundach.Limit czasu jest maksymalny czas, przez który wystąpienie serwera oczekuje wiadomość PING z innej instancji dublowanie sesja przed uwzględnieniem tego wystąpienia, aby się rozłączyć.

      Można określić opcję TIMEOUT tylko serwer główny.Jeśli opcja ta domyślnie nie zostanie określony, okres wynosi 10 sekund.Jeśli określisz 5 lub nowszego, limit czas jest zestaw do określonej liczby sekund.Jeśli określisz limit czas od 0 do 4 sekund limitu czas jest automatycznie ustawiana na 5 sekund.

      Important noteImportant Note:

      Firma Microsoft zaleca, aby zachować limitu czas na 10 sekund lub nowszego.Ustawienie wartości mniejszej niż 10 sekund powoduje utworzenie możliwości silnie ładowany system brak polecenia ping i zgłaszania fałszywych awarii.

      Aby uzyskać więcej informacji zobaczPossible Failures During Database Mirroring.

  • OBECNOŚCI witness_option < >
    Określa właściwości bazy danych, które definiują dublowanie bazy danych dowód.Klauzula zestaw dowód wpływa na obu kopii bazy danych, ale można określić zestaw dowód tylko serwer główny.Jeśli jest świadka zestaw sesja, kworum jest wymagana do obsługi baz danych, niezależnie od bezpieczeństwa zestaw ting; Aby uzyskać więcej informacji, zobacz Quorum: How a Witness Affects Database Availability.

    Zaleca się, że partnerzy dowód i pracy awaryjnej znajdują się na oddzielnych komputerach.Aby uzyskać informacje na temat dowód zobacz Database Mirroring Witness. Aby uzyskać informacje na temat automatyczna praca awaryjna Zobacz Automatic Failover.

    wykonać instrukcja zestaw dowód, należy ustawić stan punkty końcowe wystąpienia serwera głównego i dowód do uruchomiono.Zauważ, że Rola punktu końcowego w wystąpieniu serwer monitora dublowanie bazy danych musi być zestaw dowód lub ALL.Aby uzyskać informacje dotyczące określania punktu końcowego zobacz Database Mirroring Endpoint.

    Aby dowiedzieć się, roli i stan dublowanie bazy danych punktu końcowego w wystąpieniu serwera, w takim przypadku należy użyć następujących wpisów Transact-SQL instrukcja:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
    

    Uwaga

    Nie zestaw właściwości bazy danych na dowód.

    <witness_option> ::=

    Uwaga

    Tylko jeden <witness_option> jest dozwolona dla klauzula zestaw dowód.

    • 'witness_server'
      Określa wystąpienie Database Engine do działania jako serwer monitora dublowanie bazy danych sesja. Instrukcje zestaw dowód można określić tylko serwer główny.

      In a SET WITNESS ='witness_server' statement, the syntax of witness_server is the same as the syntax of partner_server.

    • WYŁĄCZANIE
      Usuwa dowód z dublowanie bazy danych sesja.Ustawienie dowód na OFF Wyłącza automatyczna praca awaryjna.Jeśli baza danych jest zestaw FULL bezpieczeństwa i dowód jest zestaw do OFF, błąd na serwerze lustrzany powoduje głównych serwera uniemożliwić dostęp do bazy danych.

Przykłady

A.Tworzenie sesja z świadka dublowanie bazy danych

Konfigurowanie dublowanie bazy danych świadka wymaga konfigurowania zabezpieczeń i przygotowywanie lustrzana baza danych, a także ustawianie partnerów za pomocą instrukcji ALTER DATABASE.Przykład procesu instalacji można znaleźć w temacie Setting Up Database Mirroring.

B.Niepowodzenie ręcznie za pośrednictwem sesja dublowanie bazy danych

ręczna praca awaryjna może zostać zainicjowane z jednej dublowanie bazy danych partner.Przed nad, należy sprawdzić, czy serwer uważasz, że bieżący serwer główny rzeczywiście jest serwerem głównym.Na przykład w przypadku AdventureWorks bazy danych, w tym wystąpienie serwera, które uważasz, że jest to bieżący serwer główny, należy wykonać następujące kwerendy:

SELECT db.name, m.mirroring_role_desc 
FROM sys.database_mirroring m 
JOIN sys.databases db
ON db.database_id = m.database_id
WHERE db.name = N'AdventureWorks'; 
GO

Jeśli wystąpienie serwera jest w rzeczywistości spłaty kapitału, wartość mirroring_role_desc jest Principal. Gdyby serwer dublowany, to wystąpienie serwera SELECT instrukcja zwróci w takim przypadku Mirror.

W poniższym przykładzie założono, że serwer jest główny bieżącej.

  1. Ręcznie praca awaryjna w bazie danych, dublowanie partner:

    ALTER DATABASE AdventureWorks SET PARTNER FAILOVER;
    GO
    
  2. Aby sprawdzić wyniki pracy awaryjnej na nowe dublowanie, wykonaj następującą kwerendę:

    SELECT db.name, m.mirroring_role_desc 
    FROM sys.database_mirroring m 
    JOIN sys.databases db
    ON db.database_id = m.database_id
    WHERE db.name = N'AdventureWorks'; 
    GO
    

    Bieżąca wartość mirroring_role_desc jest teraz Mirror.