powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Имена таблиц, в которых указана блокировка all pages
6 сообщений из 6, страница 1 из 1
Имена таблиц, в которых указана блокировка all pages
    #34850242
Eugeny_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как в ASE 12.5.3 выбрать имена таблиц в базе, у которых установлена блокировка allpages?
...
Рейтинг: 0 / 0
Имена таблиц, в которых указана блокировка all pages
    #34850360
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugeny_M пишет:

> Подскажите, как в ASE 12.5.3 выбрать имена таблиц в базе, у которых
> установлена блокировка allpages?

sysobjects
Qualifier (all databases)

sysobjects contains one row for each table, view, stored procedure, extended
stored procedure, log, rule, default, trigger, check constraint, referential
constraint, and (in tempdb only) temporary object.

sysstat2 int Additional internal status information (see Table 57-1)

NameDatatypeDescription....sysstat2intAdditional internal status information (see Table 57-1)....

Table 57-1: sysstat2 control bits in the sysobjects table

DecimalHexStatus....81920x2000Table uses allpages locking scheme163840x4000Table uses datapages locking scheme327680x8000Table uses datarows locking scheme....

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Имена таблиц, в которых указана блокировка all pages
    #34850420
Eugeny_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Спасибо!
...
Рейтинг: 0 / 0
Имена таблиц, в которых указана блокировка all pages
    #34850423
москит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполнив это
Код: plaintext
exec sp_helptext 'sp_help'

Можно увидеть такой код
Код: 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.
-------------        
select @sysstat = sysstat, @sysstat2 = sysstat2
	from sysobjects
		where id = object_id(@objname)
-------------        
if @sysstat & 15 in (1, 3)
begin
	/*
	** the bits 0x2000, 0x4000 & 0x8000 represents any 
	** explicit lock scheme bits that can be set, so
	** get them out ( 0x2000 + 0x4000 + 0x8000 = 57344)
	*/
	select @sysstat2 = (sysstat2 & 57344)
		from sysobjects
			where id = object_id(@objname)
	/*
	** The value 0, refers that no lock scheme is 
	** specified (old style tables) so they support only
	** allpages locking
	*/
	if (@sysstat2 in (0, 8192, 16384, 32768))
	begin
		if (@sysstat2  = 8192 or @sysstat2 = 0)
		begin
			/* 17576, "Lock scheme is Allpages" */
-------------        

Этой информации достаточно для написания вот такого запроса
Код: plaintext
1.
2.
3.
4.
select Name
from sysobjects
where sysstat &  15  in ( 1 ,  3 )
and (sysstat2 &  57344 ) in ( 0 ,  8192 )
and Type = 'U'
...
Рейтинг: 0 / 0
Имена таблиц, в которых указана блокировка all pages
    #34850490
Eugeny_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
москит
Большое спасибо!
...
Рейтинг: 0 / 0
Имена таблиц, в которых указана блокировка all pages
    #34851509
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select name
from sysobjects
where lockscheme(id)="allpages" --"datapages" --"datarows"
and type="U"
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Имена таблиц, в которых указана блокировка all pages
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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