Программирование >>  Программирование баз данных 

1 ... 306 307 308 [ 309 ] 310 311 312 ... 346


Системные переменные (которые прежде иногда именовались глобальными переменными)

Системная переменная ©©connections

Содержит информацию о количестве попыток установить соединение, предпринятых со времени последнего запуска СУБД SQL Server.

Эта системная переменная предоставляет сведения об общем количестве всех попыток установить соединение, сделанных с тех пор, как в последний раз был выполнен запуск СУБД SQL Server. Таким образом, наиболее важная особенность этой переменной состоит в том, что она позволяет узнать, сколько было сделано попыток, а не фактически установлено соединений, кроме того, предоставляет информацию, касающуюся соединений, а не пользователей.

Системная переменная ©©CONNECTIONS представляет собой счетчик, значение которого увеличивается после каждой предпринятой попытки установить соединение, независимо от того, было ли соединение установлено успешно или нет. Единственный нюанс, связанный с применением этой переменной, захслючается в том, что попытка установить соединение должна быть обнаружена сервером базы данных. Если в ходе создания соединения один из этапов этого процесса окончился неудачей, скажем, из-за наличия неправильной версии библиотеки NetLib или в результате возникновения какой-то другой сетевой проблемы, то СУБД SQL Server не получит уведомление о том, что значение ©©CONNECTIONS должно быть увеличено. Следует рассчитывать на получение информации только о таких попытках соединения, которые обнаружены сервером. При этом не имеет значения, окончилась ли эта попытка успешно или неудачно.

Важно также учитывать, что речь идет о попытках установить соединение, а не войти в систему. В зависимости от приложения может бьггь предусмотрено создание нескольких соединений с сервером, но получение от пользователя регистрационной информации, по-видимому, должно осуществляться только единожды. И действительно, такая организация работы предусмотрена даже в программе Query Analyzer. После щелчка на команде меню, для вьшолнения которой требуется открыть новое окно, программа Query Analyzer автоматически создает еще одно соединение на основании той информации о пользователе, с помощью которой был осуществлен вход в систему.

Для получения значения системной переменной ©©CONNECTIONS, как и многих других системных переменных, удобнее всего использовать системную хранимую процедуру sp monitor. Эта процедура, вызов которой осуществляется без параметров, предоставляет информацию о количестве соединений, загруженности процессора, а также о многих других показателях, вплоть до общего количества операций записи, выполненных в СУБД SQL Server.



Системная переменная oocpubusy

Системная переменная @@CPU BUSY позволяет получить информацию о том, какова продолжительность времени, измеряемая в митшисекундах, с момента последнего запуска СУБД SQL Seiver, в течение которого процессор был занят выполнением работы. Точность полученного значения зависит от степени дискретизации показаний системного таймера, которая может быть установлена по-разному, в зависимости от конкретной системы.

Системная переменная @@CPU BUSY представляет собой еще один пример переменной, значение которой измеряется с момента запуска сервера. Из этого следует, что всегда можно рассчитывать на неизменное возрастание этого значения в ходе эксплуатации приложения. Таким образом, контроль над изменением значения системной переменной @@CPU BUSY позволяет, в частности, определить, какая процентная доля процессорного времени расходуется в процессе эксплуатации СУБД SQL Server. Тем не менее более реалистичный подход к решению этой задачи состоит скорее в использовании программы Performance Monitor. В целом можно сделать вывод, что системная переменная @@CPU BUSY относится к числу системных переменных такого типа, которые, хотя и могут, на первый взгляд, рассматриваться как основа для создания поистине великолепных разработок, в действительности почти не находят практического применения в большинстве приложений.

Системная переменная ©©cursor rows

Системная переменная @@CURSOR ROWS позволяет получить информацию о том, какое количество строк находится в настоящее время в последнем наборе данных курсора, открытом в текущем соединении. Следует подчеркнуть, что эти данные относятся к курсорам, а не к временным таблицам.

Необходимо отметить, что значение этой переменной переустанавливается каждый раз после открытия нового курсора. Если требуется открыть больше одного курсора одновременно и иметь в своем распоряжении информацию о том, сколько строк находится в наборе данных каждого курсора, то необходимо перед открытием каждого следующего курсора переносить значение системной переменной @@CURSOR ROWS в какую-то промежуточную переменную.

Безусловно, системная переменная @@CURS0R R0WS может использоваться для установки счетчика для управления циклом WHILE, применяемого для обработки набора данных курсора, но автор настоятельно рекомендует не придерживаться такой практики. Дело в том, что значение, содержащееся в переменной ®@CURSOR ROWS, может изменяться в зависимости от типа курсора и от того, происходит ли заполнение набора данных курсора программным обеспечением SQL Server асинхронно. Способ управления циклом с использованием системной переменной @@FETCH STATUS является гораздо более надежным и к тому же не более сложным.

Если значение, содержащееся в системной переменной @@CURSOR ROWS, представляет собой отрицательное число больше -1, то, по-видимому, применяется асинхронный курсор, а отрицательное число обозначает количество строк, созданных до сих пор в курсоре. С другой стороны, если полученное значение равно -1, то курсор представляет собой динамический курсор, в котором количество строк постоянно изменяется. Возвращаемое значение, равное О, свидетельствует о том, что либо курсор не открыт, либо последний открытый курсор уже закрыт. Наконец, любое положительное число указывает количество строк в курсоре.



Чтобы создать асинхронный курсор, устлновите с помощью процедуры sp con figure значение параметра cursor threshold больше 0. В таком случае посяе превышения указанного параметра системной переменной @@CURSOR ROWS присваивается значение количества строк в наборе данных курсора, а остальные строки помещаются в курсор асинхронно.

Системная переменная @@datefirst

Системная переменная @@datefirst содержит числовое значение, которое соответствует дню недели, рассматриваемому в системе как первый день недели.

По умолчанию в Соединенньк Штатах применяется значение 7, которое соответствует воскресенью. Применяемые числовые обозначения дней недели приведены ниже.

1. Понедельник (рассматривается как первый день недели в большинстве стран мира).

2. Вторник.

3. Среда.

4. Четверг.

5. Пятница.

6. Суббота.

7. Воскресенье.

Системная переменная ©©datefirst может применяться для решения проблем локализации, связанных с учетом национальных традиций того государства, в котором применяется система. С ее помощью может быть, например, правильно выбрана компоновка календаря или упорядочена другая информация, в которой учитываются дни недели.

Для изменения параметра настройки конфигурации, которой обозначает первый день недели, используется функция SET с параметром DATEFIRST.

Системная переменная @@dbts

Системная переменная @@dbts содержит информацию о последней используемой временной отметке для текущей базы данных.

На первый взгляд кажется, что системная переменная ©©dbts по CBOCNry назначению почти не отличается от системной переменной ©©identity, которая содержит последнее идентификационное значение, установленное системой (но переменная @@dbts позволяет определить последнюю временн)ю отметку, а не последнее идентификационное значение). При использовании переменной ©@dbts необходимо учитывать перечисленные ниже особенности.

Значение этой переменной изменяется в результате модификации любых данных в базе данных, а не только данных таблицы, с которой работает пользователь.

На значении переменной отражаются любые изменения временной отметки в базе данных, а не только изменения, происходящие в текущем соединении.



1 ... 306 307 308 [ 309 ] 310 311 312 ... 346

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика