안녕하세요 두 가지 SQL Server 데이터베이스가 있습니다.연결된 서버 OLE DB 공급자 "SQLNCLI11"연결된 서버
이들은 서로 연결된 서버를 통해 서로 연결됩니다. 연결된 서버가 정상적으로 작동합니다.
는 내가하려고하면 :
SELECT
*
FROM
OPENQUERY
([192.168.1.170],
'SELECT MalCRM.dbo.ContractedNumber(1)')
내가 아래에 오류가 발생합니다. 어떻게 해결할 수 있습니까?
연결된 서버 "192.168.1.170"에 대한 OLE DB 공급자 "SQLNCLI11"이 (가) 반환되었습니다. "지연된 준비를 완료 할 수 없습니다." 메시지 229, 수준 14, 상태 5, 줄 1 개체 'ContractedNumber', 데이터베이스 'MalCrm', 스키마 'dbo'에 대한 EXECUTE 권한이 거부되었습니다.
같은 로그인을 사용하여 연결된 서버에서 직접'SELECT MalCRM.dbo.ContractedNumber (1)'쿼리를 실행 해보십시오. 거의 모든 계정에 필요한 권한이 없다는 것을 알게 될 것입니다. –
죄송합니다. 나는 또한 잘 이해하지 못했습니다. 더 자세히 설명해 주시겠습니까? select 문은 대상 서버에서도 작동합니다. 하지만 db 링크로 실행하려고하면 할 수 없습니다. – Oracsql
[192.168.1.170]에서 직접 쿼리를 실행할 수 없다고 생각됩니다. 링크가 제자리에 있지만 해당 서버에 필요한 권한이 없습니다. ssms를 통해 [192.168.1.170]에 연결하십시오. 쿼리를 실행합니다 ('SELECT MalCRM.dbo.ContractedNumber (1)'). 동일한 오류 메시지가 나타나면 dba에게 권한 수정을 요청하십시오. –