powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / параметры сессии
5 сообщений из 5, страница 1 из 1
параметры сессии
    #32046859
Miha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем

Можно ли получить параметры произвольной сессии,
таким же образом, как DBCC USEROPTIONS делает для текущей?

спасибо
...
Рейтинг: 0 / 0
параметры сессии
    #32046932
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По логике вещей для этого есть команды DBCC...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
DBCC TRACEON( 3604 )
GO
SELECT @@SPID
GO
 -- 57 - это мой SPID из предыдущей команды
 
DBCC PSS ( 0 ,  57 ,  0 )
GO


Переменная poptions содержит опции. Какой именно бит отвечает за
ту или иную опцию, придется выявить простым перебором...

Удачи
...
Рейтинг: 0 / 0
параметры сессии
    #32046997
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот оно:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
if OBJECT_ID('dbo.fn_hexstring2bigint', 'FN') IS NOT NULL
  DROP FUNCTION dbo.fn_hexstring2bigint
GO

CREATE FUNCTION dbo.fn_hexstring2bigint 
(
@HexString varchar( 100 )
)
RETURNS bigint
AS
begin

  declare @Result bigint, @i int

  SET @i =  1 
  SET @Result =  0 

  SET @HexString = RIGHT(@HexString, LEN(@HexString)- 2 )

  WHILE (@i <= LEN(@HexString))
    begin
      SELECT @Result = @Result *  16  + 
             CASE UPPER(SUBSTRING(@HexString, @i,  1 ))
             WHEN '0' THEN  0 
             WHEN '1' THEN  1 
             WHEN '2' THEN  2 
             WHEN '3' THEN  3 
             WHEN '4' THEN  4 
             WHEN '5' THEN  5 
             WHEN '6' THEN  6 
             WHEN '7' THEN  7 
             WHEN '8' THEN  8 
             WHEN '9' THEN  9 
             WHEN 'A' THEN  10 
             WHEN 'B' THEN  11 
             WHEN 'C' THEN  12 
             WHEN 'D' THEN  13 
             WHEN 'E' THEN  14 
             WHEN 'F' THEN  15 
             END
      SET @i = @i +  1 
    end
  RETURN @Result
end
GO

if OBJECT_ID('dbo.get_useroptions', 'P') IS NOT NULL
  DROP PROCEDURE dbo.get_useroptions
GO

CREATE PROCEDURE dbo.get_useroptions
  @SPID int
AS
SET NOCOUNT ON

 -- Remote process (connection) USEROPTIONS dumper
 
 -- Martin Rakhmanoff
 
 -- jimmers@yandex.ru
 
 -- 1:12 PM 8/30/2002
 

declare @poptions bigint, @poptions2 bigint, @cmd varchar( 100 )

declare @USEROPTIONS table ([Set Option] varchar( 50 ))

CREATE TABLE #DBCC_PSS (ParentObject varchar( 20 ), 
                              Object varchar( 50 ), 
                               Field varchar( 50 ), 
                               VALUE varchar( 100 ))

 -- Dump Process Status Structure
 
SET @cmd = 'DBCC PSS (0, ' + CAST(@SPID as varchar( 10 )) + ' , 0) WITH TABLERESULTS'
INSERT #DBCC_PSS EXEC(@cmd)

 -- Get OPTIONS
 
SELECT @poptions = dbo.fn_hexstring2bigint(VALUE) FROM #DBCC_PSS WHERE Field = 'poptions'
SELECT @poptions2 = dbo.fn_hexstring2bigint(VALUE) FROM #DBCC_PSS WHERE Field = 'poptions2'

 -- Parse 'em
 
if @poptions & 0x40000000 <>  0 
  insert @USEROPTIONS values('ANSI_NULL_DFLT_OFF')
if @poptions & 0x20000000 <>  0 
  insert @USEROPTIONS values('ANSI_NULL_DFLT_ON')
if @poptions & 0x8000000 <>  0 
  insert @USEROPTIONS values('QUOTED_IDENTIFIER')
if @poptions & 0x200000 <>  0 
  insert @USEROPTIONS values('NOCOUNT')
if @poptions & 0x20000 <>  0 
  insert @USEROPTIONS values('XACT_ABORT')
if @poptions & 0x10000 <>  0 
  insert @USEROPTIONS values('NUMERIC_ROUNDABORT')
if @poptions & 0x40 <>  0 
  insert @USEROPTIONS values('ARITHABORT')
if @poptions & 0x10 <>  0 
  insert @USEROPTIONS values('ARITHIGNORE')
if @poptions2 & 0x2000 <>  0 
  insert @USEROPTIONS values('CONCAT_NULL_YIELDS_NULL')
if @poptions2 & 0x20 <>  0 
  insert @USEROPTIONS values('ANSI_NULLS')
if @poptions2 & 0x10 <>  0 
  insert @USEROPTIONS values('ANSI_PADDING')
if @poptions2 & 0x8 <>  0 
  insert @USEROPTIONS values('ANSI_WARNINGS')
if @poptions2 & 0x4 <>  0 
  insert @USEROPTIONS values('CURSOR_CLOSE_ON_COMMIT')
if @poptions2 & 0x2 <>  0 
  insert @USEROPTIONS values('IMPLICIT_TRANSACTIONS')

 -- Show results
 
SELECT * FROM @USEROPTIONS

RETURN  0 
GO

 -- Should be identical to DBCC USEROPTIONS
 
EXECUTE dbo.get_useroptions @@SPID
GO
...
Рейтинг: 0 / 0
параметры сессии
    #32047327
Miha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
преклоняюсь ;-)

спасибо!
...
Рейтинг: 0 / 0
параметры сессии
    #32047334
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jimmers-у - respect
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / параметры сессии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]