안녕하세요.
SQL 2000 서버를 사용중인데, 특별한 작업이 없었는데 어제부터 갑자기 소유자명 없이는 테이블이나 SP를 찾지 못하고 있습니다.
예를 들어, SELECT * FROM TEST 로 조회를 할 경우는 찾을 수 없다는 에러가 나며,,,
SELECT * FROM A.TEST로 소유자를 명시해주어야만 조회가 가능하네요..
혹시 이런 경우 보신 분 계시면, 도움 부탁드립니다. ㅠㅠ
Comment 6
-
minsouk
2013.02.14 13:24
-
문희성
2013.02.14 15:20
우선 답변 감사드립니다.
DB에 A, B, C 등 몇 개 계정이 있으며, 기존에 생성도 A로 되어 있고, 로그인도 항상 A로 로그인하여서 사용하였습니다.
또 DW 용이라 다른 사람이 들어가서 건들수도 없고,,,
암튼 2000 뭐 할라 하면 지원 안되고,,,, 빨리 업그레이드를 하면 나아질런지..
답변 감사드립니다. 정확히 해결되면 공유하도록 할게요. ㅎ
-
minsouk
2013.02.14 15:33
위에 정보 정확한 거에용~
-
문희성
2013.02.14 16:56
네 감사합니다.
정확하지 않다는 의미는 아니였으니 오해 없으시길...
원인과 근본적인 해결법이 궁금해서,,, 소유자 변경은 차선책으로 생각하고 있습니다.
-
미친존재감
2013.02.14 18:12
문제가 되는 소유자명(아마도 로그인 계정도 동일할 것으로 추정)으로 로그인 하신 후,
SELECT user_name();
해보시기 바랍니다. 소유자 없이는 검색이 안된다면 위 쿼리 결과가 'dbo' 로 나오는 상태로 보이는데요..
이럴 경우, 해당 계정의 서버 역할을 찾아보시기 바랍니다. 혹시 System Administrator 같은 게 포함되어 있지는 않는지..
아래는 user_name() 에 대한 도움말에서 찾아본 내용 발췌 부분입니다.
sysadmin 고정 서버 역할의 멤버인 사용자의 경우 결과 집합은 다음과 같습니다.
------------------------------
dbo
(1 row(s) affected)
http://msdn.microsoft.com/ko-kr/library/ms188014(SQL.105).aspx
-
문희성
2013.02.15 08:08
답변 감사드립니다.
원래 들어가 있는데 서버 역할들이 다 들어가 있었는데,, 갑자기 왜 그런지 모르지만,, 서버 역할 빼고나니 되네요,
업데이트를 빨리 해야지...
어찌됐든 해결되었네요. 감사합니다.
sa 로 들어가서 소유자 a.tblx 를 찾으면 죽었다 깨도 못 찾습니다.
누가 테이블을 a.tblx 로 만들어서 작업했나 보네요~
정신건강상 dbo.tblx 로 바꾸어 쓰는게 좋던데요. 그냥 문제를 해결하기 위해서는 a 유저로 들어가서 작업하던지 하세요~