Wykonywanie operacji kopiowania masowego (ODBC)

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Standard ODBC nie obsługuje bezpośrednio operacji masowego kopiowania SQL Server. Po połączeniu z instancją SQL Server wersji 7.0 lub nowzej, sterownik ODBC SQL Server Native Client obsługuje funkcje DB-Library wykonujące SQL Server operacje kopiowania masowego. To specyficzne dla sterownika rozszerzenie zapewnia łatwą ścieżkę aktualizacji dla istniejących DB-Library aplikacji korzystających z funkcji kopiowania masowego. Specjalistyczne wsparcie kopiowania masowego znajduje się w następujących plikach:

  • sqlncli.h

    Zawiera prototypy funkcji oraz stałe definicje funkcji kopiowania masowego. sqlncli.h musi być włączony do aplikacji ODBC wykonującej operacje kopiowania masowego i musi znajdować się w ścieżce include aplikacji podczas kompilacji.

  • sqlncli11.lib

    Musi znajdować się w bibliotecznej ścieżce linkera i być oznaczony jako plik do linkowania. sqlncli11.lib jest dystrybuowany wraz ze sterownikiem SQL Server Native Client ODBC.

  • sqlncli11.dll

    Musi być obecny podczas egzekucji. sqlncli11.dll jest dystrybuowany wraz z sterownikiem SQL Server Native Client ODBC.

Uwaga / Notatka

Funkcja ODBC SQLBulkOperations nie ma związku z funkcjami kopiowania masowego w SQL Server. Aplikacje muszą korzystać z funkcji kopiowania masowego specyficznego dla SQL Server, aby wykonać operacje kopiowania masowego.

Minimalne rejestrowanie kopii masowych

W modelu Full Recovery wszystkie operacje wstawiania wiersza wykonywane przez ładowanie hurtowe są w pełni rejestrowane w dzienniku transakcji. Przy dużych obciążeniach danych może to powodować szybkie zapełnianie dziennika transakcji. W pewnych warunkach możliwe jest minimalne rejestrowanie. Minimalne rejestrowanie zmniejsza możliwość zapełnienia przestrzeni dziennika przez operację ładunkową i jest również bardziej efektywne niż pełne wycinkowanie.

Aby uzyskać informacje o wykorzystaniu minimalnego logowania, zobacz Wymagania wstępne dla minimalnego logowania w importie masowym.

Remarks

Używając bcp.exe w SQL Server 2005 (9.x) lub później, możesz napotkać błędy w sytuacjach, gdy przed SQL Server 2005 (9.x) nie było błędów. Dzieje się tak, ponieważ w późniejszych wersjach bcp.exe już nie wykonuje niejawnej konwersji typów danych. Przed SQL Server 2005 roku (9.x) bcp.exe konwertował dane numeryczne na typ danych pieniężnych, jeśli docelowa tabela miała typ danych pieniężnych. Jednak w takiej sytuacji po prostu bcp.exe obcięła dodatkowe pola. Począwszy od SQL Server 2005 roku (9.x), jeśli typy danych nie zgadzają się między plikiem a tabelą docelową, bcp.exe pojawi się błąd, jeśli dane trzeba obciąć, aby zmieścić się w docelowej tabeli. Aby rozwiązać ten błąd, popraw dane tak, aby odpowiadały docelowemu typowi danych. Opcjonalnie można użyć bcp.exe z wydania sprzed SQL Server 2005 roku (9.x).

W tej Sekcji