문제

기본적으로 10 개의 데이터베이스 중 하나에 액세스 할 수있는 계정을 통해 원격 SQL 서버에 연결하는 경우. 객체 탐색기에 여전히 다른 모든 데이터베이스에 표시됩니다. 실제로 쿼리 할 수는 없지만 이름을 볼 수 있습니다.

이 동작을 비활성화하는 방법이 있다고 들었지만 답을 찾을 수 없었습니다. 누구 든지이 작업을 수행하는 방법을 알고 있습니까? 예를 들기 위해 MyDbserver라는 SQL Server가 있는데 4 개의 데이터베이스가 있습니다.

  1. mydatabase
  2. yourdatabse
  3. privatedatabase
  4. 정말로 확신합니다

"YourDatabse"에 대한 권한 만있는 계정을 통해 연결하는 경우에도 여전히 다른 모든 데이터베이스의 목록이 표시되면 쿼리를 시도하면 "선택"권한 거부 또는 유사한 오류가 발생합니다.

보안 리슨의 경우 사용자가 맵핑 된 데이터베이스 이외의 데이터베이스를보고 싶지 않습니다.

도움이 되었습니까?

해결책

이 블로그 SQL 2000 및 SQL 2005에 대한 DBS를 숨기는 방법에 대해 이야기합니다.

다른 팁

내 고객이 식별 된 리소스로 어려움을 겪은 후 나는 약간의 테스트를 수행하고 만들었습니다. 이 블로그 게시 이 작업을 수행하는 방법에 대한 문맥과 교육이 조금 더 있습니다.

그것의 부족은 다음과 같습니다.

use master
go
deny VIEW any DATABASE to login1
go

여기서 login1은 제한하려는 로그인 계정입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top