SQL Server가 내 장점이 아니므로 테이블 만들기, 테이블에서 선택 등을 수행 할 때 길을 잃기 시작합니다.Sync Framework 2.1을 통해 동기화 할 수 있도록 SQL Server 데이터베이스에 대한 적절한 사용 권한을 설정하는 방법을 알아야합니다.
프록시와 SQL 2008 R2 데이터베이스를 통해 동기화되는 Microsoft SQLCompact 3.5 데이터베이스로 데이터베이스 동기화 시나리오를 설정하려고합니다. Microsoft Sync Framework 2.1을 통해 동기화됩니다.
사용자 계정이 데이터베이스의 db_owner 일 때 프록시를 통해 모든 것을 설정하고 올바르게 작동 시켰습니다.
물론 지금은 잠겨 있어야하기 때문에 동기화에 필요한 최소 권한으로 제한하려고했습니다.
는 Microsoft 기사에 따르면, 나는 ... 최소한의 권한
나는 나를 위해 동기화 데이터베이스와 프록시를 생성하는 비주얼 스튜디오 2010에서 마법사를 허용했다.사용 원칙을 다음을 수행해야합니다. 특정 작업을 수행하는 데 필요한 것보다 많은 권한을 부여하지 마십시오. 예를 들어, 다운로드 전용 동기화와 관련된 서버 데이터베이스 테이블에 대해 INSERT 권한을 부여하지 마십시오. 동기화 작업에는 다음 사용 권한이 필요합니다.
Sync Framework에서 메타 데이터 테이블과 기본 테이블을 읽고 쓸 수있는 모든 저장 프로 시저에 대한 EXECUTE 권한.
메타 데이터 테이블 및 동기화 세션 중에 업데이트 될 모든 기본 테이블에 대한 SELECT, INSERT, UPDATE 및 DELETE 권한.
SqlSyncProvider를 사용 제공 SQL Server 데이터베이스, 프로비저닝에 대해 다음과 같은 권한 요구 사항을 인식 할 때 :
메타 데이터 테이블의 생성을 가능하게 TABLE 권한을 CREATE : scope_info 및 scope_config 및 추적 각 기본 테이블에 대해 작성된 테이블.
트리거를 기본 테이블에 추가하는 ALTER TABLE.
동기화 프레임 워크에 필요한 절차를 만들 수있는 권한을 만듭니다.
scope_info 및 scope_config 테이블에 대한 SELECT 및 INSERT 권한.
기본 테이블에 대한 SELECT 권한.
이와 같이 - SQL Server 데이터베이스에서 scope_info 및 scope_config 테이블을 찾을 수 없으며 이러한 테이블에 대한 사용 권한을 설정할 수 없도록 메타 데이터 테이블을 찾을 수 없습니다. 또한 - 동기화 프레임 워크가 사용하려고하는 저장 프로 시저를 어디에서 찾을 수 있습니까? - 찾았지만 찾을 수 없습니다.
어디서 찾을 수 있습니까? 적절한 권한을 설정하는 방법은 무엇입니까?
SQL Server 데이터베이스에서 데이터 사용기 및 데이터 기록기, 삽입, 업데이트, 삭제 및 선택 권한과 실행 권한을 부여했지만 동기화가 실패합니다. 또한 테이블 만들기, 프로 시저 작성 및 사용자에 대한 데이터베이스에 대한 ALTER 권한을 부여했지만 여전히 실패합니다.
사용자가 db_owner 역할을 사용하도록 설정하면 작동합니다.
I 나타나는 오류는 다음과 같습니다
, 클라이언트 데이터베이스를 초기화 할 수 없습니다 때문에 테이블 'tblApplications, tblApplicationConfiguration, tblApplicationInstallProperties, tblApplicationPreRequisites, tblApplicationTypes, tblComputerApps, tblComputers, tblComputerTypes, tblDriveHWSerials, tblDrives, tblDriveTypes의 스키마 , tblFunctions, tblLocationApps, tblLocationComputers, tblLocationIPAddress, tblLocations, tblLocationUsers, tblPermissions, tblRegionLocations, tblRegions, tblRegisteredModules, tblRequestFormats, tblRequestStatus, tblRequestTypes, tblRoles, tblRoleUsers, tblSecurity, tblUsers를, tblVehicle, tblVehicleLocationMap, tblVehicleMake, tblRequestProcessingStatus, tblDriveStatus, tblVide oViewTypes '를 DbServerSyncProvider의 GetSchema() 메서드로 검색 할 수 없습니다. 클라이언트 데이터베이스에 연결할 수 있고 SyncAdapter의 SelectIncrementalInsertsCommand 속성 또는 SelectIncrementalUpdatesCommand 속성이 올바르게 지정되어 있는지 확인하십시오.
릴리스되었을 때 db_owner 역할을 사용할 수 없습니다.
고마워요. 선생님. 실종 신고가있었습니다. 신속하고 정확한 대답에 많은 감사드립니다. – Roddles