Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить список заблокированных записей / 10 сообщений из 10, страница 1 из 1
13.08.2002, 07:10:54
    #32042696
ТГ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
Где-то проскакивало - как Получить список заблокированных записей - напомните пожалуйста, причем помню, что делается одним движением.

(или записей на конторых висят какие нибудь блокировки)

С уважением!ТГ!
...
Рейтинг: 0 / 0
13.08.2002, 09:12:26
    #32042722
Philippe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
Код: plaintext
exec sp_lock
...
Рейтинг: 0 / 0
13.08.2002, 10:46:51
    #32042765
alk
alk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
у меня пока нет проблем с блокировками.

не подскажите каки трудности меня ожидают?

причины возникновения?

заблокированные записи не попадают в селект?
приостанавливают исполнение запросов?
или их просто нельзя апдейтить?
...
Рейтинг: 0 / 0
13.08.2002, 10:50:05
    #32042767
Philippe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
BOL:

Isolation Levels
When locking is used as the concurrency control mechanism, it solves concurrency problems. This allows all transactions to run in complete isolation of one another, although there can be more than one transaction running at any time.

Serializability is the database state achieved by running a set of concurrent transactions equivalent to the database state that would be achieved if the set of transactions were executed serially in order.

SQL-92 Isolation Levels
Although serialization is important to transactions to ensure that the data in the database is correct at all times, many transactions do not always require full isolation. For example, several writers are working on different chapters of the same book. New chapters can be submitted to the project at any time. However, after a chapter has been edited, a writer cannot make any changes to the chapter without the editor's approval. This way, the editor can be assured of the accuracy of the book project at any point in time, despite the arrival of new unedited chapters. The editor can see both previously edited chapters and recently submitted chapters.

The level at which a transaction is prepared to accept inconsistent data is termed the isolation level. The isolation level is the degree to which one transaction must be isolated from other transactions. A lower isolation level increases concurrency, but at the expense of data correctness. Conversely, a higher isolation level ensures that data is correct, but can affect concurrency negatively. The isolation level required by an application determines the locking behavior SQL Server uses.

SQL-92 defines the following isolation levels, all of which are supported by SQL Server:

Read uncommitted (the lowest level where transactions are isolated only enough to ensure that physically corrupt data is not read).


Read committed (SQL Server default level).


Repeatable read.


Serializable (the highest level, where transactions are completely isolated from one another).
If transactions are run at an isolation level of serializable, any concurrent overlapping transactions are guaranteed to be serializable.

These isolation levels allow different types of behavior.

Isolation level Dirty read Nonrepeatable read Phantom
Read uncommitted Yes Yes Yes
Read committed No Yes Yes
Repeatable read No No Yes
Serializable No No No


Transactions must be run at an isolation level of repeatable read or higher to prevent lost updates that can occur when two transactions each retrieve the same row, and then later update the row based on the originally retrieved values. If the two transactions update rows using a single UPDATE statement and do not base the update on the previously retrieved values, lost updates cannot occur at the default isolation level of read committed.
...
Рейтинг: 0 / 0
13.08.2002, 23:00:20
    #32043016
ТГ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
Я прошу прощения, может я не правильно выразился.

Я имею ввиду, если 10 юзверей подняли на исправление 10 записей, то как мне отследить , что именно эти .

sp_lock - конечно хорошо, но коды Primary Key эта процедура не даст.

Манипуляции с привденные в BOL сегодня результата не дали, поскольку я "видел" эти записи (невидеть - тоже вариант).

Но тем не менее - как получить значение ключей этих записей - просто SQL код, ну если не влом.
...
Рейтинг: 0 / 0
14.08.2002, 11:12:13
    #32043089
mikosha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
select * from sysprocesses where blocked>0
a tam uje vse chto khochesh est' :)
...
Рейтинг: 0 / 0
14.08.2002, 14:11:32
    #32043178
mikosha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
select * from sysprocesses where blocked>0
a tam uje vse chto khochesh est' :)
...
Рейтинг: 0 / 0
14.08.2002, 19:26:44
    #32043345
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
причем помню, что делается одним движением.

Что-то вы путаете. Блокируются следующие элементы
BOL - Accessing and Changing Relational Data - Locking - Understanding Locking in SQL Server

"RID - Row identifier. Used to lock a single row within a table.
Key - Row lock within an index. Used to protect key ranges in serializable transactions.
Page - 8 kilobyte –(KB) data page or index page.
Extent - Contiguous group of eight data pages or index pages.
Table - Entire table, including all data and indexes.
DB - Database"

Кроме того, а вы уверены, что ваши 10 пользователей блокируют именно одну запись каждый ?

Может быть подумать над созданием собственной семафорной таблицы ?
...
Рейтинг: 0 / 0
15.08.2002, 09:38:12
    #32043413
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
В принципе можно получить набор данных, содержажий первичные ключи (или записи целиком), залоченных записей в таблице:
1) отбираем все записи с хинтом NOLOCK
2) отбираем незалоченные записи хинтом READPAST
3) разница между ними и есть залоченные записи.

Есно, это все пишется в один запрос.
...
Рейтинг: 0 / 0
17.08.2002, 23:11:32
    #32044104
ТГ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить список заблокированных записей
Робята, спасибочки, я же говорил, что проскакивало это в форуме.

Но в продолжение - а как сильно сервер подсядет по перфомансу :-))) на обслуживание этих блокировок?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить список заблокированных записей / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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