Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
De volgende zijn beveiligingsrichtlijnen voor het gebruik van XML Bulk Load:
Wanneer je aangeeft dat de Bulk Load-operatie als transactie moet worden uitgevoerd, gebruik je de eigenschap TempFilePath om een map aan te geven waarin de tijdelijke bestanden worden aangemaakt.
Het Bulk Load-proces maakt deze tijdelijke bestanden aan met de volgende rechten:
Read/Write/Delete-toegang wordt verleend aan het Bulk Load-proces.
Leestoestemming wordt aan alle gebruikers verleend, omdat het account waarmee Microsoft SQL Server deze bestanden zal benaderen onbekend is. Je kunt de toegang tot deze tijdelijke bestanden beperken door de juiste permissies in te stellen op de map waarin ze staan.
XML Bulk Load heeft zelf geen enkele permissie-instellingen. Er wordt aangenomen dat de database correct is ingesteld en dat de gebruikerscontext (dat wil zeggen de login die Bulk Load gebruikt) de juiste permissies heeft.
In niet-transactionele modus, als er een fout optreedt tijdens het Bulk Load-proces, kan de data in een gedeeltelijk geladen toestand achterblijven. Bulk Load stopt simpelweg op het punt waar dit gebeurt. De transactionele modus kan worden gebruikt om dit probleem te verlichten.
Wanneer Bulk Load-fouten optreden, kunnen ze informatie over de database bevatten. Ze kunnen bijvoorbeeld de naam van een tabel of kolom bevatten, of kolomtype-informatie. Wanneer je Bulk Load gebruikt, moet je erop letten dat je fouten uit het Bulk Load-proces opvangt en een generiek foutbericht teruggeeft, in plaats van fouten direct aan gebruikers bloot te stellen.
Bulk Load stelt geen limiet aan de hoeveelheid data waarmee het werkt. Bulk Load controleert niet de grootte van de te laden data. Het is de verantwoordelijkheid van de gebruiker die Bulk Load uitvoert om ervoor te zorgen dat er voldoende geheugen is om het opgegeven bestand te verwerken, en dat er voldoende ruimte in de database is om de te laden data op te slaan.
Bulk Load probeert de gegeven gegevens niet als code te gebruiken. De gegevensinvoer wordt nooit op welke manier dan ook uitgevoerd. Alle code of commando's in de invoerdata worden als normale data behandeld en worden niet uitgevoerd.
Bulk Load kan formatteringswijzigingen aanbrengen aan de gegeven data op basis van verschillen tussen de XML- en SQL Server-datamodellen. Bijvoorbeeld, het format voor het specificeren van een tijd is anders. Bulk Load zal proberen deze verschillen op te lossen. Hierdoor kan er wat precisie-informatie verloren gaan.
Bulk Load stelt geen limiet aan de tijd die nodig is om de data te verwerken. De verwerking gaat door totdat de verwerking is voltooid of er een fout optreedt.
Bulk Load kan tijdelijke tabellen binnen de database aanmaken en verwijderen, en heeft hiervoor rechten nodig. Rechten voor deze tabellen worden gegeven aan dezelfde gebruiker die verbinding maakt met de database voor het Bulk Load-proces.
Bulk Load kan tijdelijke bestanden aanmaken en verwijderen die tijdens transactionele verwerking worden gebruikt, en heeft hiervoor rechten nodig. Deze bestanden worden aangemaakt met dezelfde rechten als de huidige gebruiker van de thread waarin Bulk Load draait.
Als de gebruiker een foutlogbestand instelt waarin SQLXML fouten kan schrijven, wordt het bestand elke keer dat Bulk Load wordt uitgevoerd overschreven met gegevens van het laatste Bulk Load-proces.