기존의 SQL2000에서는 소스상에서 사용자 디비연결을 aaa로 하여, dbo.Table 이나 aaa.Table이 모두 접근가능했습니다. 그런데, 2008로 업그레이드를 한 이후 소스상에서 dbo.TableA 로 접근은 가능하지만, aaa.TableA로는 접근이 불가능하네요. 반드시 앞에 aaa.TableA 이렇게 사용자명을 붙어여주어야 나옵니다. 그렇지 않으면, 개체 이름이 잘못되었다고 나오네요. 앞에 사용자명을 붙이지 않아도 기존처럼 테이블명만 입력해도 정상적인 셀렉트,인서트가 되려면, 어떻게 사용자 권한 설정을 주어야 하나요.~ 고수님들의 한 수 부탁드립니다.~~
Comment 2
-
catchv
2013.05.07 00:33
-
쓸만한게없네(윤선식)
2013.05.08 10:53
정확히 말하면 2005 이후부터는 사용자도 아니고 소유자도 아닙니다. 스키마라는 개념입니다.
http://msdn.microsoft.com/ko-kr/library/ms190387(v=sql.105).aspx
ALTER SCHEMA dbo TRANSFER aaa.TableA;
로 변경 할 수 있습니다.
변경 후에는 사용계정에 사용권한이 없는 경우 사용할 수 없으므로 사용권한을 할당하셔야 합니다.
-- catchv