Megosztás a következőn keresztül:


Tömeges terhelési biztonsági szempontok (SQLXML 4.0)

A következőkre vonatkozik:SQL ServerAzure SQL Database

Az alábbiakban találhatók az XML Bulk Load használatának biztonsági irányelvei:

  • Amikor megadod, hogy a Bulk Load műveletet tranzakcióként kell végrehajtani, a TempFilePath tulajdonsággal megadod a mappát, amelyben az ideiglenes fájlokat létrehozhatod.

    A tömeges betöltési folyamat ezeket az ideiglenes fájlokat hozza létre az alábbi jogosultságokkal:

    • Olvasás/írás/törlés hozzáférést biztosít a tömeges betöltési folyamathoz.

    • Az olvasási engedély minden felhasználónak megvan, mivel ismeretlen, hogy melyik fiók révén a Microsoft SQL Server hozzáférhet ezekhez a fájlokhoz. Korlátozhatod ezekhez az ideiglenes fájlokhoz való hozzáférést, ha beállítod a megfelelő jogosultságokat abban a mappában, ahol ezek a fájlok találhatók.

  • Az XML Bulk Load-nak önmagában nincs jogosultsági beállítása. Feltételezzük, hogy az adatbázis helyesen van beállítva, és hogy a felhasználói kontextus (azaz a bejelentkezés, amelyet a Bulk Load beállított) megfelelő jogosultságokkal rendelkezik.

  • Nem tranzakciós módban, ha hiba történik a tömeges betöltés során, az adatok részben betöltött állapotban maradhatnak. A tömeges terhelés egyszerűen megáll ott, ahol ez történik. A tranzakciós mód használható ennek a problémának a enyhítésére.

  • Amikor tömeges terhelési hibák bekövetkeznek, az adatbázisról is tartalmazhat információkat. Például tartalmazhatnak egy tábla vagy oszlop nevét, vagy oszloptípus információt. Amikor a Bulk Load rendszert használod, figyelj arra, hogy a Bulk Load folyamatból származó hibákat észlelj, és általános hibaüzenetet küldj, ne pedig közvetlenül a felhasználóknak exponálnád a hibákat.

  • A tömeges terhelés nem szab korlátot arra, hogy mennyi adaton dolgozik. A tömeges betöltés nem ellenőrzi az adatok méretét. A Bulk Load-t végrehajtó felhasználó felelőssége, hogy biztosítsa, hogy elegendő memória legyen a megadott fájl feldolgozásához, és hogy az adatbázisban legyen elegendő hely a betöltött adatok tárolására.

  • A tömeges terhelés nem próbálja meg használni a kapott adatokat kódként. Az adatbemenetet soha nem hajtják végre semmilyen módon. A bemeneti adatokban szereplő kódot vagy parancsokat normál adatként kezelik, és nem hajtják végre.

  • A tömeges terhelés formázási módosításokat okozhat az adott adatokon az XML és SQL Server adatmodellek közötti különbségek alapján. Például az idő megadásának formátuma eltérő. A Bulk Load megpróbálja ezeket a különbségeket megoldani. Ennek következtében néhány precíziós információ elveszhet.

  • A tömeges terhelés nem szab korlátot az adatok feldolgozásának időtartamára. A feldolgozás addig folytatódik, amíg a feldolgozás befejeződik, vagy hiba nem történik.

  • A Bulk Load képes ideiglenes táblákat létrehozni és törölni az adatbázisban, és ehhez engedélyekre van szükség. Ezekhez a táblákhoz ugyanaz a felhasználó kapja a jogosultságot, aki csatlakozik az adatbázishoz a tömeges betöltési folyamathoz.

  • A tömeges betöltés képes ideiglenes fájlokat létrehozni és törölni, amelyeket tranzakciós mód feldolgozás során használnak, és ehhez engedélyekre van szükség. Ezeket a fájlokat ugyanazokkal a jogosultságokkal hozták létre, mint a szál jelenlegi felhasználója, amelyben a Bulk Load fut.

  • Ha a felhasználó beállít egy SQLXML hibanaplófájlt, amibe hibákat írhat, akkor minden Bulk Load végrehajtáskor a fájl felülírja az utolsó Bulk Load folyamat adatait.

Lásd még:

XML-adatok tömeges betöltése (SQLXML 4.0)