Estimados amigos. Quería haceros una consulta porque no estoy puesto en SQL Server 2012 y me ha tocado lidiar con un proyecto que hace uso de esta base de datos.
El caso es que tengo una aplicación heredad de la versión 2008, que he estado buscando pero ya nadie ofrece en los planes de hosting. He instalado la versión 2012 pero tengo problemas con los triggers que sin funciionan bien en la 2008.
Por ejemplo, este trigger:
Código SQL:
Ver originalUSE [BBDD]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [Seguimientos].[trLlamadas]
ON [Seguimientos].[Llamadas]
AFTER INSERT,UPDATE,DELETE
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON;
BEGIN TRY
SELECT * INTO #INSERTEDTABLA FROM INSERTED
SELECT * INTO #DELETEDTABLA FROM DELETED
IdNombreTabla -> NombreTabla (ELIMINADO EL Id)
DECLARE @nombreTabla VARCHAR(100)
SET @nombreTabla = (SELECT dbo.ObtenerNombreTablaAuditar ('tempdb.dbo.#INSERTEDTABLA'))
DECLARE @Columns_Update varbinary(MAX)
SELECT @Columns_Update = COLUMNS_UPDATED()
EXECUTE dbo.spAuditar @nombreTabla, @Columns_Update
END TRY
BEGIN CATCH
DECLARE @CadenaCatch VARCHAR(MAX)
SET @CadenaCatch = 'TRIGGER trLlamadas: ' + (SELECT ERROR_MESSAGE())
RAISERROR (@CadenaCatch,16,10)
ROLLBACK TRANSACTION
END CATCH
IF (@@TRANCOUNT > 0) COMMIT TRANSACTION
END
[/CODE]
Me funciona perfectamente en 2008 pero no en 2012. ¿Alguien sabe si hay alguna diferencia, algo que pueda "reprogramar" para que funcione?
Muchísimas gracias a todos.