동일한 SQL 서버에서 다른 데이터베이스의 개체에 한 데이터베이스 액세스 권한을 허용해야하는 시나리오가 있습니다.2 데이터베이스의 SQL 사용자 권한
SQL Server 설치 :
SQL Server 2008 Express 인스턴스를 실행하고 있습니다. 해당 인스턴스 내에서
나는 다음과 같은 한 :
2 데이터베이스 :
DATABASE1
DATABASE2
2 로그인 :
ADMIN1
ADMIN2
DATABASE1 사용자를 가지고 (USER1) ADMIN1에 생성 한 선택은, UPDATE, INSERT 그랜트가 DATABASE1
저장 프로 시저에서 실행 삭제 권한을 가지고DATABASE2가 ADMIN2에 생성 한 사용자 (USER2)를 가지며, SELECT, UPDATE 권한을 가지고 DELETE, INSERT 및 GRANT는 DATABASE2에 저장 프로 시저에서 실행
질문 :
내가 필요로하는 것은 내가 시도
DATABASE2
의 절차를 테이블에 권한을 실행하고 저장/'USER1'SELECT 수 있도록하는 것입니다 몇 가지 게시물에서 SQL 스 니펫을 몇 개 만들었지 만 SQL을 작성하는 방법을 모릅니다. 사용자 및 로그인을 Management Studio에서 마우스 오른쪽 단추로 클릭하여 사용 권한에 대한 확인란의 체크 표시를 수동으로 시도했지만 내 스크립트에서 SQL을 실행해야합니다. 내 질문에 대한이유 는
나는 관련이 DATABASE1 및 DATABASE2의 테이블을 가지고 있지만 분명히 우리는 다른 데이터베이스에서 외래 키 제약 조건을 만들 캔트. 두 테이블 간의 관계를 처리하는 가장 좋은 방법은 DATABASE2에있는 관련 테이블을 쿼리하여 결과를 반환하는 DATABASE1의 저장 프로 시저를 만드는 것입니다.
위와 같은 시나리오와 일치하는 검색을 통해 예제를 찾을 수 없으므로 사과 할 수 없습니다. 추가 정보가 있으면 알려주십시오.
많은 감사 케빈
그냥 "교차하는 데이터베이스"를 보았습니다. 아이디어 1. Database2에서 Database2를 참조하는 뷰를 생성합니다. 나는 새로 정의 된 스키마 이름 아래에 넣을 것이다. 그래서 ... 데이터베이스 1을 쿼리하면 (db 2의 데이터를 볼 수 있음), "Select A, B, C from OtherDatabasesSchema.vwCounty ........ Idea2, db1의 코드에서 동의어를 사용하고 동의어는 데이터베이스 2의 개체를 가리킬 수 있습니다. – granadaCoder