Using Microsoft SQL Server 2016 (RTM) Standard Edition, I am trying load a JSON into a SQL Server table using a SQL Server Agent Job, and get the following error:
JSON text is not properly formatted. Unexpected character '"' is found at position 508. [SQLSTATE 42000] (Error 13609).
But when I run it as T-SQL it inserts the data with out errors.
DECLARE @return_value int,
@responseText nvarchar(MAX),
@json nvarchar(MAX)
EXEC @return_value = [dbo].[HTTPRequest]
@URI = N'http://flexapi.foresightgps.com/ForesightFlexAPI.ashx',
@methodName = N'post',
@requestBody …Run Code Online (Sandbox Code Playgroud) 有什么方法可以搜索和查找,什么工作持有特定的表刷新。有多个带有多个步骤的sql代理作业。搜索所有作业并定位作业名称和步骤的sql查询是什么?
这是为了识别与表加载相关的步骤
我在尝试在 Microsoft SQL Server Management Studio 中编写创建凭据和相关代理的脚本时遇到问题。
我的脚本如下:
CREATE CREDENTIAL xxx WITH IDENTITY = 'domain\xxx', SECRET = '*******';
EXEC msdb.dbo.sp_add_proxy @proxy_name = 'yyy'
,@enabled = 1
,@description = 'description here'
,@credential_name = 'xxx'
EXEC msdb.dbo.sp_grant_proxy_to_subsystem @proxy_name = 'yyy'
,@subsystem_id = 9;
Run Code Online (Sandbox Code Playgroud)
这将创建凭证和代理。
但是,它无法将凭据正确添加到代理。当尝试手动(使用 UI)添加凭据时,我收到以下错误:
ProxyAccount“yyy”(Microsoft.SqlServer.Smo) 的更改失败附加信息:未将对象引用设置为对象的实例。(微软.SqlServer.Smo)
我尝试删除凭据并重新添加它,但没有结果。我尝试删除并重新添加代理,但收到以下错误:
未定义代理的凭据名称。(SqlManagerUI)
这可以追溯到无法为该代理分配凭证。
当我运行以下过程时:
SELECT * FROM msdb.dbo.sysproxies
Run Code Online (Sandbox Code Playgroud)
我注意到我的代理帐户之一未启用(与此相关)。我想创建一个脚本来启用所有已禁用的代理帐户,但我的理解是您需要删除该帐户并重新创建它才能重新启用它。在此过程中,您需要了解链接的凭据、描述和链接的子系统。
有没有办法在不删除代理帐户的情况下执行此操作,也许是某种简单的更新语句?
我有一个SQL Server 2008 SSIS作业,它执行一些Win 32 exe文件.当我通过BIDS(在Windows 2008框中)执行作业时,此作业运行正常.现在我已经在MSDB数据库中部署了包并尝试将包作为SQLAgent Job执行.
当我这样做时,作业失败并在执行Win 32 exe时抛出错误消息.我能够在同一台服务器上运行批处理文件中的exe.但是当SQLServer代理作业尝试执行时,会抛出以下错误
代码:0xC0029151,进程退出代码为"1",而预期为"0".结束错误DTExec:程序包执行返回DTSER_FAILURE(1).
有任何想法吗?
是否可以在作业历史记录消息中记录来自SQL Server代理作业的自定义消息?如果不是,那么做这种事情的最佳方法是什么?