SQL Server-bestemming

Van toepassing op:SQL Server SSIS Integration Runtime in Azure Data Factory

De SQL Server-bestemming maakt verbinding met een lokale SQL Server-database en laadt data in bulk in SQL Server-tabellen en -weergaven. Je kunt de SQL Server-bestemming niet gebruiken in pakketten die toegang krijgen tot een SQL Server-database op een externe server. In plaats daarvan zouden de pakketten de OLE DB-bestemming moeten gebruiken. Voor meer informatie, zie OLE DB Destination.

Permissions

Gebruikers die pakketten uitvoeren die de SQL Server-bestemming bevatten, hebben de machtiging "Create global objects" nodig. U kunt deze toestemming aan gebruikers geven door gebruik te maken van de Local Security Policy-tool, geopend vanuit het menu Beheerderstools . Als je een foutmelding ontvangt bij het uitvoeren van een pakket dat de bestemming van SQL Server gebruikt, zorg er dan voor dat het account dat het pakket draait de machtiging "Create global objects" heeft.

Bulkinzetstukken

Als je probeert de SQL Server-bestemming te gebruiken om data in bulk te laden in een externe SQL Server-database, kun je een foutmelding zien die lijkt op het volgende: "Een OLE DB-record is beschikbaar. Bron: "Microsoft SQL Server Native Client" Hresultaat: 0x80040E14 Beschrijving: "Kon niet bulkladen omdat het SSIS-bestandsmappingobject 'Global\DTSQLIMPORT' niet geopend kon worden. Besturingssysteemfoutcode 2 (Het systeem kan het opgegeven bestand niet vinden). Zorg dat je via Windows Security toegang hebt tot een lokale server."

De SQL Server-bestemming biedt dezelfde snelle invoer van gegevens in SQL Server als de Bulk Insert-taak; echter, door gebruik te maken van de SQL Server-bestemming, kan een pakket transformaties toepassen op kolomgegevens voordat de data in SQL Server wordt geladen.

Voor het laden van data in SQL Server zou je overwegen de SQL Server-bestemming te gebruiken in plaats van de OLE DB-bestemming.

Opties voor bulkinzetstukken

Als de SQL Server-bestemming een snelle-laad datatoegangsmodus gebruikt, kun je de volgende snellaadopties specificeren:

  • Bebehoud identiteitswaarden uit het geïmporteerde databestand, of gebruik unieke waarden die door SQL Server zijn toegewezen.

  • Bebehoud nulwaarden tijdens de bulkbelasting.

  • Controleer beperkingen op de doel-tabel of -weergave tijdens de bulkimportoperatie.

  • Verkrijg een vergrendeling op tabelniveau voor de duur van de bulksgewijs laden.

  • Voer insert-triggers uit die op de bestemmingstabel zijn gedefinieerd tijdens de bulkload-operatie.

  • Specificeer het nummer van de eerste rij in de invoer die geladen moet worden tijdens de bulk-insertbewerking.

  • Geef het nummer van de laatste rij in de invoer aan die geladen moet worden tijdens de bulk-insertbewerking.

  • Specificeer het maximale aantal toegestane fouten voordat de bulkbelasting wordt geannuleerd. Elke rij die niet geïmporteerd kan worden, telt als één fout.

  • Specificeer de kolommen in de invoer die gesorteerde gegevens bevatten.

Voor meer informatie over bulk-ladingopties, zie BULK INSERT (Transact-SQL).

Prestatieverbeteringen

Om de prestaties van een bulk insert en de toegang tot tabelgegevens tijdens de bulk insert-operatie te verbeteren, moet je de standaardopties als volgt wijzigen:

  • Controleer geen beperkingen op de doel-tabel of -weergave tijdens de bulkimportoperatie.

  • Voer geen insert-triggers uit die op de bestemmingstabel zijn gedefinieerd tijdens de bulk load-operatie.

  • Pas geen slot toe op de tafel. Op die manier blijft de tabel beschikbaar voor andere gebruikers en applicaties tijdens de bulk-insertoperatie.

Configuratie van de SQL Server-bestemming

Je kunt de SQL Server-bestemming op de volgende manieren configureren:

  • Specificeer de tabel of weergave waarin je de data bulkloadt.

  • Pas de bulk load-operatie aan door opties te specificeren zoals of constraints gecontroleerd moeten worden.

  • Specificeer of alle rijen in één batch committen of stel het maximale aantal rijen in dat als batch moet committen.

  • Specificeer een time-out voor de bulkbewerking.

Deze bestemming gebruikt een OLE DB-verbindingsmanager om verbinding te maken met een databron, en de verbindingsmanager specificeert de OLE DB-provider die gebruikt moet worden. Zie OLE DB Verbindingsbeheer voor meer informatie.

Een Integration Services-project levert ook het databronobject waarmee je een OLE DB-verbindingsmanager kunt maken. Hierdoor worden databronnen en databronweergaven beschikbaar voor de SQL Server-bestemming.

De SQL Server-bestemming heeft één invoer. Er wordt geen foutuitvoer ondersteund.

U kunt eigenschappen instellen via SSIS Designer of programmatisch.

Het dialoogvenster Geavanceerde editor weerspiegelt de eigenschappen die programmatisch kunnen worden ingesteld. Klik op een van de volgende onderwerpen voor meer informatie over de eigenschappen die u kunt instellen in het dialoogvenster Geavanceerde editor of programmatisch:

