martes, 27 de julio de 2021

Replication – Execution of filter stored procedure xxxx failed. See the SQL Server errorlog for more information.

 Execution of filter stored procedure 1288585956 failed. See the SQL Server errorlog for more information.

The Log-Scan Process failed to construct a replicated command from log sequence number (LSN) {005765c9:0000bb74:0002}. Back up the publication database and contact Customer Support Services.


El error anterior indica que Log Reader Agent está bloqueado en LSN {0001d651: 00002a49: 0006} y no puede leer ni crear un comando para este LSN.
Como el Agente de lectura de registros está atascado en el LSN, no avanza y ya que solo podemos tener 1 Agente de lectura de registros en Replicación transaccional que se utiliza para todas las publicaciones. Todas las publicaciones muestran errores en el monitor de replicación y no avanzan.
Verificamos la transacción en el LSN {0001d651: 00002a49: 0006}.

En el error anterior, vemos "Error en la ejecución del procedimiento almacenado del filtro 2048634987"
. Verificamos el ID del procedimiento almacenado del filtro de sysarticles y descubrimos que era el procedimiento almacenado del filtro para la tabla dbo.booking



SELECT * FROM sys.dm_cdc_errors


Sin embargo, la entrada de el procedimiento almacenado del filtro faltaba en las tablas sysobjects, lo que indica que el procedimiento almacenado del filtro se eliminó por alguna razón. Para confirmar esto usamos la siguiente consulta

select * from (select art.name as article_name

, art.pubid as publication_id

, art.artid as article_id

, art.filter as filter_proc_id

, isnull(obj.name,'## MISSING!! ##') as filter_proc_name

from sysarticles art left outer join sys.objects obj

on art.filter = obj.object_id

where art.filter > 0)as results

solución

Eliminé la publicación, la recreé y luego creé una suscripción sin inicialización. esto impidió una instantánea completa.

O

Entonces, para resolver esto, identificamos las publicaciones de la tabla syspublications con pubid = 750.
Luego eliminamos el filtrado para los 3 artículos anteriores y los volvimos a agregar y el procedimiento almacenado se volvió a crear.
Luego recreamos la instantánea para esa publicación y marcamos su suscriptor para reinicializar.
El agente de instantáneas volvió a crear la instantánea y el agente de lector de registros comenzó a funcionar correctamente sin errores.
Verificamos el Monitor de replicación y el error desapareció.

lunes, 28 de junio de 2021

Error MSB3644 The reference assemblies for .NETFramework,Version=v4.7 were not found.

Severity Code Description Project File Line Suppression State

Error MSB3644 The reference assemblies for .NETFramework,Version=v4.7 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks GestionInventario.WebApi C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1180  


Descargar he instalar:

https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net47-developer-pack-offline-installer


The reference assemblies for framework “.NETFramework,Version=v4.6.2” were not found

 Error MSB3644 The reference assemblies for framework ".NETFramework,Version=v4.6.2" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. C:\RPR\Dev\Libraries\Common\Common.csproj C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 


Resulta que había instalado .NET Framework v4.6.2, no el Developer Pack para 4.6.2.


https://www.microsoft.com/en-us/download/details.aspx?id=53321



jueves, 1 de abril de 2021

Script para obtener el tamaño de las tablas de la base de datos sql server

SET NOCOUNT ON

DBCC UPDATEUSAGE(0)

-- Table row counts and sizes.

DECLARE @sizes TABLE

(

    [name] NVARCHAR(128),

    [rows] CHAR(11),

    reserved VARCHAR(18),

    data VARCHAR(18),

    index_size VARCHAR(18),

    unused VARCHAR(18)

)

INSERT @sizes EXEC sp_msForEachTable 'EXEC sp_spaceused ''?'''

SELECT *

FROM   @sizes

ORDER BY convert(int, substring(data, 1, len(data)-3)) desc


martes, 23 de febrero de 2021

Eliminar saltos de línea en celdas Excel

  1.  Seleccionamos el rango de celdas en donde deseamos quitar los saltos de linea.
  2.  Pulsamos Ctrl + B para entrar en el cuadro de diálogo Buscar y reemplazar
  3.  En la ficha Reemplazar y en el apartado Buscar, pulsamos Ctrl + J para insertar el código de salto de línea. En Reemplazar con, escribimos un espacio o dejamos en blanco
  4. Terminamos pulsando el botón Reemplazar todos y cerramos el cuadro de diálogo.

o

Con una fórmula: SUSTITUIR y CARACTER

Cuando queramos conservar las celdas originales y copiarlas en otro rango en una sola fila, usaremos esta fórmula:


=SUSTITUIR(B2;CARACTER(10);"  ")    


lunes, 15 de febrero de 2021

LINQ Group By y select collection c#

Objeto 


 items.GroupBy(item => item.Order.Customer)

     .Select(group => new { Customer = group.Key, Items = group.ToList() })
     .ToList();

Lista de enteros:

  List<int> solicitudes = partidasPAD.PartidaPAD.GroupBy(x => x.idSolicitud).Select(grupo => grupo.Key).ToList();

martes, 19 de enero de 2021

HTTP Error 500.19 - Internal Server Error Cannot read configuration file due to insufficient permissions

 

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.














Solucion:

 El problema está en los permisos de archivos de Windows .

Este problema ocurre porque su aplicación no puede acceder y leer el archivo web.config .

Haga que el archivo sea accesible para el grupo IIS_IUSRS . Simplemente haga clic derecho en web.config y haga clic en propiedades , en la pestaña de seguridad , agregue IIS_IUSRS .

o para mas facil directamente en la carpeta contenedora de la apliacion.