希望您到目前为止过得愉快:)
我正在使用此脚本自动执行sqlquery,以便其他团队可以使用这些日志。但是,不允许他们具有此数据库的登录凭据,并且我当前的脚本使用明文密码。
我建议我们创建一个新的数据库概要文件并限制该概要文件的权限,以便仅特定表可以使用只读权限进行访问。但是,这不是最佳做法,我的领导也不喜欢这个主意。
因此,我试图找出一种无需使用明文即可通过脚本传递登录凭据的方法。
您有什么想法吗?
这是我在批处理文件中运行的cmd的当前格式:
sqlcmd -S server.database.windows.net -U user@domain -P password -d DB_Name -i "c:\users\%USERNAME%\desktop\Blue Prism Audit Logs\eventdatetime24hr.sql" -o "c:\users\%USERNAME%\desktop\Blue Prism Audit Logs\Audit Logs\queryOut%DATE:~4,2%_%DATE:~7,2%_%DATE:~-4%_%time:~0,2%%time:~3,2%.csv"
答案 0 :(得分:0)
展开“ SQL Server代理”节点,然后右键单击SQL Server代理中的“作业”节点,然后选择“新建作业”
在“新作业”窗口中,输入作业名称和“常规”标签上的描述。
在窗口左侧选择“步骤”,然后单击底部的“新建”。
在“步骤”窗口中输入步骤名称,然后选择要对其运行查询的数据库。
将要运行的T-SQL命令粘贴到“命令”窗口中,然后单击“确定”。
单击“新作业”窗口左侧的“计划”菜单,然后输入计划信息(例如每天和某个时间)。
单击“确定”-应该就是这样。
(当然,您还可以添加其他选项-但我要说的是,这是您设置和安排工作的最低要求)
带有输出的示例tsql代码
nullreferenceexception object reference not set to an object
这将创建一个脚本,该脚本可以在您希望的任何时候运行,并将其设置在数据库上,然后您可以决定将输出放置在什么位置,即在目标位置以供其他团队提取。