2013-08-28 2 views
0

우리는 애플리케이션의 세션 데이터가 테이블에 저장되어있는 테이블을 가지고 있습니다. 위의 데이터를 더 의미있는 하나의 테이블에 배치하는 SQL 작업이 있습니다.특정 인스턴스에서만 SQL 작업이 실패 함

우리가 작업, 개발 환경과 테스트에 전달 된 작업을 만든

,하지만 우리는 생산 단계에서 작업을 실시 할 때, 작업이 다음 오류와 함께 실패합니다. 문자 문자열 우리는 응용 프로그램 DB가 상주하며 SQL 작업이 성공적으로 완료되는 경우 이외의 다른 인스턴스에 DB를 복원하는 시도

에서 날짜 및/또는 시간을 변환 할 때

변환에 실패했습니다. 응용 프로그램 DB가 상주하는 인스턴스에서만 작업이 실패합니다.

단계는 우리가 뭘하려합니다 : 우리는 작업은, 차이를 실패하지 않습니다 인스턴스에 성공적으로 완료 인스턴스의 SQL 구성을 비교하는 시도 는 우리가 있는지 확인하기 위해 몇 가지 인쇄 문을 작성 수동으로 저장된 프로 시저를 실행 시도 실제로 코드 문제,이 작업은 특정 세션 GUID에 실패하지 않고 동일한 단계가 DEV 환경에서 전달되므로 우리에게 도움이되지 못했습니다.

왜 이것이 응용 프로그램 DB가 상주하는 인스턴스에서만 발생하는지 파악할 수 없습니다.

+0

오류의 원인이되는 데이터를 게시 할 수 있습니까? – Gidil

+1

다른'locale'이 문제의 핵심에있을 수 있습니까? 정확히 어떤 날짜 변환이 작동하지 않았고 날짜 문자열이 어땠는지 확인 했습니까? – cars10m

+0

추가 정보 : 전체 인스턴스를 다른 인스턴스로 복원하고 저장된 proc을 실행했을 때 SP가 성공적으로 완료되어 코드 문제가 제외되었으므로 코드가 문제가되지 않는다고 생각합니다. – TheGame

답변

0

"문자열에서 날짜 및/또는 시간을 변환 할 때 변환하지 못했습니다." 이 오류는 데이터를 기반으로합니다. 데이터 형식으로 변환 할 수없는 형식의 문자열이 있습니다. 이 문제는 데이터와 관련된 코드가 아닙니다. 데이터를 필요한 형식으로 변환하기위한 전처리 단계를 추가하십시오. 라이브가 영어로 설정되어있는 동안 영국 영어로 설정하고 개발/테스트의 계정과 비슷한 것이 내 생각 엔 -

+0

DEV의 동일한 세션 GUID에 대해 동일한 변환이 발생했습니다. – TheGame

+0

Dev의 데이터는 프로덕션의 데이터와 다릅니다. –

0

확인 서버의 기본 언어는 작업에서 실행되는 계정. 그러나 이러한 경우에도 여전히 문제가 LIVE에 나타나는 이유 만 나타냅니다. 이 문제를 해결하기 위해해야 ​​할 일은 날짜 형식에 대한 가정이없고, 암시 적으로 날짜 변환을하지 않으며, 문자가 아닌 날짜 변수/열에 날짜를 포함해야합니다.

+0

데이터 정렬은 DEV/TEST와 동일하므로 특정 SP가 Live에서 오류를 던지는 이유를 잘 모릅니다. 또한 응용 프로그램 DB 인스턴스가 아닌 다른 인스턴스에서 복원하고 동일한 데이터로 SP를 실행할 때주의해야합니다. , sp가 완료되면 다른 동일한 이름의 DB (app_temp)를 응용 프로그램 DB의 동일한 인스턴스에 복원 할 때 동일한 오류로 다시 실패합니다. – TheGame

+0

데이터 정렬은 아니지만 작업이 실행되고있는 서비스 계정을 나타냅니다. – MartW

관련 문제