none
Scripta para comparar configuración de dos db. RRS feed

  • Pregunta

  • Estimados necesito me puedan brindar su ayuda lo que sucede que estoy replicando información de oracle a sql server en una tabla con nombre por decir "ABC" que tiene un campo datetime en ambiente DESA  y todo funciona correctamente, pero ahora estoy haciendo lo mismo en ambiente PRO  con la misma tabla y el mismo campo datetime pero resulta que me esta dando problema al insertar esta fecha al parecer la base que esta en PRO tiene otro DATEFORMAT o alguna configuración diferente que hace que me este dando problema.

    Al momento estoy ejecutado lo siguientes script  en amabas bases para ver si tienen alguna propiedad diferente  pero las dos arrojan esta misma configuración "us_english"

    Me gustaria saber si existe algun script para obtener la configuración de una base sque me diga el  DATEFORMAT que esta utilizando  o al algo donde pueda indentificar que haya alguna diferencia claro si la hay.

    Saludos,

    select @@language

    sp_configure --pero no entiendo mucho la información que devuelve

    SELECT name, description, is_advanced
    FROM sys.configurations ; 


     


    Alex_87

    martes, 1 de diciembre de 2015 2:43

Respuestas

  • EStimados agradezco su infromación por el momento lo resolvi ejecutando este script que me indica lenguaje y dateformat.

    SaLudos,

    SELECT
    
    	 DBName             = DB_Name(er.database_id)
        ,Language			= ses.language
    	,Date_Format		= ses.date_format
    	,DataBase_ID		= er.database_id 
        ,SPID                = er.session_id
        ,STATUS             = ses.STATUS
        ,[Login]            = ses.login_name
        ,Host               = ses.host_name
        ,Authentication     = con.auth_scheme
        ,StartTime          = er.start_time
    
    FROM sys.dm_exec_requests er
    OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) st
    LEFT JOIN sys.dm_exec_sessions ses
    ON ses.session_id = er.session_id
    LEFT JOIN sys.dm_exec_connections con
    ON con.session_id = ses.session_id
    where er.database_id = ?
    
        


    Alex_87

    martes, 1 de diciembre de 2015 20:23

Todas las respuestas

  • para arreglar esto, comprueba el idioma por defecto del usuario que se conecta en ambos ambientes. Eso marca el lenguaje y el dateformat.

    En cualquier caso si utilizas un formato iso para las fechas te ahorraras estos dolores de cabeza

    insert into tabla values('20150210') siempre insertará esto como 10 de febrero, nunca como 2 de octubre, es inequívoco y quita estos mareos.


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    martes, 1 de diciembre de 2015 17:36
    Moderador
  • EStimados agradezco su infromación por el momento lo resolvi ejecutando este script que me indica lenguaje y dateformat.

    SaLudos,

    SELECT
    
    	 DBName             = DB_Name(er.database_id)
        ,Language			= ses.language
    	,Date_Format		= ses.date_format
    	,DataBase_ID		= er.database_id 
        ,SPID                = er.session_id
        ,STATUS             = ses.STATUS
        ,[Login]            = ses.login_name
        ,Host               = ses.host_name
        ,Authentication     = con.auth_scheme
        ,StartTime          = er.start_time
    
    FROM sys.dm_exec_requests er
    OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) st
    LEFT JOIN sys.dm_exec_sessions ses
    ON ses.session_id = er.session_id
    LEFT JOIN sys.dm_exec_connections con
    ON con.session_id = ses.session_id
    where er.database_id = ?
    
        


    Alex_87

    martes, 1 de diciembre de 2015 20:23