我有一个存储过程,想每天执行它。所以我使用 Windows 任务计划程序,因为 SQL Server Express 没有 SQL Server 代理。
我创建了.bat文件和Test.Sql
在.bat文件中命令如下;
@Echo On
sqlcmd -Slocalhost -UUsername -PPassword -dDBName -i"Test.sql" -u
EXIT
在Test.sql文件中命令如下;
EXEC @return_value = [DBName].[dbo].[SP_Test]
SELECT 'Return Value' = @return_value
但是我在任务计划程序中收到此错误消息:
任务计划程序无法为用户“AUTHORITY\LOCAL SERVICE”启动“\Test”任务的实例“{81262453-1610-4f3b-90aa-4fbd48c5cd58}”。附加数据:错误值:2147942405。
我在其他两个主题中找到了解决方案。 首先,授予您的帐户权限: 转至管理工具 -> 本地安全策略 -> 本地策略 -> 用户权限分配 -> 作为批处理作业登录。在此包含您的用户。
然后,更改任务中的帐户: 转到任务属性 在“常规”选项卡下,单击“更改用户或组...” 在“输入要选择的对象名称”字段中输入用户名 这将要求身份验证,提供您的凭据
对我有用!