Klik op een van de volgende onderwerpen voor meer informatie over het instellen van eigenschappen:

SQL Destination Editor (Verbindingsbeheer-pagina)

Gebruik de Verbindingsbeheer-pagina van het SQL Destination Editor-dialoogvenster om gegevensbroninformatie op te geven en de resultaten te bekijken. De SQL Server-bestemming laadt gegevens in tabellen of weergaven in een Microsoft SQL Server-database.

Options

OLE DB-verbindingsbeheer
Selecteer een bestaande verbinding uit de lijst, of maak een nieuwe verbinding aan door op Nieuw te klikken.

Nieuw
Maak een nieuwe verbinding met behulp van het dialoogvenster OLE DB-verbindingsbeheer configureren .

Een tabel of weergave gebruiken
Selecteer een bestaande tabel of weergave uit de lijst, of maak een nieuwe verbinding aan door op Nieuw te klikken.

Nieuw
Maak een nieuwe tabel met behulp van het dialoogvenster Tabel maken .

Note

Wanneer je op Nieuw klikt, genereert Integration Services een standaardstatement CREATE TABLE gebaseerd op de verbonden databron. Deze standaardinstructie CREATE TABLE bevat het FILESTREAM-attribuut niet, zelfs niet als de brontabel een kolom bevat met het FILESTREAM-attribuut gedeclareerd. Als u een Integration Services-onderdeel wilt uitvoeren met het kenmerk FILESTREAM, implementeert u eerst FILESTREAM-opslag in de doeldatabase. Voeg vervolgens het FILESTREAM-attribuut toe aan de CREATE TABLE instructie in het Create Table dialoogvenster. Zie Binary Large Object (Blob) Data (SQL Server) voor meer informatie.

Voorbeeld
Voorbeeld van resultaten bekijken met behulp van het dialoogvenster Voorbeeld van queryresultaten . Preview kan maximaal 200 rijen weergeven.

SQL Destination Editor (Mappingspagina)

Gebruik de Mappings-pagina van het SQL Destination Editor-dialoogvenster om invoerkolommen aan bestemmingskolommen te koppelen.

Options

Beschikbare invoerkolommen
Bekijk de lijst met beschikbare invoerkolommen. Gebruik een slepen-en-neerzetten-bewerking om beschikbare invoerkolommen in de tabel toe te wijzen aan doelkolommen.

Beschikbare doelkolommen
Bekijk de lijst met beschikbare doelkolommen. Gebruik een drag-and-drop operatie om beschikbare doelkolommen in de tabel te koppelen aan invoerkolommen.

Invoerkolom
Invoerkolommen weergeven die zijn geselecteerd in de bovenstaande tabel. U kunt de toewijzingen wijzigen met behulp van de lijst met Beschikbare Invoerkolommen.

Doelkolom
Bekijk elke beschikbare bestemmingskolom, of deze nu is toegewezen of niet.

SQL Bestemmingseditor (Geavanceerde pagina)

Gebruik de Geavanceerde pagina van het SQL Destination Editor-dialoogvenster om geavanceerde bulk-insertopties op te geven.

Options

Identiteit behouden
Specificeer of de taak waarden in identiteitskolommen moet invoegen. De standaardwaarde van deze eigenschap is False.

Null-waarden behouden
Geef aan of de taak nullwaarden moet behouden. De standaardwaarde van deze eigenschap is False.

Tabelvergrendeling
Geef aan of de tabel vergrendeld is wanneer de data wordt geladen. De standaardwaarde van deze eigenschap is True.

Beperkingen controleren
Specificeer of de taak constraints moet controleren. De standaardwaarde van deze eigenschap is True.

Brandmelders
Specificeer of de bulk insert triggers op tabellen moet afvuren. De standaardwaarde van deze eigenschap is False.

Eerste rij
Specificeer de eerste rij die je moet invoegen. De standaardwaarde van deze eigenschap is -1, wat aangeeft dat er geen waarde is toegekend.

Note

Maak het tekstvak in de SQL Destination Editor leeg om aan te geven dat je geen waarde voor deze eigenschap wilt toewijzen. Gebruik -1 in het Eigenschappen-venster, de Geavanceerde editor en het objectmodel.

Laatste rij
Specificeer de laatste rij die je moet invoegen. De standaardwaarde van deze eigenschap is -1, wat aangeeft dat er geen waarde is toegekend.

Note

Maak het tekstvak in de SQL Destination Editor leeg om aan te geven dat je geen waarde voor deze eigenschap wilt toewijzen. Gebruik -1 in het Eigenschappen-venster, de Geavanceerde editor en het objectmodel.

Maximaal aantal fouten
Specificeer het aantal fouten dat kan optreden voordat de bulk-insert stopt. De standaardwaarde van deze eigenschap is -1, wat aangeeft dat er geen waarde is toegekend.

Note

Maak het tekstvak in de SQL Destination Editor leeg om aan te geven dat je geen waarde voor deze eigenschap wilt toewijzen. Gebruik -1 in het Eigenschappen-venster, de Geavanceerde editor en het objectmodel.

Timeout
Geef het aantal seconden aan dat je moet wachten voordat de bulk-insert stopt vanwege een time-out.

Orderkolommen
Typ de namen van de sorteerkolommen. Elke kolom kan in oplopende of dalende volgorde worden gesorteerd. Als je meerdere sorteerkolommen gebruikt, begrens de lijst dan met komma's.

Zie ook

Gegevensstroom