视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
设置SQL的Agent代理的登陆名和密码问题
2020-11-09 16:19:02 责编:小采
文档


设置SQL的Agent代理的登陆名和密码问题 Agent 登陆名 密码 -- Copyright (C) 1991-2002 SQLDev.Net-- -- file: sp_sqlagent_set_connection.sql-- descr.: Set login and password for regular connections to SQL Agent-- author: Gert E.R. Drapers (GertD@

设置SQL的Agent代理的登陆名和密码问题 Agent 登陆名 密码 $velocityCount-->
-- Copyright (C) 1991-2002 SQLDev.Net
-- 
-- file: sp_sqlagent_set_connection.sql
-- descr.: Set login and password for regular connections to SQL Agent
-- author: Gert E.R. Drapers (GertD@SQLDev.Net)
--
-- @@bof_revsion_marker
-- revision history
-- yyyy/mm/dd by description
-- ========== ======= ==========================================================
-- 2003/03/20 gertd v1.0.0.0 first release
-- 
-- @@eof_revsion_marker
-- ***************************************************************************
use msdb
go 

if exists (select * from sysobjects where name = 'sp_sqlagent_set_connection' and type = 'P')
 drop proc dbo.sp_sqlagent_set_connection
go

create proc dbo.sp_sqlagent_set_connection @host_login_name sysname, @host_login_password sysname, @regular_connections int = NULL
as
 set nocount on

 declare @rc int,
 @os int

 -- check if sysadmin role member
 if is_srvrolemember ('sysadmin') <> 1
 begin
 raiserror('Only members of the sysadmin role can execute sp_sqlagent_set_connection', 16, 1)
 return
 end

 -- check parameters
 if (@host_login_name is null) or (len(@host_login_name) = 0)
 begin
 raiserror('Illegal parameter value %s is NULL or empty', 16, 1, '@host_login_name')
 return
 end

 if (@host_login_password is null) or (len(@host_login_password) = 0)
 begin
 raiserror('Illegal parameter value %s is NULL or empty', 16, 1, '@host_login_password')
 return
 end
 
 -- check if SQL Server 2000, depends on master.dbo.xp_sqlagent_param
 if (charindex(N'8.00', @@version, 0) = 0)
 begin
 raiserror('sp_sqlagent_set_connection is not supported for versions earlier than SQL Server 2000', 18, 1)
 return
 end

 -- check OS, master.dbo.xp_sqlagent_param only works on NT
 exec @rc = master.dbo.xp_MSplatform @os output
 if (@os = 2) -- Windows 9x
 begin
 raiserror('sp_sqlagent_set_connection is not supported on Windows 95/98 platforms', 18, 1)
 return
 end
 
 -- only if @regular_connections is turned on we allow setting the connection, otherwise we delete it
 if (@regular_connections is null)
 begin
 exec @rc = master.dbo.xp_instance_regread 
 N'HKEY_LOCAL_MACHINE',
 N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
 N'RegularConnections',
 @regular_connections OUTPUT,
 N'no_output'
 end
 else
 begin
 exec @rc = master.dbo.xp_instance_regwrite 
 N'HKEY_LOCAL_MACHINE',
 N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
 N'RegularConnections',
 N'REG_DWORD',
 @regular_connections
 end

 -- delete user id and password
 if (@regular_connections = 0)
 begin
 print N'Delete HostLoginID'
 exec @rc = master.dbo.xp_sqlagent_param 2, N'HostLoginID'
 print N'Delete HostPassword'
 exec @rc = master.dbo.xp_sqlagent_param 2, N'HostPassword'
 end
 
 -- set user id and password
 if (@regular_connections = 1)
 begin
 print N'Set HostLoginID'
 exec @rc = master.dbo.xp_sqlagent_param 1, N'HostLoginID', @host_login_name
 print N'Set HostPassword'
 exec @rc = master.dbo.xp_sqlagent_param 3, N'HostPassword', @host_login_password
 end
go

-- sample usage

-- regular_connections is already turned on either using SQL Enterprise Manager or 
-- exec msdb.dbo.sp_set_sqlagent_properties @regular_connections = 1
-- this sets the login and password
exec msdb.dbo.sp_sqlagent_set_connection N'sa', N'LowRider99'

-- this switches to regular connections and set the login and password
exec msdb.dbo.sp_sqlagent_set_connection N'sa', N'LowRider99', 1

下载本文
显示全文
专题