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
Az SQL Server Merge Replication webes szinkronizációs opciója lehetővé teszi az adatok replikálását az interneten keresztüli HTTPS protokoll használatával. A webes szinkronizáció használatához először a következő konfigurációs lépéseket kell teljesíteniük:
Hozz létre új domain fiókokat és térképezd fel az SQL Server bejelentkezéseket.
Konfiguráld be azt a számítógépet, amely a Microsoft Internet Information Services (IIS) futással rendelkezik, hogy szinkronizálja az előfizetéseket.
Konfigurálj egy merge kiadványt, hogy lehetővé tegye a webes szinkronizációt.
Konfigurálj egy vagy több előfizetést a webes szinkronizáció használatára.
Note
Ha nagy adatmennyiséget szeretnél replikálni, vagy nagy adattípusokat, például varchar(max)-t használsz, olvasd el a témában a "Nagy adatmennyiségek replikálása" című szakaszt.
A webes szinkronizáció sikeres beállításához el kell döntened, hogyan konfigurálod a biztonságot az adott követelményeidnek és irányelveidnek megfelelően. Hozd meg ezeket a döntéseket, és hozd létre a szükséges fiókokat, mielőtt megpróbálnád konfigurálni az IIS-t, a kiadványt és az előfizetéseket.
Az alábbi eljárások egy egyszerűsített biztonsági konfigurációt írnak le, amely helyi fiókokat használ. Ez az egyszerűsített konfiguráció alkalmas olyan telepítésekhez, ahol az IIS, valamint a SQL Server Publisher és a Distributor ugyanazon a számítógépen fut, bár sokkal valószínűbb (és ajánlottabb), hogy többszerveres topológiát használsz egy gyártási telepítéshez. Az eljárásokban a helyi fiókokat tartományi fiókokkal helyettesítheted.
Új fiókok létrehozása és SQL Server bejelentkezések feltérképezése
A SQL Server replikációs figyelője (replisapi.dll) a replikációs webhelyhez társított alkalmazáskészlethez megadott fiókot megszemélyesítve csatlakozik a Közzétevőhöz.
Az SQL Server replikációs figyelőjéhez használt fióknak rendelkeznie kell a Merge Agent Security szakasz „Kapcsolódás a közzétevőhöz vagy a terjesztőhöz” című részében leírt jogosultságokkal. Összefoglalva, a fióknak:
Legyen tagja a Publikációs Hozzáférési Listának (PAL).
Legyen összerendelve a publikációs adatbázisban egy felhasználóhoz tartozó bejelentkezési azonosítóval.
Legyen hozzárendelve a disztribúciós adatbázisban egy felhasználóhoz társított bejelentkezési azonosítóhoz.
Rendelkezzen olvasási jogosultsággal a pillanatkép-megosztáshoz.
Ha ez az első alkalom, hogy SQL Server replikációt használsz, akkor fiókokat és bejelentkezéseket is létre kell hoznod a replikációs ügynökökhöz. További információért lásd a cikk "Kiadvány konfigurálása" és "Előfizetés konfigurálása" szekcióit.
Mielőtt beállítanád a webes szinkronizációt, olvasd el a cikk "Biztonsági legjobb gyakorlatok webes szinkronizációhoz" című szakaszt. További információért a webes szinkronizáció biztonságáról lásd: Security Architecture for Web Synchronization.
Az IIS-t futtató számítógép konfigurálása
A webes szinkronizáció megköveteli, hogy telepítse és konfigurálja az IIS-t. Szükséged van a replikációs weboldal URL-ére, mielőtt beállíthatnád a publikációt a webes szinkronizációra.
A webes szinkronizáció támogatott az IIS-en az 5.0-s verziótól kezdve. A Webszinkronizálás beállítására szolgáló varázsló nem támogatott az IIS 7.0-s verzióján. Az SQL Server 2012-es verziójától kezdve, ha az IIS-kiszolgálón szeretné használni a Web Sync összetevőt, telepítse az SQL Servert a replikációs szolgáltatással. Ez lehet az ingyenes SQL Server Express kiadás.
A webes szinkronizációhoz TLS szükséges. Szükséged van egy tanúsító tanúsítványra, amelyet egy tanúsító szervezet adott ki. Csak tesztelés céljából használhatsz önállóan kiadott biztonsági tanúsítványt.
Az IIS konfigurálásához webes szinkronizációhoz
SQL Server Management Studio: IIS konfigurálása webes szinkronizációhoz
SQL Server Management Studio: IIS 7 konfigurálása webes szinkronizációhoz
Webkert létrehozása
Az SQL Server Replication Listener két párhuzamos szinkronizációs műveletet támogat szálonként. Ennek a korlátnak a túllépése miatt a Replikációs Hallgató nem reagál. Az alkalmazáskészlet Maximum Worker Processes tulajdonsága határozza meg a replisapi.dll számára hozzárendelt szálak számát. Alapértelmezés szerint ez a tulajdonság 1-re van állítva.
A Maximum Worker Process tulajdonságérték növelésével támogathatod CPU-nként több egyidejű szinkronizációs műveletet. A CPU-nkénti munkafolyamatok számának növelésével megvalósított horizontális skálázást „Web Garden” létrehozásának nevezzük.
A webes kertészkedés lehetővé teszi, hogy egyszerre több mint két előfizető szinkronizáljon. Emellett növeli a replisapi.dllCPU kihasználtságát , ami negatívan befolyásolhatja a szerver teljesítményét. Egyensúlyban kell tartani ezeket a szempontokat, amikor a Maximum Worker Processs értéket választasz.
Az IIS 7 maximális munkafolyamatainak növelése
Az Internet Information Services (IIS) Managerben bővítse ki a helyi szervercsomópontot, majd kattintson az Application Pool csomópontra.
Válassza ki a webes szinkronizációs oldalhoz tartozó alkalmazáspoolt, majd kattintson a Műveletek panelen a Speciális beállítások gombra.
A Speciális beállítások párbeszédpanelen, a Folyamatmodell címsor alatt kattints a Munkafolyamatok maximális száma feliratú sorra. Változtasd meg az tulajdonság értékét, majd kattints az OK-ra.
A kiadvány konfigurálása
A webes szinkronizáció használatához ugyanúgy hozz létre egy publikációt, ahogy egy szabványos merge topológia kiadványt készítesz. További információ: Adatok és adatbázis-objektumok közzététele.
A kiadvány létrehozása után engedélyezze a webes szinkronizáció lehetőségét az alábbi módszerek egyikével: SQL Server Management Studio, Transact-SQL vagy Replication Management Objects (RMO). A webes szinkronizáció engedélyezéséhez megadni kell a webszerver címét az előfizetői kapcsolatokhoz.
Ha először használsz Publisher-t, akkor be kell állítanod egy forgalmazót és egy pillanatképmegosztást is. Minden előfizetőnél a Merge Agent-nek olvasási jogokkal kell rendelkeznie a snapshot megosztáson. További információkért lásd: A terjesztés konfigurálása és A pillanatkép mappa biztonságossá tétele.
a gen egy fenntartott szó a websync XML fájlokban. Ne próbálj táblázatokat közzétenni, amelyek gen nevű oszlopokat tartalmaznak.
Az előfizetés konfigurálása
Miután engedélyezted a kiadványt és konfiguráltad az IIS-t, hozz létre egy pull előfizetést, és határozd meg, hogy a pull előfizetés szinkronizáljon az IIS használatával. (A webes szinkronizáció csak pull előfizetéseknél támogatott.)
Frissítés egy korábbi SQL Server verzióból
Ha van egy meglévő webszinkronizációs topológiád beállítva, és frissíted az SQL Server-t, győződj meg róla, hogy a legújabb verzió replisapi.dll lemásolja a Web szinkronizáció által használt virtuális könyvtárba. Alapértelmezés szerint a(z) replisapi.dll legújabb verziója itt található: C:\Program Files\Microsoft SQL Server\<nnn>\COM.
Nagy mennyiségű adat replikálása
A memóriaproblémák elkerülése érdekében az előfizető számítógépeken a webes szinkronizáció alapértelmezett maximális méretet használ az XML fájl számára, amelyet a változások átviteléhez használnak. Emelje a korlátot a következő regiszterkulcs beállításával:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Replication
WebSyncMaxXmlSize DWORD 2000000
Ennek a kulcsnak az elfogadható értéktartománya 100 MB és 4 GB között van. Az érték KB-ben van megadva. Ha ezt a paramétert magas értékre állítod, az nem garantálja, hogy ilyen mennyiségű adatot tudsz szinkronizálni. A tényleges korlátot korlátozza, hogy mennyi folyamatos memória áll rendelkezésre az előfizető számítógépen. Ha 100 MB-nál nagyobb értéket kell elérni, fokozatosan növeld az értéket, és teszteld a memóriafogyasztást egy tipikus munkaterheléssel az Előfizetőn.
Az XML fájl maximális mérete 4 GB, de a replikáció a fájlból származó változásokat adagokban szinkronizálja. Az adatok és metaadatok maximális tételmérete 25 MB. Biztosítani kell, hogy minden tételben az adatok ne haladják meg körülbelül 20 MB-ot, ami lehetővé teszi a metaadatot és egyéb egyéb költségeket. Ez a határ a következő következményekkel jár:
Nem lehet olyan oszlopot replikálni, amely az adatokat és a metaadatokat 25 MB fölé növeli. Ez a korlát problémát jelenthet, amikor olyan sorokat replikálsz, amelyek nagy adattípusokat tartalmaznak, például varchar(max).
Ha nagy mennyiségű adatot replikálsz, lehet, hogy módosítanod kell a Merge Agent batch méretét.
Az egyesítés replikációjához szükséges tételméret generációkonként mérhető, amelyek cikkenkénti változások gyűjteményei. Használd a Merge Agent -DownloadGenerationsPerBatch és -UploadGenerationsPerBatch paramétereit, hogy meghatározd a generációk számát egy batchben. További információért lásd: Egyesítési replikációs ügynök .
Nagy adatmennyiség esetén minden egyes batching paraméterhez kis számot kell megadni. Kezdjük 10-es értékkel, majd hangolj az alkalmazás igényei és teljesítménye alapján. Általában ezeket a paramétereket egy ügynökprofilban adjuk meg. A profilokról további információt a replikációs ügynök profiljai című témakörben talál.
Biztonsági legjobb gyakorlatok a webes szinkronizációhoz
A webes szinkronizáció számos biztonsági beállítási lehetőséget kínál. Használja a következő megközelítést:
Az SQL Server Distributor és a Publisher ugyanazon a számítógépen működhet (ez tipikus beállítás a merge replikációhoz). Azonban telepítsd az IIS-t egy külön számítógépre.
Használd a Transport Layer Security (TLS), korábban Secure Sockets Layer (SSL) néven ismert rendszert, hogy titkosítsd a kapcsolatot az előfizető és az IIS-t futtató számítógép között. A webes szinkronizáció ezt a titkosítást igényli.
Használj Basic Authenticationt az előfizető és IIS közötti kapcsolatokhoz. Az Alap hitelesítés használatával az IIS kapcsolatot teremthet a Publisher/Distributor oldalán az Előfizető nevében anélkül, hogy delegációra lenne szükség. Delegálás szükséges, ha integrált hitelesítést használsz.
Note
Az alap hitelesítés az a módszer, amellyel az igazolványokat átadják az IIS-nek. Az alap hitelesítés nem akadályozza meg a Windows domain fiókok megadását az IIS-hez kötött kapcsolatokhoz.
Határozd meg, hogy a Snapshot Agent egy Windows domain fiók alatt fut, és megadja, hogy az ügynök ilyen fiókkal hozza létre a kapcsolatot. (Ez az alapértelmezett konfiguráció.) Határozd meg, hogy minden Merge Agent a felhasználó domainfiókja alatt fut, amely az Subscriber számítógépet használja, és megadja, hogy az ügynök ilyen fiókként hozza létre kapcsolatot.
További információért az ügynökök által megkövetelt jogosultságokról lásd : Replikációs ügynök biztonsági modell.
Megadja ugyanazt a domain fiókot, amit a Merge Agent használ, amikor megadja a fiókot és jelszót az Új Előfizetési Varázsló Webszerver információs oldalán, vagy amikor megadja a
@internet_urlsp_addpullsubscription_agent paramétereinek és@internet_loginparamétereinek értékeit. Ennek a fióknak olvasási jogokkal kell rendelkeznie a snapshot megosztáshoz.Minden kiadványnak külön virtuális könyvtárat kell használnia az IIS-hez.
Az a fiók, amelyen az SQL Server Replication Listener (
replisapi.dll) fut, egyben az a fiók is, amely a szinkronizáció során csatlakozik a Publisher és Distributor hozzá. Ezt a fiókot hozzá kell rendelni egy SQL Server-bejelentkezéshez a Publisheren és a Distributoron. További információért lásd az "Jogosultságok beállítása az SQL Server replikációs hallgatójához" szakaszban az IIS beállítása webszinkronizációhoz.Az FTP-vel továbbíthatod a Publisher pillanatképét az IIS-t futtató számítógépre. Az IIS-t futtató számítógép mindig HTTPS segítségével továbbítja a pillanatképet az Előfizetőnek. További információ: Pillanatképek átvitele FTP-vel.
Ha a replikációs topológiában lévő szerverek tűzfal mögött vannak, akkor lehet, hogy portokat kell nyitnod a tűzfalban a webes szinkronizáció engedélyezéséhez.
Az előfizető számítógép TLS segítségével csatlakozik ahhoz a számítógéphez, amely az IIS-t HTTPS-en futtatja, amely általában a 443-as portra van konfigurálva. Az SQL Server Compact Előfizetők HTTP-n keresztül is csatlakozhatnak, amelyet általában a 80-as port használatára konfigurálnak.
Az IIS-t futtató számítógép általában a Publisherhez vagy a Distributorhoz az 1433-as porton (alapértelmezett példány) keresztül csatlakozik. Ha a Publisher vagy Distributor egy nevelt példány egy szerveren, ahol egy másik alapértelmezett példány van, általában a 1500-as portot használják a megnevezett példányhoz való csatlakozáshoz.
Ha az IIS-t futtató számítógépet tűzfal választja el a Distributortól, és FTP megosztást használnak a snapshot továbbításhoz, akkor ki kell nyitnod az FTP-hez használt portokat. További információ: Pillanatképek átvitele FTP-vel.
Important
A tűzfal portok megnyitása kártékony támadásoknak teheti ki a kiszolgálót. A portok megnyitása előtt győződjön meg arról, hogy ismeri a tűzfalrendszereket. További információkért tekintse meg az SQL Server telepítésével kapcsolatos biztonsági szempontokat.