我有以下查询在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步骤
中