sourcecode

SQL Server에서 대량 사용 권한을 활성화하는 방법

codebag 2023. 9. 25. 22:36
반응형

SQL Server에서 대량 사용 권한을 활성화하는 방법

SQL Server 2012에 "bulk"를 사용하여 이미지를 삽입하려고 합니다.하지만 결국 다음과 같은 오류 메시지가 나타납니다.

Msg 4834, Level 16, State 1, Line 2 대량 로드 문을 사용할 수 있는 권한이 없습니다.

"sysadmin" 권한이 있습니다.

해라GRANT ADMINISTER BULK OPERATIONS TO [server_login]. 데이터베이스 수준이 아닌 서버 수준 권한입니다.이것은 과거에 저에게 비슷한 문제를 해결해 주었습니다(OPENROWSET 사용).

시도해 보기:

USE master;

GO;
 
GRANT ADMINISTER BULK OPERATIONS TO shira;

승인된 답변 또는 이 두 가지 솔루션 중 하나는 Windows(윈도우)에서만 사용할 수 있습니다.

GRANT ADMINISTER BULK OPERATIONS TO [login_name];
-- OR
ALTER SERVER ROLE [bulkadmin] ADD MEMBER [login_name];

리눅스 시스템을 기반으로 SQL Server에서 이러한 오류를 실행하면 다음과 같은 오류가 발생합니다.

Msg 16202, Level 15, State 1, Line 1
Keyword or statement option 'bulkadmin' is not supported on the 'Linux' platform.
Msg 16202, Level 15, State 3, Line 1
Keyword or statement option 'ADMINISTER BULK OPERATIONS' is not supported on the 'Linux' platform.

문서를 확인합니다.

대량 작업 권한을 삽입하고 관리해야 합니다.Azure SQL Database에서는 INSERT 및 Administer Database Bulk Operations 권한이 필요합니다.관리자 대량 작업 권한 또는 대량 관리자 역할은 Linux의 SQL Server에 대해 지원되지 않습니다.sysadmin만 Linux에서 SQL Server에 대한 대량 삽입을 수행할 수 있습니다.

리눅스용 솔루션

ALTER SERVER ROLE [sysadmin] ADD MEMBER [login_name];

"액세스 권한이 없으므로 파일을 대량 로드할 수 없습니다"라는 오류가 발생하는 경우

먼저 지정한 경로와 파일 이름이 올바른지 확인합니다.

그런 다음 대량 관리자 역할을 사용자에게 부여해 봅니다.이렇게 하려면 다음 단계를 따릅니다. - 개체 탐색기 -> 보안 -> 로그인 -> 사용자 선택(오른쪽 클릭) -> 속성 -> 서버 역할 -> bulkadmin 확인란 -> 확인합니다.

저는 이게 통했어요.

서비스 계정에 가져올 파일을 읽을 수 있는 권한이 없는 경우 SQL Server에서 이 오류를 반환할 수도 있습니다.서비스 계정이 파일 위치에 대한 읽기 권한을 가지고 있는지 확인합니다.예를 들어,

icacls D:\ImportFiles /Grant "NT Service\MSSQLServer":(OI)(CI)R

마스터 GO 사용

ALTER Server Role [bulkadmin] ADD MEMBER [username] GO 명령이 여러 명령 매개 변수를 시도했지만 실패했습니다.

마스터..sp_addsrvrolemember @loginame = N'username', @rolename = N'bulkadmin' GO 명령이 성공했습니다.

언급URL : https://stackoverflow.com/questions/14604416/how-to-enable-bulk-permission-in-sql-server

반응형