sql-server - reparar - windows could not start sql server error code 17058
No se puede cargar de forma masiva porque el archivo no se pudo abrir. Código de error del sistema operativo 3 (5)
Intenté dar acceso a las carpetas, pero eso no ayudó. Mi solución fue hacer que las opciones resaltadas a continuación en rojo se seleccionaran para el usuario que inició sesión
Estoy intentando configurar un procedimiento almacenado como un trabajo del Agente SQL Server y me está dando el siguiente error:
No se puede cargar de forma masiva porque no se pudo abrir el archivo "P: / file.csv". Código de error del sistema operativo 3 (no se pudo recuperar el texto para este error. Motivo: 15105). [SQLSTATE 42000] (error 4861)
Lo curioso es que el procedimiento almacenado funciona bien cuando lo ejecuto manualmente.
La unidad P: es una unidad compartida en Windows SQL Server de LINUX a través de Samba Share y se configuró ejecutando el siguiente comando:
EXEC xp_cmdshell ''net use P: "/ lnxusanfsd01 / Data" Contraseña / usuario: nombre de usuario / persistente: sí''
Cualquier ayuda sobre esto sería muy apreciada
No sé si resolvió este problema, pero tuve el mismo problema, si la instancia es local, debe verificar el permiso para acceder al archivo, pero si está accediendo desde su computadora a un servidor (acceso remoto), debe especificar el ruta en el servidor, por lo que significa incluir el archivo en un directorio de servidor, que resolvió mi caso
ejemplo:
BULK INSERT Table
FROM ''C:/bulk/usuarios_prueba.csv'' -- This is server path not local
WITH
(
FIELDTERMINATOR ='','',
ROWTERMINATOR =''/n''
);
Para mantener esto simple, acabo de cambiar el directorio desde el que estaba importando los datos a una carpeta local en el servidor .
Tenía el archivo ubicado en una carpeta compartida, simplemente copié mis archivos a "c: / TEMP / Reports" en mi servidor (actualicé la consulta a BULK INSERT desde la nueva carpeta). La tarea del agente se completó con éxito :)
Finalmente, después de mucho tiempo, puedo BULK Insertar automáticamente a través de un trabajo de agente.
Atentamente.
Probablemente sea un problema de permisos, pero debe asegurarse de seguir estos pasos para solucionar los problemas:
- Coloque el archivo en una unidad local y vea si el trabajo funciona (no necesita necesariamente acceso RDP si puede asignar una letra de unidad en su estación de trabajo local a un directorio en el servidor de la base de datos)
- Coloque el archivo en un directorio remoto que no requiera nombre de usuario y contraseña (permite que todos lo lean) y use la ruta UNC (/ server / directory / file.csv)
- Configure el trabajo SQL para que se ejecute como su nombre de usuario
- Configure el trabajo SQL para que se ejecute como
sa
y agregue los comandosnet use
ynet use /delete
antes y después
Recuerde deshacer cualquier cambio (especialmente ejecutar como sa
). Si nada más funciona, puede intentar cambiar la carga masiva en una tarea programada que se ejecute en el servidor de la base de datos u otro servidor que tenga instalado bcp.
Sugeriría que la unidad P: no está asignada para la cuenta con la que el servidor sql ha comenzado.