Udostępnij za pomocą


FOR XML Security Considerations (SQLXML 4.0)

Dotyczy:programu SQL ServerAzure SQL Database

Tryb DLA XML AUTO generuje hierarchię XML, w której nazwy elementów odpowiadają nazwam tabel, a nazwy atrybutów nazwom kolumn. To ujawnia informacje z tabeli i kolumny bazy danych. Możesz ukryć informacje o bazie danych, gdy używasz trybu AUTO (formatowanie po stronie serwera), określając aliasy tabel i kolumn w zapytaniu. Aliasy te są zwracane w powstałym dokumencie XML jako nazwy elementów i atrybutów.

Na przykład następujące zapytanie określa tryb AUTO; dlatego formatowanie XML odbywa się na serwerze:

SELECT C.FirstName as F,C.LastName as L   
FROM Person.Contact C   
FOR XML AUTO  

W powstałym dokumencie XML aliasy są używane dla nazw elementów i atrybutów:

<?xml version="1.0" encoding="utf-8" ?>   
<root>  
  <C F="Nancy" L="Fuller" />   
  <CE F="Andrew" L="Peacock" />   
  <C F="Janet" L="Leverling" />   
  ...  
</root>  

W trybie NESTED (formatowanie po stronie klienta) aliasy zwracane są tylko dla atrybutów w powstałym dokumencie XML. Nazwy tabel bazowych są zawsze zwracane jako nazwy elementów. Na przykład następujące zapytanie określa tryb NESTED.

SELECT C.FirstName as F,C.LastName as L   
FROM Person.Contact C   
FOR XML AUTO  

W powstałym dokumencie XML nazwy tabel bazowych są zwracane, ponieważ nazwy elementów i aliasy tabel nie są używane:

<?xml version="1.0" encoding="utf-8" ?>   
<root>  
  <Person.Contact F="Nancy" L="Fuller" />   
  <Person.Contact F="Andrew" L="Peacock" />   
  <Person.Contact F="Janet" L="Leverling" />   
       ...  
</root>