SQL Server使用批量加载语句的权限

时间:2017-02-08 12:09:53

标签: sql sql-server jobs

我有以下查询在SSMS中正常工作。但是,当我将相同的脚本作为作业步骤包含在内时,它将失败并具有SQL权限以使用批量加载语句

DECLARE @FileContents  VARCHAR(MAX)

DECLARE @filepath VARCHAR(1000)
SET @FileContents = NULL

SET @filepath ='C:\XXXX\6.0_Script_to a.sql'
SET @FileContents = (SELECT BulkColumn 
                     FROM OPENROWSET (BULK 'C:\XXXX\6.0_Script_to a.sql', SINGLE_BLOB) a)   
SET @FileContents = REPLACE(@FileContents, '[SQLSTATE 01000]', '') 
SET @FileContents = REPLACE(@FileContents, 'Job ', '--Job ')
SET @FileContents = REPLACE(@FileContents, ' GO ', CHAR(10) + ' GO ' + CHAR(10)) 
SET @FileContents = REPLACE(@FileContents, 'Script ', '--Script ')

PRINT @FileContents

但是我已经检查了我的凭据有bulkadmin权限,并且还在服务器

中执行了以下查询
EXEC master..sp_addsrvrolemember @loginame = N'xxxxxx', @rolename = N'bulkadmin'

让我们知道我需要将脚本包含在sqljob步骤

0 个答案:

没有答案