SQL – Rehacer indices de todas las tablas

Hace poco me encontré una base de datos Sql Server con comportamientos extraños. Las sentencias SELECT no encontraban los registros recien insertados, aparecían claves primarias duplicadas,… cosas rarísimas que no había visto nunca. El problema surgió tras restaurar un servidor que fue reiniciado a mano por el cliente «…porque tardaba mucho y entonces lo desenchufé… Leer másSQL – Rehacer indices de todas las tablas[…]

Al borrar una factura en a3ERP que se marque en TREE como pendiente de exportar

Cuando pasamos facturas de TREE a a3ERP las facturas quedan marcadas como exportadas. Si queremos que al borrar la factura en a3ERP en TREE vuelva a quedar como pendiente de exportar, tan solo tenemos que generar los siguientes TRIGGER en las bases de datos de a3ERP:   –COMPRAS  CREATE TRIGGER BorrarFraCA3 ON CABEFACC  AFTER DELETE  AS Leer másAl borrar una factura en a3ERP que se marque en TREE como pendiente de exportar[…]

SQL: Query a tabla HTML

A veces puede ser interesante montar una tabla HTML con un simple QUERY. Con el siguiente procedimiento almacenado podemos hacerlo: Obtenido de: https://stackoverflow.com/questions/7070053/convert-a-sql-query-result-table-to-an-html-table-for-email — Description: Turns a query into a formatted HTML table. Useful for emails.  — Any ORDER BY clause needs to be passed in the separate ORDER BY parameter. — ============================================= CREATE PROC Leer másSQL: Query a tabla HTML[…]

Publicada en SQL

Traspaso de usuarios entre servidores SQL

Un problema habitual al migrar servidores es el traspaso de usuarios del viejo servidor al nuevo. Con este método simplificarás el proceso https://docs.microsoft.com/es-es/troubleshoot/sql/security/transfer-logins-passwords-between-instances Paso 1: En el servidor antiguo, generar la función sp_help_revlogin USE master GO IF OBJECT_ID (‘sp_hexadecimal’) IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PROCEDURE sp_hexadecimal @binvalue varbinary(256), @hexvalue varchar (514) OUTPUT Leer másTraspaso de usuarios entre servidores SQL[…]

Publicada en SQL

Instalación centralizada a3ERP Excel Server

Por defecto Excel espera los complementos en %AppData%\Roaming\Microsoft\Complementos Es decir, en una carpeta diferente para cada usuario. También se pueden instalar en C:\Archivos de programa (x86)\Office\(Version)\Library Es decir, en una carpeta diferente para cada usuario, ya que cada usuario puede tener diferentes versiones de Excel o haber instalado en otra ruta su Office. Cuando usamos Leer másInstalación centralizada a3ERP Excel Server[…]

Listados de facturas SII

Si en a3ERP queremos conocer el estado de las facturas presentadas al SII podemos generar los siguientes listados personalizados: Facturas de compra: SELECT CABEFACC.CONTABLE, CABEFACC.IDFACC, CABEFACC.TIPOCONT, CABEFACC.SERIE, CABEFACC.NUMDOC, CABEFACC.FECHA, CABEFACC.REFERENCIA, CABEFACC.CODPRO, CABEFACC.NOMPRO, COALESCE(SII_ESTADO.DESCRIPCION, ») EstadoSII FROM CABEFACC WITH (NOLOCK) LEFT JOIN SII_FACTC WITH (NOLOCK) ON SII_FACTC.IDFAC = CABEFACC.IDFACC LEFT JOIN SII_ESTADO WITH (NOLOCK) ON SII_FACTC.ESTADO Leer másListados de facturas SII[…]

Como realizar nuestras copias de seguridad

Existen varios conceptos que es necesario entender y reglas que debemos seguir para que nuestros backups sean efectivos. La regla 3-2-1 se convirtió en un concepto conocido gracias a  Peter Krogh, un reconocido fotógrafo que escribió que había dos tipos de personas: aquellos que ya habían sufrido un fallo en el almacenamiento y aquellos que Leer másComo realizar nuestras copias de seguridad[…]

Trigger para evitar duplicar albaranes en TREE

Cuando pasamos albaranes a TREE, deberían ser albaranes firmados por la persona que recepcionó el material, con lo que no deberían existir duplicados. Tras introducir un albarán en TREE deberíamos sellarlo. Sin embargo, en ocasiones, un albarán puede acabar en administración dos veces, ya sea porque el que lo introdujo no lo selló, o porque Leer másTrigger para evitar duplicar albaranes en TREE[…]

Publicada en SQL

IMAGEN en una SELECT

En caso de que queramos incorporar una imagen en una instrucción SELECT de SQL podemos usar la función OPENROWSET. Por ejemplo: SELECT * FROM OPENROWSET(BULK N’X:\Imagenes\Obra002.jpg’, SINGLE_BLOB) AS Imagen Si lo que queremos es generar la lista de imágenes en una tabla, por ejemplo cargar las imágenes en la tabla de artículos de a3ERP podemos Leer másIMAGEN en una SELECT[…]

Publicada en SQL