DisallowAdHocAccess 설정을 사용 하 여 연결 된 서버에 대 한 액세스를 제어 하는 방법

요약

Microsoft SQL Server OPENROWSET 또는 OPENDATASOURCE 기능을 사용 하는 임시 쿼리를 사용 하지 않도록 설정 하는 방법을 설명 합니다.

Transact SQL 문 사용 안 함

다음 작업 중 하나를 수행 하 여 특정 OLE DB 공급자에서 OPENROWSET과 OPENDATASOURCE 함수를 사용 하 여 임시 연결 문자열을 사용 하는 Transact SQL 문을 해제할 수 있습니다.

  • SQL Server 실행 하는 컴퓨터에 연결된 된 서버를 만들면 OLE DB 공급자에 대 한 DisallowAdHocAccess 속성을 지정할 수 있습니다.
  • 이미 연결된 된 서버 레지스트리를 직접 수정 하 고 DisallowAdHocAccess 값을 추가 수 있습니다.

연결된 된 서버를 만들 때 DisallowAdHocAccess 속성을 지정 합니다.

SQL Server 실행 하는 컴퓨터에 연결된 된 서버를 만들면 OLE DB 공급자에 대 한 DisallowAdHocAccess 속성을 지정할 수 있습니다. 이렇게 하려면, 다음 단계를 수행하십시오.
  1. SQL Server 엔터프라이즈 관리자를 열고 해당 서버의 보안 폴더를 선택 하려면 클릭 합니다.
  2. 연결 된 서버 항목을 마우스 오른쪽 단추로 클릭 한 다음 새 연결 된 서버를 클릭 합니다.
  3. OLE DB 공급자를 사용 하려면 선택한 공급자 옵션 단추를 클릭 합니다.
  4. 아래로 스크롤하고 속성을 임시 액세스 허용 안 함 확인란을 선택 합니다. 계속 연결 된 서버 항목 만들기를 마칩니다.

수동으로 레지스트리를 수정 하 고 DisallowAdHocAccess 값을 추가 합니다.

연결된 된 서버에 저장 된 후 레지스트리 설정을 통해만 DisallowAdHocAccess 속성을 설정할 수 있습니다.

참고: 두 그림은 모두 ODBC 및 SQL Server OLE DB 공급자는 OLE DB 공급자 변경 하는 방법을 단지 예. 다른 OLE DB 공급자를 사용 하려는 경우 해당 공급자 항목을 수정 해야 합니다.

중요: 이 섹션, 방법 또는 작업은 레지스트리를 수정하는 방법을 설명하는 단계를 포함합니다. 그러나, 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의 깊게 수행해야 합니다. 추가 보호 조치로, 해당 레지스트리를 수정하기 전에 미리 백업하세요. 그런 다음, 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 레지스트리를 백업 및 복원하는 방법에 대한 자세한 내용은, Microsoft 기술 자료의 다음 문서 번호를 클릭합니다.
322756 백업 및 Windows에서 레지스트리를 복원 하는 방법

DisallowAdHocAccess 값을 추가 합니다.

DisallowAdHocAccess 값을 추가 하려면 다음과이 같이 하십시오.

  1. 레지스트리 편집기를 시작 합니다.
  2. 찾아 레지스트리에서 다음 키를 누릅니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\<ProviderName>
    예제

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSDASQL

  3. 편집 메뉴에서 값 추가클릭 하 고이 레지스트리 값을 추가 합니다.
       Value name: DisallowAdHocAccess
    Data type: REG_DWORD
    Radix: Hex
    Value data: 1
  4. 레지스트리 편집기를 종료합니다.

기존 DisallowAdHocAccess 값을 수정 합니다.

기존 DisallowAdHocAccess 값을 수정 하려면 다음과이 같이 하십시오.

  1. 레지스트리 편집기를 시작 합니다.
  2. 찾아 다음 레지스트리 키에서 DisallowAdHocAccess 값을 클릭 합니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\<ProviderName>
    예제

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\Microsoft.ACE.OLEDB.12.0
  3. 편집 메뉴에서 DWORD, 1입력 한 다음 확인을 누릅니다.
  4. 레지스트리 편집기를 종료합니다.
명명 된 인스턴스의 경우 레지스트리 키 값은 다른
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL 공급자 < 이름 > < 인스턴스 이름 > Server\ \Providers\

참고
  • 변경 된 1 0 DisallowAdHocAscess 의 값 0에서 1로 변경 SQL 서비스는 변경 내용을 적용 하려면 다시 시작 해야 하는 반면 SQL 서비스를 다시 시작을 해야 합니다.
  • DisallowAdHocAccess 속성이 1로 설정, SQL Server를 통해는 OPENROWSET과 OPENDATASOURCE 함수는 지정한 OLE DB 공급자에 대 한 임시 액세스를 허용 하지 않습니다. 특별 쿼리에서 이러한 함수를 호출 하려고 하면 다음과 유사한 오류 메시지가 나타납니다.
    서버: 메시지 7415, 수준 16, 상태 1, 줄 1 OLE DB 공급자 'Microsoft.Jet.OLEDB.4.0' 특별 액세스 거부 되었습니다. 연결된 된 서버를 통해이 공급자에 액세스 해야 합니다.
    즉, 특정 OLE DB 공급자에 대 한 1로 설정 하면 DisallowAdHocAccess 속성을 사용 해야 미리 정의 된 연결된 서버 설치 전용 OLE DB 공급자에 대 한. 더 이상 해당 공급자에서 OPENROWSET 또는 OPENDATASOURCE 함수를 참조 하는 임시 연결 문자열에 전달할 수 없습니다.


참조

SQL Server 온라인 설명서 항목: 주제: "구성 OLE DB 공급자 분산 쿼리에 대 한"; "OPENROWSET SQL 트랜잭션 참조; "OPENDATASOURCE SQL 트랜잭션 참조"

속성

문서 ID: 327489 - 마지막 검토: 2017. 2. 7. - 수정: 1

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition

피드백