글을 올렸는데 아무도 관심을 주지 않으셔서 ㅜㅜ 다시 올립니다...
SQL 2000 기준 로그인, 사용자, 소유자 관련 내용이며, 도움을 청합니다.

웹사이트 하나가 있습니다.
SQL 2000 연결로 돌아가고 있으며, 현재 웹호스팅 서비스를 통해 운영되고 있습니다.
이 웹사이트를 local에 똑같이 세팅하고 테스트 및 개편 작업을 하려고 합니다.

1. HOSTING SERVER
    Server Name : xxx.cafe24.com
    Login 계정 : w2kh / 1234
    DataBase Name : w2kh
    사용자 : w2kh
    사용자 TABLE : 소유자가 dbo로 되어 있음 (사용자 및 시스템 테이블 모두)
    사용자 PROC : 소유자가 w2kh로 되어 있음 (시스템 PROC는 소유자가 dbo)

2. Localhost (테스트 및 작업용 서버)
    Server Name : localhost
    Login 계정 : sa / 1234
    DataBase Name : w2kh
    사용자 : sa
    사용자 TABLE : 신규 생성 DB로 아직 사용자 TABLE 없음 (시스템 TABLE 만 존재)
    사용자 PROC : 신규 생성 DB로 아직 사용자 PROC 없음 (시스템 PROC 만 존재

위 상황에서 Local 작업용 웹사이트를 세팅 합니다.
이어서 DB 세팅도 합니다.

1. HOSTING Server에 있는 DB를 백업받아 해당 백업 파일을 내려 받습니다.
2. localhost의 로그인에 w2kh / 1234 계정을 추가합니다.
3. Database 접근 DB로 w2kh(신규생성)를 지정합니다.
4. w2kh 역할로 public과 db owner를 지정합니다.
5. 내려받은 백업 DB를 복원합니다.
6. localhost의 w2kh 계정이 복원된 DB의 사용자와 연결이 끊어져 있음을 확인합니다.
7. sp_change_users_login 'w2kh', 'w2kh' 명령을 사용해 끊어진 로그인을 연결합니다.
8. 테스트용 웹사이트를 열어 봅니다.
9. 프로시저를 찾을 수 없다며 오류를 냅니다. 하지만 DB접근이나 테이블 엑세스는 정상입니다.
(복원 과정에서 문제가 없었으며 프로시저는 존재하는 상태입니다.)

이것 저것 살펴본 결과..
프로시저의 소유자는 w2kh로 되어 있고 테이블은 dbo로 되어 있음을 확인합니다.
현재 w2kh 계정으로 로그인 했을 때 w2kh소유자로 되어 있는 PROC는 찾지 못하고 dbo가 소유자인 테이블은
정상적으로 엑세스 됩니다.

그래서 이것 저것 해보다가 sp_helpText w2kh.sp_xxxx 라는 식으로 접근을 했더니
해당 프로시저를 찾고 실행까지 됩니다.
개채명 앞에 소유자명(스키마?)를 넣으니 w2kh 계정으로 프로시저를 실행 할 수 있네요...

여기서 질문입니다.

의문 1 : 왜 w2kh가 소유자로 되어있는 프로시저에 w2kh 계정으로 접근하면 개채를 찾지 못하는가?
의문 2 : 왜 sa로 접근을 하면 저장프로시저와 테이블 모두 접근이 가능한가?
의문 3 : 왜 HOSTING Server쪽은 문제 없이 잘 되는데 LOCAL에서 RESTORE 하면 이런 문제가 생기는가?
의문 4 : localhost에서 생성한 로그인 계정 w2kh는 호스팅 서버에서의 w2kh와 다른 계정인가?

이 문제를 해결하기 위해 
얼마전 도움의 글이 되었던 "로그인 계정의 서버 역할 지정 없애기" 방법이 큰 도움이 되었습니다.
그리고 이 방법 말고도 모든 개체의 소유자를 dbo로 바꾸 방법도 있었습니다.
문제 해결의 방법은 알고 있지만 지금 저에게 중요한 것은 문제 해결에 대한 단편적 수단이 아니라 
왜 이런 상황이 벌어지는가에 대한 원인 규명과 근본적 대처 방법입니다.

지금 이 문제의 원인과 이유를 알아내지 못하면 영원히 묻힐 거 같아서
잘 아시는 분들의 도움을 청합니다.

제가 무엇을 놓쳤고, 어떤 것을 잘못 이해했으며 어떻게 해야 하는지 조언 부탁드립니다.
No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 2166
» 로그인, 사용자, 소유자 관련 내용이며 다른 서버의 DB복원 후 프로시저를 못찾습니다. [2] Larry 2013.07.16 5417
7009 님들은 통계 구성을 어케하시나요? [7] 파인드쿠폰 2013.07.16 4830
7008 프로시저 인자값 관련 문의 드립니다. [5] 세균장군 2013.07.16 5342
7007 MS SQL 설치시 파일 분리 [2] 버즈베잇 2013.07.16 7806
7006 두 테이블의 매출 상세내역 조인쿼리시 고유번호로 정렬 방법 문의 ? [3] chs217 2013.07.15 5207
7005 dateTime 인덱스에 관하여 잘문이 있습니다. [3] alima 2013.07.15 6252
7004 여려 sp의 공통의 문자열을 한번에 alter 하는 방법이 있을까요? [4] 상쿨 2013.07.15 7614
7003 Select 시 없는 데이터는 0 으로 나오게 하려면... [3] taz2315 2013.07.15 10240
7002 매월 매출데이터조회 [2] MissingYou 2013.07.14 5243
7001 풀텍스트 검색 관련.. 순수보이 2013.07.14 5209
7000 대용량 DB 백업 최선의 방법은? [2] 강구다.. 2013.07.13 7251
6999 프로시져들의 수행시간이 길어지는 경우 전념 2013.07.13 5236
6998 고가용성 관련 질문입니다... 메칸더 2013.07.12 4779
6997 SQL2008 로그전달 문의드립니다 맨발의청춘 2013.07.12 5095
6996 dtsx 패키지 새로운 서버로 이동 [1] 공유맨 2013.07.12 5215
6995 이너조인에서 최적화된 조건절에 대해서... [4] 화성에서왔어요 2013.07.12 5701
6994 저장프로시져에서 이럴 경우 어떻게 해줘야 하나요.... 구문을 모르겠네요? [6] 삼미슈퍼스타 2013.07.12 4737
6993 프로시져를 사용하여... SQL 서버(A)의 B 데이터베이스 ---> SQL 서버(C)의 D 데이터베이스 로 접근방법 [2] 용대가리 2013.07.12 4936
6992 클라이언트 관리자가 없나요?? [2] 클리티에 2013.07.12 4571
6991 로그에 concurrent queries. 가 나오는데요. [6] 하람v 2013.07.11 5314





XE Login