SQL Server BCP Utity

SQL Server BCP Utity

SQL Server es una de las bases de datos SQL más extensas y robustas de la era moderna. No solo puede manejar cantidades ridículas de datos, sino que también proporciona herramientas poderosas que hacen que trabajar con bases de datos SQL sea más fácil y muy agradable.

Esta publicación cubrirá una de esas herramientas en el ecosistema SQL Server; Utilidad BCP. Discutiremos la utilidad BCP, la instalación y varios escenarios que puede usar.

Saltemos.

¿Cuál es la utilidad BCP??

El programa de copia masiva, o BCP para abreviar, es una poderosa utilidad de línea de comandos que le permite copiar datos entre dos o más instancias de SQL Server o un archivo de datos en un formato específico.

Las siguientes son algunas de las acciones que puede realizar utilizando la utilidad BCP en SQL Server:

  1. Exportar datos masivos de una tabla a un archivo de datos específico en un formato definido.
  2. Exportar datos masivos de una consulta a un archivo de datos establecido.
  3. Importar datos de BUK del archivo de datos a una tabla de servidor SQL.

Otra ventaja de la utilidad BCP es que no requiere que esté familiarizado con el comando Transact-SQL. Sin embargo, al exportar datos de una consulta utilizando el parámetro de consulta, deberá usar los comandos Transact-SQL.

Instalación de la utilidad BCP en Windows

Dependiendo del servidor SQL instalado y del método de instalación, es posible que deba instalar la utilidad BCP manualmente. Para instalar, descargue la utilidad BCP desde el siguiente enlace:

https: // go.Microsoft.com/fwlink/?Linkid = 2142258 (x64)

https: // go.Microsoft.com/fwlink/?Linkid = 2142257 (x86)

Nota: Las utilidades de línea de comandos de SQL Server se empaquetan de forma predeterminada en SQL Server 2019 y arriba.

Una vez que la descarga esté lista, abra el paquete del instalador y haga clic en Siguiente para comenzar el proceso.

Aceptar la licencia de software proporcionada y continuar.

Finalmente, configure la opción de instalación para que el instalador configure las herramientas de línea de comandos de SQL Server en su máquina.

Para confirmar que la utilidad BCP está disponible, inicie el símbolo del sistema y ejecute el comando:

BCP -V

El comando devolverá la versión BCP instalada como:

BCP - Programa de copia masiva para Microsoft SQL Server.
Copyright (c) Microsoft Corporation. Reservados todos los derechos.
Versión: 15.0.2000.5

Para ver todas las opciones de comando, ejecute el comando BCP sin ningún parámetro:

$ BCP

Producción:

Uso: BCP dBtable | consulta en | Fuera | consulta | formato DataFile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F FirStrow] [-l Lasstrow] [-B BatchSize]
[-n tipo nativo] [-c tipo de caracteres] [-w tipo de carácter ancho]
[-N Mantenga el no texto nativo] [-Versión de formato de archivo] [-Q Identificador citado]
[-C de la página del código -c] [-t terminator de campo] [-r terminador de fila]
[-i InputFile] [-o Outfile] [-A paquetes]
[-S Nombre del servidor] [-U Nombre de usuario] [-p Password]
[-T Conexión de confianza] [-V versión] [-R Habilitar regional]
[-k Mantenga valores nulos] [-e Mantenga valores de identidad] [-G Azure Active Directory Autenticación]
[-h "Cargar Sugerencias"] [-x Generar archivo de formato XML]
[-D Nombre de la base de datos] [-k intención de la aplicación] [-L Tiempo de espera de inicio de sesión]

El comando proporciona opciones y parámetros extensos para varias operaciones que desea realizar.

Tabla de exportación de SQL Server al archivo de datos utilizando BCP Utility

El ejemplo a continuación ilustra el uso de la utilidad BCP para exportar las entradas de la tabla desde la base de datos de resolución. El comando almacena la tabla en las entradas.Archivo de datos de DAT.

Entradas de BCP "C: \ Users \ User \ Documents \ Entradas.dat "-c -t -d resolución -u nombre de usuario -t -t

Desglosemos las opciones en el comando anterior.

Comenzamos invocando la utilidad BCP, seguido del nombre de la tabla que deseamos exportar.

  1. El parámetro de salida nos permite especificar la ruta al archivo de datos.
  2. -C permite que la utilidad realice la operación de exportación utilizando el tipo de datos de caracteres. Esto solo se usa para tipos de almacenamiento sin prefijos y con el carácter \ t como separador.
  3. -t especifica el terminador de campo.
  4. -D Establece el nombre de la base de datos de destino.
  5. -U el nombre de usuario para usar para conectarse al servidor.
  6. -T Usar conexión de confianza.

El comando anterior debe devolver la salida como:

Copia inicial ..
6 filas copiadas.
Tamaño del paquete de red (bytes): 4096
Tiempo de reloj (MS.) Total: 1 promedio: (6000.00 Filas por segundo.)

Asegúrese de que exista la ruta al archivo de datos de destino antes de ejecutar el comando.

SQL Server Exporta los resultados de una consulta al archivo de datos

También podemos exportar los resultados de una consulta dada, como se muestra en la consulta de ejemplo a continuación:

BCP 'SELECCIÓN * DESDE ENTRICIONES' QUERYOUT "C: \ Usuarios \ User \ Documents \ Query.datos "-t -d resolución -c -t

La opción de consulta nos permite almacenar el resultado de una consulta Transact-SQL a un archivo especificado. Adjuntamos la consulta que deseamos ejecutar en un par de comillas para evitar conflictos con los parámetros del comando BCP.

SQL Server Importar archivo de datos a la tabla

Si tiene un archivo de datos, puede importarlo a una tabla u otra, como se ilustra a continuación.

Comience creando una base de datos simple.

Drop Base de datos si existe BCP_DEMO;
Crear base de datos bcp_demo;
EAU BCP_DEMO;

A continuación, cree una tabla con una estructura similar a los datos en el archivo:

crear muestras de mesa (
ID int no identidad nula (1,
1) Clave primaria,
server_name varchar (50),
server_address varchar (255) no nulo,
compresion_method varchar (100) predeterminado 'ninguno',
size_on_disk float no nulo,
size_compreted flotante,
Total_records int no nulo,
Fecha de init_date
);

Finalmente, importe el archivo de datos en la tabla como:

BCP BCP_DEMO.dbo.muestras en 'c: \ users \ user \ documents \ entradas.dat '-c -t

Esto debería obtener los datos del archivo de datos en la tabla. Una salida de ejemplo:

Copia inicial ..
Sqlstate = s1000, nationError = 0
Error = [Microsoft] [ODBC Driver 17 para SQL Server] EOF inesperado encontrado en el archivo de datos BCP
0 filas copiadas.
Tamaño del paquete de red (bytes): 4096
Tiempo de reloj (MS.) Total: 1

Y ha importado con éxito los datos del archivo de datos.

El final del viaje

Este artículo le enseñó los fundamentos de utilizar la utilidad BCP para impulsar los datos de importación y exportar desde y desde instancias de servidor SQL y archivos de datos.

Gracias por dar un paseo con nosotros en las funcionalidades de utilidad BCP. Siéntase libre de explorar los documentos para obtener información más extensa. Nos vemos en el siguiente.