Säkerhetsöverväganden vid bulkbelastning (SQLXML 4.0)

gäller för:SQL ServerAzure SQL Database

Följande är säkerhetsriktlinjer för användning av XML Bulk Load:

  • När du anger att Bulk Load-operationen ska utföras som en transaktion använder du egenskapen TempFilePath för att ange en mapp där de temporära filerna ska skapas.

    Bulk-laddningsprocessen skapar dessa temporära filer med följande behörigheter:

    • Läs-/skriv-/borttagningsåtkomst ges till Bulk Load-processen.

    • Läsbehörighet ges till alla användare, eftersom kontot med vilket Microsoft SQL Server kommer att komma åt dessa filer är okänt. Du kan begränsa åtkomsten till dessa temporära filer genom att ställa in lämpliga behörigheter på mappen som innehåller dem.

  • XML Bulk Load har i sig inga behörighetsinställningar. Det antas att databasen är korrekt inställd och att användarkontexten (det vill säga inloggningen som Bulk Load är inställd på att använda) har lämpliga behörigheter inställda.

  • I icke-transaktionellt läge, om ett fel uppstår under Bulk Load-processen, kan data lämnas i ett delvis lastat tillstånd. Bulklasten kommer helt enkelt att stanna där den är när detta sker. Transaktionsläget kan användas för att lindra detta problem.

  • När Bulk Load-fel uppstår kan de inkludera information om databasen. Till exempel kan de inkludera namnet på en tabell eller kolumn, eller kolumntypinformation. När du använder Bulk Load bör du vara noga med att fånga fel från Bulk Load-processen och returnera ett generiskt felmeddelande, istället för att exponera fel direkt för användarna.

  • Bulk Load sätter ingen gräns för mängden data den arbetar med. Bulk Load gör ingen kontroll av storleken på datan som ska laddas. Det är användarens ansvar som utför Bulk Load att säkerställa att det finns tillräckligt med minne för att bearbeta den angivna filen, och att det finns tillräckligt med utrymme i databasen för att lagra den data som laddas.

  • Bulk Load försöker inte använda den data den får som kod. Datainmatningen utförs aldrig på något sätt. All kod eller kommandon i indatan behandlas som normal data och kommer inte att exekveras.

  • Bulk Load kan göra formateringsändringar i den givna datan baserat på skillnader mellan XML- och SQL Server-datamodellerna. Till exempel är formatet för att ange en tid annorlunda. Bulk Load kommer att försöka lösa dessa skillnader. Som ett resultat kan viss precisionsinformation gå förlorad.

  • Bulk Load sätter ingen gräns för hur lång tid det tar att bearbeta datan. Bearbetningen fortsätter tills bearbetningen är klar eller ett fel uppstår.

  • Bulk Load kan skapa och ta bort tillfälliga tabeller i databasen och kräver behörigheter för att göra det. Behörigheter till dessa tabeller ges till samma användare som ansluter till databasen för Bulk Load-processen.

  • Bulk Load kan skapa och ta bort temporära filer som används under transaktionsbaserad behandling och kräver behörigheter för att göra det. Dessa filer skapas med samma behörigheter som den nuvarande användaren i tråden där Bulk Load körs.

  • Om användaren sätter en felloggfil för SQLXML att skriva fel i, kommer filen varje gång Bulk Load körs att skrivas över med data från den senaste Bulk Load-processen.

Se även

Utföra massinläsning av XML-data (SQLXML 4.0)