Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Megjegyzés:
Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Használja inkább az Always On rendelkezésre állási csoportokat.
Szabályozza az adatbázis tükrözését egy adatbázis számára. Az adatbázis tükrözési opcióival megadott értékek mind az adatbázis másolataira, mind az egész adatbázis tükrözői alkalmajára vonatkoznak. Az ALTER DATABASE utasításhoz csak egy <database_mirroring_option> engedélyezett.
Megjegyzés:
Javasoljuk, hogy az adatbázis tükrözését a csúcsidőn kívül konfiguráld, mert a konfiguráció befolyásolhatja a teljesítményt.
Az ALTER DATABASE opciókért lásd: ALTER DATABASE. AZ ALTER DATABASE SET opciókért lásd: ALTER DATABASE SET Options.
Transact-SQL szintaxis konvenciók
Szemantika
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
}
Arguments
Fontos
A SET PARTNER vagy SET WITNESS parancs sikeresen teljesíthető be a belépéskor, de később megbukik.
Megjegyzés:
Az ALTER DATABASE adatbázis-tükrözési lehetőségek nem elérhetők egy zárt adatbázis esetén.
database_name Az adatbázis nevét kell módosítani?
PARTNER <partner_option> Szabályozza azokat az adatbázis tulajdonságait, amelyek meghatározzák az adatbázis tükröző szekciójának failover partnereit és viselkedésüket. Néhány PARTNER beállítási opció bármelyik partnerre beállítható; mások a fő szerverre vagy a tükörszerverre korlátozódnak. További információért lásd az alábbi egyéni PARTNER opciókat. A SET PARTNER záradék mindkét adatbázis példányát érinti, függetlenül attól, hogy melyik partnerre van megadva.
A SET PARTNER utasítás végrehajtásához mindkét partner végpontjainak ÁLLAPOTÁT START-ra kell állítani. Fontos megjegyezni azt is, hogy az adatbázis tükröző végpontja minden partnerszerver példányának SZEREPÉT vagy PARTNERRE, vagy ALL-ra kell állítani. A végpont meghatározásáról információért lásd: Adatbázis tükröző végpont létrehozása Windows hitelesítéshez. Az adatbázis tükröző végpontjának szerepének és állapotának megismeréséhez azon az instance-on, használja az alábbi Transact-SQL utasítást:
SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
<partner_option> ::=
Megjegyzés:
Csak egy <partner_option> engedélyezett a PARTNER BEÁLLÍTÁSI záradéka alapján.
'partner_server' Megadja egy SQL Server példányának szerverhálózati címét, amely egy új adatbázis-tükröző szekcióban failover partnerként működik. Minden munkamenethez két partner szükséges: az egyik fő szerverként indul, a másik pedig a tükör szerver. Javasoljuk, hogy ezek a partnerek különböző számítógépeken dolgozzanak.
Ez az opció minden partnernél egyszer van megadva. Egy adatbázis-tükröző szekció indításához két ALTER DATABASE adatbázis SET PARTNER = 'partner_server' utasítás szükséges. A sorrendjük jelentős. Először csatlakozz a tükörszerverhez, és a fő szerver példányt partner_server-ként jelöld meg (SET PARTNER ='principal_server'). Másodszor, csatlakozzunk a fő szerverhez, és a tükörszerver példányt partner_server-ként jelöljük meg (SET PARTNER ='mirror_server'); Ez egy adatbázis-tükröző ülést indít el e két partner között. További információért lásd: Adatbázis tükrözés beállítása.
A partner_server értéke egy szerverhálózati cím. Ez a következő szintaxissal rendelkezik:
TCP**://system-address<>:**<port>
where
- <a system-address> egy láncsor, például rendszernév, teljesen minősített domain név vagy IP-cím, amely egyértelműen azonosítja a célszámítógép-rendszert.
- <a port> egy portszám, amely a partner szerver példányának tükröző végpontjához van társítva.
További információért lásd: Szerver hálózati cím megadása – Adatbázis tükrözése.
Az alábbi példa szemlélteti a SET PARTNER = 'partner_server' klauzulatot:
'TCP://MYSERVER.mydomain.Adventure-Works.com:7777'
Fontos
Ha egy ülést az ALTER DATABASE utasítással állítanak be SQL Server Management Studio helyett, akkor az ülés alapértelmezés szerint teljes tranzakcióbiztonságra van állítva (a SAFETY FULL-ra van állítva), és magas biztonsági módban fut automatikus újratöltés nélkül. Az automatikus visszakapcsolódás engedélyezéséhez állítsunk be egy tanút; a nagy teljesítményű üzemmódhoz kapcsold ki a tranzakciós biztonságot (SAFETY OFF).
FAILOVER Manuálisan fail a fő szerver felett a tükörszerver felett. A FAILOVER-t csak a fő szerveren lehet megadni. Ez az opció csak akkor érvényes, ha a SAFETY beállítás FULL (az alapértelmezett).
A FAILOVER opcióhoz master adatbázis kontextusként kell megírni.
FORCE_SERVICE_ALLOW_DATA_LOSS Kényszeríti az adatbázis szolgáltatást a tüköradatbázisra, miután a fő szerver meghibásodik, az adatbázis szinkronizálatlan állapotban vagy szinkronizált állapotban, amikor nem történik meg automatikus failover.
Erősen javasoljuk, hogy csak akkor kényszerítsd a szolgáltatást, ha a fő szerver már nem fut. Ellenkező esetben egyes kliens továbbra is az eredeti fő adatbázishoz férhet hozzá az új fő adatbázis helyett. FORCE_SERVICE_ALLOW_DATA_LOSS csak a tükörszerveren érhető el, és csak az alábbi feltételek között:
- A fő szerver leállt.
- A WITNESS KIKAPCSOLVA van, vagy a tanú csatlakozik a tükörszerverhez.
Kényszerítsd a szolgáltatást csak akkor, ha hajlandó vagy kockáztatni az adatvesztést, hogy azonnal visszaállítsd a szolgáltatást az adatbázisba.
A kényszerítő szolgáltatás felfüggeszti az ülést, ideiglenesen megőrzi az eredeti fő adatbázisban lévő összes adatot. Amint az eredeti megbízó szolgálatba áll és képes kommunikálni az új fő szerverrel, az adatbázis-adminisztrátor folytathatja a szolgáltatást. Amikor a szekció folytatódik, az elküldetlen naplórekordok és a hozzá tartozó frissítések elvesznek.
OFF Eltávolít egy adatbázis tükröző ülést, és eltávolítja a tükrözést az adatbázisból. Bármelyik partnernél megadhatod az OFF (OFF). További információért lásd: a tükrözés eltávolításának hatásairól lásd: Adatbázis tükrözés eltávolítása.
RESUME Folytat egy felfüggesztett adatbázis-tükröző ülést. A RESUME-t csak a fő szerveren lehet megadni.
SAFETY { FULL | OFF } A tranzakciós biztonság szintjét állítja be. A SAFETY csak a fő szerveren lehet megadni.
Az alapértelmezett TELJES. Teljes biztonsággal az adatbázis tükröző ülés szinkronban fut ( magas biztonsági módban). Ha a SAFETY OFF állapotra van állítva, az adatbázis tükröző ülés aszinkron módon fut ( nagy teljesítményű módban).
A magas biztonsági mód viselkedése részben a tanútól függ, az alábbiakban:
Amikor a biztonsági beállítás TELJES, és tanú van beállítva az ülésre, az ülés magas biztonsági módban fut automatikus mentéssel. Amikor a fő szerver elveszik, a szekció automatikusan meghibásodik, ha az adatbázis szinkronizált, és a mirror szerver példány és a tanú továbbra is összekapcsolódnak egymással (azaz kvorummal rendelkeznek). További információért lásd: Quorum: Hogyan befolyásolja egy tanú az adatbázis elérhetőségét – Database Mirroring.
Ha egy tanú be van állítva az ülésre, de jelenleg nincs csatlakoztatva, a tükörszerver elvesztése miatt a fő szerver leáll.
Amikor a biztonsági beállítás TELJES, a tanú pedig KIKAPCSOLVA, az ülés magas biztonsági módban fut automatikus túlkapcsolás nélkül. Ha a tükörszerver példány leáll, a fő szerver példány nem érintett. Ha a fő szerver példány leáll, akkor a szolgáltatást (esetleg adatvesztéssel) kényszerítheted a tükörszerver példányra.
Ha a SAFETY OFF állapotban van, a munkamenet nagy teljesítményű üzemmódban fut, és az automatikus és manuális failover nem támogatott. Azonban a tükörrel kapcsolatos problémák nem érintik a fő szervert, és ha a fő szerver példány leáll, szükség esetén kényszerítheted a szolgáltatást (esetleg adatvesztéssel) a tükör szerver példányára – ha a WITNESS KIKAPCSOLVA van, vagy a Witness jelenleg csatlakozik a tükörhöz. További információért a szolgáltatás kényszerítéséről lásd a "FORCE_SERVICE_ALLOW_DATA_LOSS" szót a szakasz elején.
Fontos
A nagy teljesítményű mód nem tanú alkalmazására szolgál. Azonban amikor a SAFETY beállítást KIKAPCSOLVA, erősen javasoljuk, hogy győződjön meg róla, hogy a WITNESS KI legyen kapcsolva.
A SUSPEND egy adatbázis-tükröző ülést szünetet állít.
Bármelyik partnernél megadhatod a SZÜNTETÉST.
TIMEOUT egész szám Megadja az időkivonási időszakot másodpercekben. Az idő-kilépési időszak az a maximális idő, amíg egy szerverpéldány megvárja, hogy megkapja egy PING üzenetet egy másik példánytól a tükröző ülésben, mielőtt azt a másik példányt lecsatlakoztatná.
A TIMEOUT opciót csak a fő szerveren lehet megadni. Ha ezt az opciót nem megadod, alapértelmezés szerint 10 másodperc. Ha 5 vagy annál nagyobb időt adsz be, az időkorlát a megadott másodpercszámra van beállítva. Ha 0-4 másodperces időtúllépési értéket adsz be, az idő-kilépési időszak automatikusan 5 másodpercre van állítva.
Fontos
Javasoljuk, hogy az időtúllépési időtartamot 10 másodpercnél hosszabb ideig tartsa. Az érték 10 másodpercnél kevesebbre állítva azt eredményezi, hogy egy nagy terhelésű rendszer hiányzik a PING-ek, és hamis hibát jelentenek.
További információért lásd: Lehetséges hibák adatbázis-tükrözés közben.
WITNESS <witness_option> Szabályozza azokat az adatbázis-tulajdonságokat, amelyek egy tanút tükröző adatbázist határoznak meg. A SET WITNESS záradék mindkét adatbázis példányát érinti, de a SET WITNESS csak a fő szerveren lehet megadni. Ha tanút kijelölnek egy ülésre, kvorumnak kell szolgálnia az adatbázist, függetlenül a SAFETY beállítástól; További információért lásd: Quorum: Hogyan befolyásolja egy tanú az adatbázis elérhetőségét – Database Mirroring.
Javasoljuk, hogy a tanú és a túllépési partnerek külön számítógépeken legyenek. A tanúról szóló információkért lásd: Database Mirroring Witness.
A SET WITNESS utasítás végrehajtásához mind a fő, mind a tanúszerver instance végpontjainak ÁLLAPOTÁT START-ra kell állítani. Fontos megjegyezni azt is, hogy a tanúszerver példány adatbázis-tükröző végpontjának SZEREPÉT vagy WITNESS, vagy ALL-ra kell állítani. A végpont meghatározásáról további információkért lásd: Az Adatbázis tükröző végpont.
Az adatbázis tükröző végpontjának szerepének és állapotának megismeréséhez azon az instance-on, használja az alábbi Transact-SQL utasítást:
SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
Megjegyzés:
Adatbázis tulajdonságokat nem lehet beállítani a tanún.
<witness_option> ::=
Megjegyzés:
Csak egy <witness_option> engedélyezett a TANÚK ZÁRADÉKA alapján.
'witness_server' Megadja az adatbázis motorjának egy példányát, amely egy adatbázis-tükröző ülés tanúszervereként működik. A TANÚVALLOMÁSOKAT csak a fő szerveren lehet megadni.
Egy SET WITNESS = 'witness_server' állításban a witness_server szintaxisa megegyezik partner_server szintaxisával.
OFF Eltávolítja a tanút egy adatbázis-tükröző ülésből. A tanúk KIKAPCSOLÁS beállítása letiltja az automatikus újrakapcsolást. Ha az adatbázis TELJES BIZTONSÁGRA van állítva, és a tanú KIKAPCSOLVA, a tükörszerver hibája miatt a fő szerver elérhetetlenné teszi az adatbázist.
Megjegyzések
Példák
A. Adatbázis-tükröző ülés létrehozása egy tanúval
Az adatbázis tükröződésének beállítása egy tanúval megköveteli a biztonság konfigurálását és a tüköradatbázis előkészítését, valamint az ALTER DATABASE használatát a partnerek beállításához. A teljes beállítási folyamat példája lásd: Adatbázis tükrözés beállítása.
B. Manuális hiba egy adatbázis-tükröző ülés felett
A manuális failover bármelyik adatbázis-tükröző partnerről indítható. Mielőtt áthaladnánk, ellenőrizd, hogy az a szerver, amelyet jelenleg fő szervernek hisz, valóban a fő szerver. Például az AdventureWorks2025 adatbázis esetében, azon a szerver példányon, amelyet a jelenlegi fő szervernek gondolsz, hajtsd végre a következő lekérdezést:
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'AdventureWorks2022';
GO
Ha a szerver példány valóban a fő példány, akkor az értéke mirroring_role_descPrincipal. Ha ez a szerverpéldány a tükörszerver lenne, az utasítás SELECT visszaadná Mirror.
A következő példa feltételezi, hogy a szerver a jelenlegi fő.
Manuálisan failover az adatbázis tükröző partnerre:
ALTER DATABASE AdventureWorks2022 SET PARTNER FAILOVER; GOAz új tükör visszacsatolás eredményeinek ellenőrzéséhez hajtsuk végre a következő lekérdezést:
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'AdventureWorks2022'; GO
A jelenlegi értéke mirroring_role_desc most Mirror.