小编PTL*_*SQL的帖子

如何在给定的 SPID 中获取查询的完整 SQL 文本运行

任何人都可以帮助我吗,要么给我查询,要么给我指出一篇文章,因为我似乎找不到一篇文章。

我有一个引发错误的会话的 SPID,我们需要知道该 SPID 运行的查询的完整 SQL 文本。

有人可以帮忙吗?

请注意,我已尝试以下操作,但没有一个给我完整的 SQL 文本:

DECLARE @sqltext VARBINARY(128)
SELECT @sqltext = sql_handle
FROM sys.sysprocesses
WHERE spid = 174
SELECT TEXT
FROM sys.dm_exec_sql_text(@sqltext)
GO

SELECT
sysprc.spid,sysprc.waittime,sysprc.lastwaittype,DB_NAME(sysprc.dbid) AS database_name,
sysprc.cpu,sysprc.physical_io,sysprc.login_time,sysprc.last_batch,sysprc.status,
sysprc.hostname,sysprc.[program_name],sysprc.cmd,sysprc.loginame,
OBJECT_NAME(sqltxt.objectid) AS [object_name],sqltxt.text
FROM sys.sysprocesses sysprc 
OUTER APPLY sys.dm_exec_sql_text(sysprc.sql_handle) sqltxt
where spid = 174


DBCC INPUTBUFFER(174)
go

Run Code Online (Sandbox Code Playgroud)

sql-server

4
推荐指数
1
解决办法
7258
查看次数

请问我能否获得有关使用 T-SQL 循环遍历 SQL 服务器实例中的所有用户数据库的帮助

请任何人都可以帮助我如何循环遍历实例中的所有用户数据库,为每个数据库执行以下查询?

该脚本在单独的语句中返回具有各自权限的用户列表。

SELECT 'USE '+ DB_NAME()+'; '+CASE WHEN dp.state <> 'W' THEN dp.state_desc ELSE 'GRANT' END +' ' + 
        dp.permission_name + ' TO ' + QUOTENAME(dpg.name) COLLATE database_default + 
        CASE WHEN dp.state <> 'W' THEN '' ELSE ' WITH GRANT OPTION' END +';' AS [-- Permission To Be Assign to the User --]
FROM    sys.database_permissions AS dp
INNER JOIN sys.database_principals AS dpg ON dp.grantee_principal_id = dpg.principal_id
WHERE   dp.major_id = 0 AND dpg.principal_id > 4
        AND (dpg.type in ('S','G','U'))
        AND dpg.name …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

-1
推荐指数
1
解决办法
61
查看次数

标签 统计

sql-server ×2

t-sql ×1