gpt4 book ai didi

sql-server - SQL Server : Insert Result of WHOAMI into Table

转载 作者:行者123 更新时间:2023-12-02 19:20:50 26 4
gpt4 key购买 nike

我有一个包含 2 列的表格,我想在其中插入 WHOAMI 命令的结果。尝试执行以下操作,但我认为由于列数不同,它不会工作:

UPDATE tblName 
SET colName = (xp_cmdshell 'whoami.exe')
WHERE id = 1

最佳答案

如果您想要登录数据库的用户(可以是 Windows 或 SQL 登录),您可以使用内置的 SUSER_NAME()函数代替

UPDATE tblName set colName = SUSER_NAME() WHERE id=1

如果您确实想要运行 SQL Server 进程的服务帐户(这是您从 whoami.exe 获得的),那么您最好使用 sys.dm_server_services View ,不需要启用 xp_cmdshell (如果未正确锁定,可能会带来一些安全风险)(注意:这至少需要 SQL Server 2008R2 SP1):

UPDATE tblName 
SET colName = (
SELECT TOP 1
service_account
FROM sys.dm_server_services
WHERE servicename LIKE 'SQL Server (%')
WHERE id=1

否则

DECLARE @output TABLE (v varchar(200))

INSERT @output (v) exec xp_cmdshell 'whoami.exe'

UPDATE tblName SET colName = (select top 1 * from @output) WHERE id=1

关于sql-server - SQL Server : Insert Result of WHOAMI into Table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34880437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com