SQL Server 계정에 대한 권한 정리 및 패스워드 변경 작업을 하면서 겪은 상황이다.
신규 계정을 생성한 후, 사용하는 DB에 대한 권한만 넣었는데,
DB 접근도 잘 되고,
특정 프로시저에 대한 접근(SSMS 상에서 보임), 실행("1개 행 적용됨" 메시지 출력 및 "프로시져 실행 시작.." 메시지 출력) 은 되는데,
"\nError converting data type nvarchar to float. [8114]" 라는 메시지가 나타났다.
처음에는 원래 접속하던 계정이 가지고 있던 권한(SA 권한이었다...) 에서 빠진 게 있나 하고, 시스템 DB에 대한 db_owner 권한도 넣어보고 했지만, 여전히 위의 에러코드가 출력되었다.
그러던 중, SA의 로그인 속성은 기본 언어가 한국어인 반면, 내가 새로 만든 계정은 English 인 것을 발견했다!
해당 SQL Server 계정에 대한 '기본 언어' 속성을 한국어로 바꾸고 나니, 프로시저 실행이 잘 되었다.
아무래도 한글로 되어 있는 어떤 데이터를 인식을 못하여 float 데이터로 바꾸지 못하던 현상인 듯 하다.
"\nError converting data type nvarchar to float. [8114]"
위의 에러 메시지로 잘 되던 프로시저가 갑자기 잘 안된다면,
해당 계정의 [로그인 속성] - [기본 언어] 가 NVARCHAR 타입으로 되어 있는 데이터의 언어와 맞게끔 변경해보도록 하자!
최근댓글