簡體   English   中英

配置SQL Server作業代理

[英]configuring sql server job agent

我正在嘗試使用以下腳本配置SQL Server作業代理:

USE [msdb]
GO
CREATE USER [mydbuser] FOR LOGIN [mydbuser]
GO
EXEC sp_addrolemember N'db_datareader', N'mydbuser'
GO
EXEC sp_addrolemember N'SQLAgentOperatorRole', N'mydbuser'
GO
EXEC sp_addrolemember N'SQLAgentReaderRole', N'mydbuser'
GO
EXEC sp_addrolemember N'SQLAgentUserRole', N'mydbuser'
go
sp_configure 'show advanced options',1
go
reconfigure with override
go
      sp_configure 'xp_cmdshell',1
go
reconfigure with override
go
sp_configure 'show advanced options',0
go
reconfigure with override


use master
go
GRANT EXECUTE on xp_cmdshell to db_job
go

use master
go
EXEC sp_xp_cmdshell_proxy_account 'mydomain\db_job', 'password-1'
go

CREATE CREDENTIAL [Job3] WITH IDENTITY = N'mydomain\mydomainuser', SECRET =               N'mydomain\mydomainuser'
GO

USE [msdb]
GO
EXEC msdb.dbo.sp_add_proxy @proxy_name=N'LW_JobRunner',@credential_name=N'Job', 
@enabled=1
GO
EXEC msdb.dbo.sp_grant_proxy_to_subsystem @proxy_name=N'LW_JobRunner', @subsystem_id=3
GO
EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'LW_JobRunner',         @login_name=N'mydbuser'
GO

/* Setting up job Category */

DECLARE @ReturnCode INT
SELECT @ReturnCode = 0

EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL',             @name=N'MyJob'
go

USE MASTER
GO

EXEC master.dbo.xp_sqlagent_proxy_account N'SET',
     N'DEV',            -- agent_domain_name
     N'Administrator',  -- agent_username
     N'password'        -- agent_password 

但是執行sp xp_sqlagent_proxy_account的最后一步說

找不到存儲的過程xp_sqlagent_proxy_account。

我確定我正在使用sa憑證在master數據庫上執行它...

由於這個原因,我在添加工作時遇到了這樣的錯誤

在sys.servers中找不到服務器“ myIpAddress”。 驗證是否指定了正確的服務器名稱。 如有必要,執行存儲過程sp_addlinkedserver將服務器添加到sys.servers中。

如何解決這個問題?

當非系統管理員用戶嘗試執行xp_cmdshell時,通常會發生此錯誤。 但是,您要聲明您確定自己正在使用sa憑據在master db中執行。

您可能要嘗試運行此命令:

-- Enable non-system administrators to run the job and to execute xp_cmdshell.
EXECUTE msdb..sp_set_sqlagent_properties @sysadmin_only = 0
GO

這將允許非sa用戶訪問xp_cmdshell。 如果這樣可以正常運行,那就意味着您的腳本運行所在的用戶帳戶是非sa帳戶。

希望這可以幫助。

拉吉

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM