Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使非Windows系统安全地触发SQL作业

如何使非Windows系统安全地触发SQL作业
EN

Stack Overflow用户
提问于 2019-05-23 12:49:41
回答 1查看 48关注 0票数 1

我们有一个传统的AS400主机系统来运行我们的仓库。我们希望它能够安全地触发运行业务其余部分的SQL服务器上的作业,以支持两个系统之间的自动和及时的数据交换。

目前,我们已经在旧的Windows 2005服务器上安装了软件。这允许AS400在Windows上运行远程命令。AS400使用此客户端软件运行批处理文件,在server 2005服务器框上执行dtexec,然后运行SSIS包,在AS400和生产AS400服务器之间交换数据。SQL 2005框只是在AS400和生产SQL服务器之间运行。此设置的两个问题是:

  1. AS400客户端软件作为系统进程而不是网络帐户运行,因此必须在SSIS文件的纯文本中包含SQL登录信息。
  2. 当运行dtexec时,它会向Windows日志中添加两个条目。我们有几个进程每隔几分钟就轮询一次新数据,在某些情况下是秒,所以事件日志不断地清除旧的条目,这将留下大约4小时的事件。如果这么说,就很难排除此框中的错误,这是一种轻描淡写。

我们正在退役旧的SQL 2005服务器框,因此我必须在较新的服务器上复制此功能。在此之前,我想先谈谈这两个问题。

我尝试过使用sqlcmd,但是由于AS400客户端软件是在本地系统进程下运行的,所以它无法连接到使用设置的生产SQL服务器。我尝试使用psexec,如果我将一个RDP会话留给用户打开,但仍然需要用户名和密码来使用纯文本,它就能工作。我一直在测试如何让批处理文件将空白文件写入目录,并由WMI事件触发SQL作业。在测试过程中,这是可行的,但在需要连续多次快速触发作业时,这是不可靠的,就像我们的大多数作业一样。

我还研究过如何使用C#和.NET来使用Windows类和/或数据保护API (DPAPI)来存储密码,但我充其量是一个中级.NET程序员,所以这是一个更糟糕的解决方案。

在将旧主机系统与Server集成时,这必须是一个常见的问题,因此我假设必须有一种解决方案,允许主机系统在安全方法中调用SQL服务器。如果不是直接执行作业,则运行可触发作业的存储过程。如果您不需要在某个地方以纯文本保存密码/用户名而不使用dtexec,您将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-23 18:14:27

LocalSystem帐户“在本地计算机上具有广泛的特权,并充当网络上的计算机。

这意味着您可以通过为“计算机帐户”创建登录名来授予它对远程SQL服务器的访问权限。如果您的服务器名为MyServer,并且域为MyDomain,那么:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use msdb
create login [MyDomain\MyServer$] from windows
create user [MyDomain\MyServer$] for login [MyDomain\MyServer$] 
alter role SQLAgentOperatorRole add member [MyDomain\MyServer$] 

在另一台服务器上作为LocalSystem运行的进程将能够通过连接并运行SQL作业。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56282737

复制
相关文章
如何使用SQL语句创建触发器
触发器 是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。存储过程可以通过语句直接调用,而 触发器主要是通过事件进行触发而被执行的. 例如当对某一表进行诸如UPDATE(修改)、INSERT(插入)、DELETE(删除)这些操作时,SQL Server 就会自动执行触发器所定义的SQL语句,从而确保对数据之间的相互关系,实时更新.
初阶牛
2023/10/14
3710
如何使用SQL语句创建触发器
sql触发器
在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?比如,这么两个表:
全栈程序员站长
2022/09/06
6230
SQL触发器
什么是触发器? 触发器是一种用来保障参照完整性的特殊的存储过程,它维护不同表中数据间关系的有关规则。当对指定的表进行某种特定操作(如:Insert,Delete或Update)时,触发器产生作用。触发器可以调用存储过程。
小语雀网
2021/09/08
1.1K0
# 如何安全地保存密码?
如今的互联网生活,让每个人都离不开密码 — 操作系统有开机密码(用户密码),各种应用有登录密码,甚至还有交易密码。形形色色的密码让用户头皮发麻,要么使用重复的不那么健壮的密码,要么不得不依赖于各种密码保存服务,比如 1password。我常常在想,有没有一种方式,可以让所有的密码从一个主密码中派生出来,就像比特币 BIP44 钱包派生那样?
tyrchen
2020/02/11
1.1K0
如何安全地打印日志
如何打印日志?这不是很简单,直接使用android.util.Log这个类不就行了?然而,日志属于非常敏感的信息;逆向工程师在逆向你的程序的时候,本来需要捕捉你程序的各种输出,然后进行推测,顺藤摸瓜然后得到需要的信息;一旦你的日志泄漏,无异于门户洞开,破解你的程序如入无人之境。 安全的概念本来就是相对的,如果破解你程序的代价远远大于破解得到的价值,那么就可以认为程序是“安全的”;这里就分析一下,为了提高程序的安全性,在打印日志的时候应该注意什么。
weishu
2018/09/05
1.4K0
如何安全地打印日志
SQL Server 触发器[通俗易懂]
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
全栈程序员站长
2022/08/31
2.8K0
SQL Server 触发器[通俗易懂]
sql server 触发器
触发器是一种特殊类型的存储过程。触发器可包含复杂的T-SQL语句。触发器不能通过名称被直接调用,也不允许设置参数。它是建立在触发事件上的。 触发器可以强制执行一定的业务规则,以保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加功能。 触发器的分类: DML、 DDL、 登录触发器 创建触发器需要指定的选项:  1.触发器的名称。  2.在其上定义触发器的表。  3.触发器将何时激发。  4.激活触发器的数据修改语句。  5.执行触发操作的编程语句。 CREATE TRIGGER语句基本语法格式如下
欠扁的小篮子
2018/04/09
1.4K0
SQL sever 触发器
一: 触发器 是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新 记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 二: SQL Server 为每个触发器都创建了两个专用表 :Inserted表和Deleted表。这两个表。 一 : 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新 记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 二: SQL Server 为每个触发器都创建了两
赵腰静
2018/03/09
1.1K0
B/S模式下如何使软件屏蔽系统热键
publicvoidHideAllFunction(Pagepage)   {   if(!
Java架构师必看
2021/03/22
5890
如何安全地存储密码货币
提醒大家一下,把加密货币存储在交易网站中其实是很不安全的。 在2018年1月份,日本一家名叫Coincheck的加密货币交易平台遭到了黑客的攻击,并导致价值5亿3000万美元的加密货币被盗。这是近期最
FB客服
2018/03/22
1.4K0
如何安全地存储密码货币
调整Windows系统使开机的时候停在高级界面等待选择
参考https://cloud.tencent.com/developer/article/1930775
Windows技术交流
2022/05/10
5450
SQL Server 代理进阶 - Level 2 :作业步骤和子系统
作者:Richard Waymire,2017/10/11(第一版:2011/02/17) 关于系列 本文属于Stairway系列:Stairway to SQL Server Agent SQL Server Agent是任何实时数据库系统的核心。 代理有许多用途并不总是显而易见的,因此对于开发人员和DBA来说,系统知识总是有用的。 理查德Waymire提供了一个简单的解释,它的许多用途。 SQL Server代理作业由一系列一个或多个作业步骤组成。作业步骤被分配给特定的作业子系统,该作业子系统标识作业步
Woodson
2018/07/19
1.3K0
SQL触发器实例(下)
1 基本语法: 2 Create Trigger [TriggerName] 3 ON [TableName] 4 FOR [Insert][,Delete][,Update] 5 AS 6 --触发器要执行的操作语句. 7 Go 8 9 注意: 10 触发器中不允许以下 Transact-SQL 语句: 11 Alter DATABASE ,Create DATABASE,DISK INIT, 12 DISK RESIZE, Drop DATABASE,
用户1112962
2018/07/04
1.2K0
如何安装WINDOWS系统(二)
传统BIOS是这种,用键盘方向键选择Windows10 PE x64进入PE系统。
简单并不简单
2019/07/12
1.6K0
如何安装WINDOWS系统(二)
SQL触发器实例(上)
1 --1.) 创建测试用的表(testTable) 2 if exists (select * from sysobjects where name='testTable') 3 drop table testTable 4 GO 5 Create Table testTable 6 ( 7 testField varchar(50) 8 ) 9 10 select * from testTable 11 12 13 14 --2.) 创建基于表(t
用户1112962
2018/07/03
6080
如何安全地集成混合云?
几乎十分之九的IT决策者认为,对于想要实现数字化业务转型的企业组织来说,混合云能力“很重要”或“很关键”。 2015年,新互联网用户的数量增长了8%,增加0.25亿人。许多企业组织期望适应不断涌入的与
静一
2018/03/26
6580
如何安全地集成混合云?
如何安装Windows系统(一)
提供完善的系统批量部署解决方案、易用的离线万能驱动和适合装机技术员的U盘PE系统。)
简单并不简单
2019/07/12
9900
如何安装Windows系统(一)
如何导出Windows系统日志
windows的系统日志可以帮助我们判断系统的一些故障或是问题,怎么将windows系统日志记录导出,保存为文件呢,具体如下。
JPeng
2018/05/07
11.4K7
如何导出Windows系统日志
如何安装WINDOWS系统(三)
首先打开DG硬盘分区,然后就能看到所有的磁盘信息了,讲这个是为了有些朋友想把硬盘数据都清空,然后再重装系统的。
简单并不简单
2019/07/12
1.7K0
如何安装WINDOWS系统(三)
如何安装WINDOWS系统(四)
安装界面长这样,一定要去掉这个勾,不然就又多几个软件。建议在安装前,先安装火绒杀毒软件,会提示你驱动精灵偷偷安装什么,可以阻止。
简单并不简单
2019/07/12
1.1K0
如何安装WINDOWS系统(四)

相似问题

非触发quartz调度程序作业

119

使用SQL触发Hangfire作业

11

如何使流水线作业等待所有触发的并行作业?

59

使用非windows帐户从sql server代理作业运行SSIS包。

21

Windows服务还是SQL作业?

63
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文