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 Data Files a Microsoft Azure-ban lehetővé teszi a blobokként tárolt SQL Server-adatbázisfájlok natív támogatását. Lehetővé teszi, hogy a helyszíni vagy a Microsoft Azure-beli virtuális gépen futó SQL Serveren hozzon létre egy adatbázist az adatok dedikált tárolási helyével a Microsoft Azure Blob Storage-ban. Emellett leegyszerűsíti az adatbázisok gépek közötti áthelyezését is. Az adatbázisokat leválaszthatja az egyik gépről, és csatolhatja őket egy másik géphez. Emellett alternatív tárolási helyet is biztosít az adatbázis biztonsági mentési fájljaihoz azáltal, hogy lehetővé teszi a Microsoft Azure Storage-ból vagy a Microsoft Azure Storage-ba való visszaállítást. Ezért számos hibrid megoldást tesz lehetővé azáltal, hogy számos előnnyel jár az adatvirtualizálás, az adatáthelyezés, a biztonság és a rendelkezésre állás, valamint a magas rendelkezésre állás és a rugalmas skálázás egyszerű alacsony költségei és karbantartása szempontjából.
Fontos
A rendszeradatbázisok tárolása az Azure Blob Storage-ban nem ajánlott, és nem támogatott.
Ez a cikk olyan fogalmakat és szempontokat mutat be, amelyek központi szerepet jelentenek az SQL Server-adatfájlok Microsoft Azure Storage Service-ben való tárolásában.
Gyakorlati tapasztalat a funkció használatáról : Oktatóanyag: A Microsoft Azure Blob Storage használata SQL Server-adatbázisokkal.
Miért érdemes SQL Server-adatfájlokat használni a Microsoft Azure-ban?
Egyszerű és gyors migrálási előnyök: Ez a funkció leegyszerűsíti az áttelepítési folyamatot azáltal, hogy egyszerre egy adatbázist helyez át a helyszíni gépek, valamint a helyszíni és a felhőbeli környezetek között, alkalmazásmódosítások nélkül. Ezért támogatja a növekményes migrálást a meglévő helyszíni infrastruktúra fenntartása mellett. Emellett a központosított adattárhoz való hozzáférés leegyszerűsíti az alkalmazás logikáját, ha egy alkalmazásnak több helyen kell futnia egy helyszíni környezetben. Bizonyos esetekben előfordulhat, hogy gyorsan be kell állítania a számítógépközpontokat földrajzilag elosztott helyeken, amelyek számos különböző forrásból gyűjtenek adatokat. Az Azure Data Files használatával az adatok egyik helyről a másikra való áthelyezése helyett számos adatbázist tárolhat Microsoft Azure-lapblobokként, majd Transact-SQL szkriptek futtatásával adatbázisokat hozhat létre a helyi gépeken vagy virtuális gépeken.
Költség- és korlátlan tárolási előnyök: Ez a funkció lehetővé teszi, hogy korlátlan helyszíni tárolóval rendelkezzen a Microsoft Azure-ban, miközben a helyszíni számítási erőforrásokat használja. Ha a Microsoft Azure-t tárolóhelyként használja, egyszerűen összpontosíthat az alkalmazáslogikára a hardverkezelés többletterhelése nélkül. Ha a helyszínen elveszíti a számítási csomópontot, újat állíthat be adatáthelyezés nélkül.
Magas rendelkezésre állási és vészhelyreállítási előnyök: Az SQL Server Data Files használata a Microsoft Azure szolgáltatásban leegyszerűsítheti a magas rendelkezésre állási és vészhelyreállítási megoldásokat. Ha például egy Microsoft Azure-beli virtuális gép vagy egy SQL Server-példány összeomlik, újra létrehozhatja az adatbázisokat egy új SQL Server-példányban úgy, hogy újra létrehozza a blobokra mutató hivatkozásokat.
Biztonsági előnyök: Az Azure-beli SQL Server-adatfájlokkal elválaszthat egy számítási példányt egy tárpéldánytól. Teljes mértékben titkosított adatbázissal rendelkezhet, amelynek visszafejtése csak számítási példányon történik, tárpéldányban azonban nem. Más szóval a nyilvános felhőben lévő összes adatot transzparens adattitkosítási (TDE) tanúsítványokkal titkosíthatja, amelyek fizikailag elkülönülnek az adatoktól. A TDE-kulcsok tárolhatók az
masteradatbázisban, amelyet helyileg tárol a fizikailag biztonságos helyszíni számítógépen, és helyileg biztonsági másolatot készít. Ezekkel a helyi kulcsokkal titkosíthatja a Microsoft Azure Storage-ban található adatokat. Ha a felhőbeli tárfiók hitelesítő adatait ellopják, az adatok továbbra is biztonságban maradnak, mivel a TDE-tanúsítványok mindig a helyszínen találhatók.Pillanatkép biztonsági mentése: Ez a funkció lehetővé teszi az Azure-pillanatképek használatát, hogy szinte azonnali biztonsági mentéseket és gyorsabb visszaállításokat biztosítson az Azure Blob Storage-ban tárolt adatbázisfájlokhoz. Ez a funkció lehetővé teszi a biztonsági mentési és visszaállítási szabályzatok egyszerűsítését. További információ: File-Snapshot Biztonsági másolatok adatbázisfájlokhoz az Azure.
Fogalmak és követelmények
Az Azure-lemezek kompatibilisek a nagyvállalati szintű üzletmenet-folytonossági és vészhelyreállítási megoldásokkal. Ha az adatbázisokat közvetlenül blobokon vagy Az Azure Premium Filesban tárolja, az adatok nem lesznek automatikusan társítva a virtuális géppel az infrastruktúra, a felügyelet és a figyelés céljából.
Az adatbázisfájlok lapblobokra helyezése fejlettebb funkció, mint az Azure Disks használata, amely egyszerű és felhasználóbarát.
Az alapvető útmutató az Azure Disks használata, kivéve, ha van olyan forgatókönyve, amelyben valóban el kell kerülnie az adatok másolatának létrehozását a biztonsági mentésekhez, vagy az adatméretű műveletként történő visszaállítást. A magas rendelkezésre állás és vészhelyreállítás érdekében a rendszeres biztonsági mentés URL-címre vagy a Blob Storage-ba történő felügyelt biztonsági mentés sokkal hasznosabb, mint a fájlok pillanatképeinek biztonsági mentése, mivel életciklus-kezelést, többrégiós támogatást, visszavonható törlést és a Blob Storage összes további funkcióját használhatja a biztonsági mentésekhez.
Az Azure Storage fogalmai
Az SQL Server Data Files Azure-ban való használatakor létre kell hoznia egy tárfiókot és egy tárolót az Azure-ban. Ezután létre kell hoznia egy SQL Server-hitelesítő adatot, amely tartalmazza a tároló házirendjének adatait, valamint a tároló eléréséhez szükséges közös hozzáférési aláírást.
A MicrosoftAzure-ban az Azure Storage-fiók a blobok eléréséhez használt névtér legmagasabb szintjét jelöli. A tárfiókok korlátlan számú tárolót tartalmazhatnak, feltéve, hogy teljes méretük nem éri el a tárterület korlátait. A tárterületkorlátokkal kapcsolatos legfrissebb információkért tekintse meg az Azure előfizetési és szolgáltatási korlátait, kvótáit és korlátait. A tároló blobkészletek csoportosítását biztosítja. Minden blobnak tárolóban kell lennie. A fiókok korlátlan számú tárolót tartalmazhatnak. Hasonlóképpen, a tároló korlátlan számú blobot tárolhat.
Az Azure Storage-ban kétféle blob tárolható: blokk- és lapblobok. Ez a funkció lapblobokat használ, amelyek hatékonyabbak, ha a fájlban lévő bájttartományokat gyakran módosítják. A blobok a következő URL-formátumban érhetők el: https://storageaccount.blob.core.windows.net/<container>/<blob>.
Megjegyzés:
Az SQL Server-adatfájlokhoz nem használhat blokkblobokat. Használjon lapblobokat.
Az Azure számlázási szempontjai
Az Azure Services használatának költségeinek becslése fontos kérdés a döntéshozatali és tervezési folyamatban. Ha SQL Server-adatfájlokat tárol az Azure Storage-ban, a tárolással és a tranzakciókkal kapcsolatos költségeket kell fizetnie. Emellett az SQL Server Data Files Azure Storage-szolgáltatásban való implementálásához 45–60 másodpercenként implicit módon meg kell újítani a blobbérletet. Ez adatbázisfájlonkénti tranzakciós költségeket is eredményez, például .mdf vagy .ldf. Az Azure Díjszabás lapján található információk segítségével megbecsülheti az Azure Storage és az Azure Virtual Machines használatával kapcsolatos havi költségeket.
AZ SQL Server fogalmai
Azure-lapblobok használata SQL Server-adatfájlokhoz:
Hozzon létre egy szabályzatot egy tárolón, és hozzon létre egy közös hozzáférésű jogosultságkódot (SAS).
Az adatok vagy naplófájlok által használt tárolókhoz hozzon létre egy SQL Server-hitelesítő adatot, amelynek a neve megegyezik a tároló elérési útjának nevével.
Az Azure Storage-tárolóval, a kapcsolódó házirend nevével és SAS-kulcsával kapcsolatos információkat az SQL Server hitelesítőadat-tárolójában tárolhatja.
Az alábbi példa feltételezi, hogy létrejött egy Azure Storage-tároló, és létrejött egy szabályzat olvasási, írási és listázási jogosultságokkal. Egy tároló házirendjének létrehozása létrehoz egy SAS-kulcsot, amely biztonságosan titkosítatlan marad a memóriában, és amelyre az SQL Servernek szüksége van a tároló blobfájljainak eléréséhez.
Az alábbi kódrészletben cserélje le a '<your SAS key>' a SAS-kulcsra. Az SAS-kulcs így 'sr=c&si=<MYPOLICYNAME>&sig=<THESHAREDACCESSSIGNATURE>'fog kinézni.
CREATE CREDENTIAL [https://testdb.blob.core.windows.net/data]
WITH IDENTITY='SHARED ACCESS SIGNATURE',
SECRET = '<your SAS key>'
CREATE DATABASE testdb
ON
( NAME = testdb_dat,
FILENAME = 'https://testdb.blob.core.windows.net/data/TestData.mdf' )
LOG ON
( NAME = testdb_log,
FILENAME = 'https://testdb.blob.core.windows.net/data/TestLog.ldf')
Fontos
Ha egy tárolóban aktív hivatkozás található az adatfájlokra, a megfelelő SQL Server-hitelesítő adatok törlésének kísérlete meghiúsul.
További információ: Az Azure Storage-erőforrásokhoz való hozzáférés kezelése
Biztonság
Az SQL Server Data Files Azure Storage-ban való tárolása során a következők biztonsági szempontokat és követelményeket kell figyelembe venni.
Az Azure Blob Storage tárolójának létrehozásakor javasoljuk, hogy állítsa be a privát hozzáférését. Ha beállítja a privát, tároló- és blobadatokhoz való hozzáférést, csak az Azure-fiók tulajdonosa olvashatja.
Sql Server-adatbázisfájlok Azure Storage-ban való tárolásakor közös hozzáférési aláírást kell használnia, amely egy URI, amely korlátozott hozzáférési jogosultságokat biztosít a tárolókhoz, blobokhoz, üzenetsorokhoz és táblákhoz. Megosztott hozzáférésű jogosultságkód használatával engedélyezheti, hogy az SQL Server az Azure Storage-fiókkulcs megosztása nélkül férhessen hozzá a tárfiók erőforrásaihoz.
Javasoljuk továbbá, hogy folytassa az adatbázisok hagyományos helyszíni biztonsági eljárásainak implementálását.
Telepítési előfeltételek
Az alábbi telepítési előfeltételek szükségesek az SQL Server Data Files Azure-ban való tárolásához.
Helyszíni SQL Server: Az SQL Server 2016 és újabb verziói tartalmazzák ezt a funkciót. Az SQL Server legújabb verziójának letöltéséről az SQL Serverben olvashat.
Azure-beli virtuális gépen futó SQL Server: Ha azure-beli virtuális gépen telepíti az SQL Servert, telepítse az SQL Server 2016-ot, vagy frissítse a meglévő példányt. Hasonlóképpen létrehozhat egy új virtuális gépet is az Azure-ban az SQL Server 2016 platformrendszerképének használatával.
Korlátozások
Az SQL Server számítási feladatainak teljesítményjellemzői miatt az SQL Server-adatfájlok lapblobokként vannak implementálva az Azure Blob Storage-ban. Más típusú blobtárolók, például blokkblobok vagy Azure Data Lake Storage nem támogatottak.
A funkció jelenlegi kiadásában a FileStream-adatok tárolása az Azure Storage-ban nem támogatott. A FileStream-adatokat olyan adatbázisban is tárolhatja, amely az Azure Storage-ban tárolt adatfájlokat is tartalmazza, de minden FileStream-adatfájlt helyi tárolóban kell tárolni. Mivel a FileStream-adatoknak helyi tárolón kell lenniük, nem helyezhetők át az Azure Storage-t használó gépek között, ezért javasoljuk, hogy továbbra is használja a hagyományos technikákat a FileStreamhez társított adatok különböző gépek közötti áthelyezéséhez.
Jelenleg csak egy SQL Server-példány fér hozzá egy adott adatbázisfájlhoz az Azure Storage-ban egyszerre. Ha az InstanceA online állapotban van egy aktív adatbázisfájllal, és ha az InstanceB véletlenül elindult, és egy olyan adatbázissal is rendelkezik, amely ugyanarra az adatfájlra mutat, a második példány nem indítja el az adatbázist hibakóddal
5120 Unable to open the physical file "%.\*ls". Operating system error %d: "%ls".Csak .mdf, .ldf és .ndf fájlok tárolhatók az Azure Storage-ban az SQL Server Data Files in Azure funkció használatával.
Az SQL Server Data Files azure-beli használata esetén a tárfiók georeplikálása nem támogatott. Ha egy tárolófiók georeplikált, és geo-feladatátvétel történt, az adatbázis megsérülhet.
A kapacitáskorlátozásokról a Blob Storage bemutatása című témakörben olvashat.
Nem lehet In-Memory OLTP-adatokat tárolni a Blob Storage-ban az SQL Server Data Files használatával az Azure Storage szolgáltatásban. Ennek az az oka, hogy In-Memory OLTP függ a FileStream szolgáltatástól, és a funkció jelenlegi kiadásában a FileStream-adatok tárolása nem támogatott az Azure Storage-ban.
Az SQL Server Data Files Azure-beli használata esetén az SQL Server az összes URL- vagy fájlút-összehasonlítást az
masteradatbázisban beállított kollációval hajtja végre.Az Always On rendelkezésre állási csoportok támogatottak mindaddig, amíg nem ad hozzá új adatbázisfájlokat az elsődleges replika adatbázisához. Ha egy adatbázis-művelethez új fájlt kell létrehozni az elsődleges replika adatbázisában, először tiltsa le a rendelkezésre állási csoportokat a másodlagos csomóponton. Ezután hajtsa végre az adatbázis-műveletet az adatbázisban, és készítsen biztonsági másolatot az adatbázisról az elsődleges replikában. Ezután állítsa vissza az adatbázist a másodlagos replikára. A befejezés után engedélyezze újra az Always On rendelkezésre állási csoportokat a másodlagos csomóponton.
Megjegyzés:
Az Always On feladatátvevő fürtpéldányok nem támogatottak az SQL Server-adatfájlok Azure-szolgáltatásban való használatakor.
A normál működés során az SQL Server ideiglenes bérletekkel foglalja le a blobokat a tároláshoz, és az egyes blobbérletek megújítása 45–60 másodpercenként történik. Ha egy kiszolgáló összeomlik, és az SQL Server egy másik példánya ugyanazzal a blobokkal van konfigurálva, az új példány akár 60 másodpercig is várni fog, amíg a blob meglévő bérlete lejár. Ha egy másik példányhoz szeretné csatolni az adatbázist, és nem tud várni, amíg a zárolás 60 másodpercen belül lejár, akkor explicit módon felszabadíthatja a zárolást a blob tárhelyen.
Eszközök és programozási referencia támogatása
Ez a szakasz azt ismerteti, hogy mely eszközök és programozási referenciatárak használhatók SQL Server-adatfájlok Azure Storage-ban való tárolásához.
PowerShell-támogatás
A PowerShell-parancsmagok használatával SQL Server-adatfájlokat tárolhat a Blob Storage szolgáltatásban úgy, hogy a blobtároló URL-címére hivatkozik a fájl elérési útja helyett. A blobok elérése a következő URL-formátumban: https://storageaccount.blob.core.windows.net/<container>/<blob>.
Az SQL Server objektum- és teljesítményszámlálóinak támogatása
Az SQL Server 2014-től kezdve egy új SQL Server-objektum lett hozzáadva, amely az AZURE Storage-ban használható SQL Server-adatfájlokhoz használható. Az új SQL Server-objektum neve SQL Server, HTTP_STORAGE_OBJECT, és a System Monitor segítségével figyelheti a tevékenységeket az SQL Server Azure Storage-nal való futtatásakor.
Az SQL Server Management Studio támogatása
Az SQL Server Management Studio lehetővé teszi, hogy ezt a funkciót több párbeszédpanelen keresztül használja. Például https://teststorageaccnt.blob.core.windows.net/testcontainer/ egy tároló URL-elérési útját jelöli. Ezt az elérési utat számos párbeszédpanelen láthatja, például az Új adatbázis, az Adatbázis csatolása és az Adatbázis visszaállítása párbeszédpanelen. További információ : Oktatóanyag: Az Azure Blob Storage használata SQL Server-adatbázisokkal.
Az SQL Server Management Objects (SMO) támogatása
Ha az SQL Server-adatfájlokat az Azure-ban használja, az összes SQL Server Felügyeleti objektum (SMO) támogatott. Ha egy SMO-objektumhoz fájlelérési út szükséges, használja a BLOB URL-formátumát a helyi fájl elérési útja helyett, például https://teststorageaccnt.blob.core.windows.net/testcontainer/. Az SQL Server Management Objects (SMO) szolgáltatással kapcsolatos további információkért tekintse meg az SQL Server Management Objects (SMO) programozási útmutatóját az SQL Server Books Online-ban.
Transact-SQL támogatás
A funkció hozzáadása a következő változást vezette be a Transact-SQL felületén:
- Egy új int oszlop a
credential_idsys.master_filesrendszernézetben. Acredential_idoszlop célja, hogy lehetővé tegye az Azure Storage adatfájlok visszacsatolását asys.credentialsaz azokra létrehozott hitelesítő adatok révén. A hibaelhárításhoz használhatja, például a hitelesítő adatokat nem lehet törölni, ha egy adatbázisfájl használja.
Az SQL Server-adatfájlok hibaelhárítása a Microsoft Azure-ban
A nem támogatott funkciók vagy korlátozások miatti hibák elkerülése érdekében először tekintse át a korlátozásokat.
Az SQL Server Data Files Azure Storage-szolgáltatásban való használatakor előforduló hibák listája a következő.
Hitelesítési hibák
Nem lehet elvetni a hitelesítő adatokat (%.*ls), mert azt egy aktív adatbázisfájl használja.
Megoldás: Ez a hiba akkor jelenhet meg, ha megpróbál elvetni egy olyan hitelesítő adatot, amelyet egy aktív adatbázisfájl még használ az Azure Storage-ban. A hitelesítő adatok elvetéséhez először törölnie kell az adatbázisfájlt tartalmazó társított blobot. Az aktív bérletet tartalmazó blob törléséhez először fel kell szabadítania a bérletet.A megosztott hozzáférésű jogosultságkód nem lett megfelelően létrehozva a tárolón.
Megoldás: Győződjön meg arról, hogy helyesen hozott létre közös hozzáférésű jogosultságkódot a tárolón. Tekintse át az oktatóanyag 2. leckéjében szereplő utasításokat : Az Azure Blob Storage használata SQL Server-adatbázisokkal.Az SQL Server hitelesítő adatai nem lettek megfelelően létrehozva.
Megoldás: Győződjön meg arról, hogy a "Közös hozzáférésű jogosultságkód" értéket használta az Identitás mezőhöz, és helyesen hozott létre egy titkos kulcsot. Tekintse át az oktatóanyag 3. leckéjében szereplő utasításokat : Az Azure Blob Storage használata SQL Server-adatbázisokkal.
Bérelt blob hibák:
- Hiba történt az SQL Server indításakor, miután az ugyanazon blobfájlokat használó másik példány összeomlott. Megoldás: A normál működés során az SQL Server ideiglenes bérletekkel foglalja le a blobokat a tároláshoz, és az egyes blobbérletek megújítása 45–60 másodpercenként történik. Ha egy kiszolgáló összeomlik, és az SQL Server egy másik példánya ugyanazzal a blobokkal van konfigurálva, az új példány akár 60 másodpercig is várni fog, amíg a blob meglévő bérlete lejár. Ha egy másik példányhoz szeretné csatolni az adatbázist, és nem tudja megvárni, amíg a bérlet 60 másodpercen belül lejár, explicit módon feladhatja a bérletet a blobon, hogy elkerülje a csatolási műveletek hibáit.
Adatbázishibák
Adatbázis létrehozásakor felmerülő hibák Megoldás: Tekintse át az oktatóanyag 4. leckéjének utasításait : A Microsoft Azure Blob Storage használata SQL Server-adatbázisokkal.
Hibák az Alter utasítás futtatásakor Megoldás: Győződjön meg arról, hogy végrehajtja az Alter Database utasítást, amikor az adatbázis online állapotban van. Amikor az adatfájlokat az Azure Storage-ba másolja, mindig hozzon létre egy lapblobot, nem blokkblobot. Ellenkező esetben az ALTER Database sikertelen lesz. Tekintse át az oktatóanyag 7. leckéjének utasításait : A Microsoft Azure Blob Storage használata SQL Server-adatbázisokkal.
Hibakód : 5120 Nem sikerült megnyitni a "%.*ls" fizikai fájlt. Operációsrendszer-hiba %d: "%ls"
Megoldás: Ez a funkció nem támogatja, hogy egyszerre több SQL Server-példány is hozzáférhessen ugyanazon adatbázisfájlokhoz az Azure Storage-ban. Ha az InstanceA online állapotban van egy aktív adatbázisfájllal, és az InstanceB elindul, és egy adatbázis is ugyanarra az adatfájlra mutat, a második példány nem fogja elindítani az adatbázist hibakóddal 5120 Unable to open the physical file "%.\*ls". Operating system error %d: "%ls".
A probléma megoldásához először állapítsa meg, hogy szüksége van-e a ServerA-ra az adatbázisfájl eléréséhez az Azure Storage-ban, vagy sem. Ha nem, távolítsa el az InstanceA és az Azure Storage adatbázisfájljai közötti kapcsolatot. Ehhez kövesse az alábbi lépéseket:
Állítsa be az InstanceA fájl elérési útját egy helyi mappába az ALTER Database utasítás használatával.
Állítsa offline állapotba az adatbázist az InstanceA-ban.
Ezután másolja az adatbázisfájlokat az Azure Storage-ból az InstanceA helyi mappájába. Ez biztosítja, hogy az InstanceA továbbra is rendelkezik az adatbázis helyi másolatával.
Állítsa be az adatbázist online állapotba.
833-ás hibakód – 15 másodpercnél hosszabb I/O-kérelmek végrehajtása
Ez a hiba azt jelzi, hogy a tárolórendszer nem tudja kielégíteni az SQL Server számítási feladatainak követelményeit. Csökkentse az I/O-tevékenységet az alkalmazásrétegből, vagy növelje a tárolási réteg átviteli sebességét. További információ: 833-ai hiba. Ha a teljesítményproblémák továbbra is fennállnak, érdemes lehet áthelyezni a fájlokat egy másik tárolási szintre, például Prémium vagy UltraSSD szintre. Az Azure-beli virtuális gépeken futó SQL Server esetében lásd a tárolási teljesítmény optimalizálását.