Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Bucha nsk
Guest
Как программно узнать какое значение у NOCOUNT, NOEXEC, ROWCOUNT?
13 ноя 09, 12:12    [7925039]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
посмотри в ADODB.Connection.Properties
13 ноя 09, 12:20    [7925121]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Bucha nsk
Guest
Konst_One,

В самом Transact SQL нужно узнать:
13 ноя 09, 12:24    [7925149]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
дефолтные сэты наверное можно, но текущего соединения вряд ли
13 ноя 09, 12:25    [7925158]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Bucha nsk
Guest
В Transact-SQL формируется динамический скрипт , который выполняется через exec.

В нутри скрипта нужно узнать текущее установленное значение флагов NOCOUNT и ROWCOUNT
13 ноя 09, 12:27    [7925177]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
а зачем это понадобилось?
13 ноя 09, 12:28    [7925192]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Bucha nsk
В Transact-SQL формируется динамический скрипт , который выполняется через exec.

В нутри скрипта нужно узнать текущее установленное значение флагов NOCOUNT и ROWCOUNT

Зачем ? Если вы собираетесь их запоминать, менять и возвращать прежние значения то напрасно. Сервер это сделает за вас
13 ноя 09, 12:28    [7925194]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Bucha nsk
В Transact-SQL формируется динамический скрипт , который выполняется через exec.

В нутри скрипта нужно узнать текущее установленное значение флагов NOCOUNT и ROWCOUNT
Если сами же формируете скрипт, то почему SETы не знаете?
13 ноя 09, 12:28    [7925197]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Supra93
Member

Откуда:
Сообщений: 8174
@@OPTIONS
13 ноя 09, 12:29    [7925201]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Bucha nsk
Guest
Glory

Если вы собираетесь их запоминать, менять и возвращать прежние значения то напрасно. Сервер это сделает за вас


Спасибо. Да именно это я и хотел делать : менять и востанавливать значение.

А можно ссылку, где я могу увидеть потверждение ваших слов от лица MS ? Пожалуйста.
Мне нужно будет предоставить документальное потверждение , перед тем как это делать на продакшен серваере....
13 ноя 09, 12:32    [7925233]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL - SET (Transact SQL)

If a SET statement is run in a stored procedure or trigger, the value of the SET option is restored after control is returned from the stored procedure or trigger. Also, if a SET statement is specified in a dynamic SQL string that is run by using either sp_executesql or EXECUTE, the value of the SET option is restored after control is returned from the batch specified in the dynamic SQL string.
13 ноя 09, 12:34    [7925251]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
Bucha nsk
Guest
iap,

Скрипт формируется не в одном месте.
13 ноя 09, 12:35    [7925265]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Bucha nsk
Glory

Если вы собираетесь их запоминать, менять и возвращать прежние значения то напрасно. Сервер это сделает за вас


Спасибо. Да именно это я и хотел делать : менять и востанавливать значение.

А можно ссылку, где я могу увидеть потверждение ваших слов от лица MS ? Пожалуйста.
Мне нужно будет предоставить документальное потверждение , перед тем как это делать на продакшен серваере....






Продолжительность действия параметров инструкции SET

Параметры SET


Этот раздел содержит сведения о продолжительности действия параметров SET.

  • Параметры SET, установленные пользователем в сценарии, действуют до завершения сеанса пользователя или до тех пор, пока он их не сбрасывает.
  • Параметры SET, установленные в хранимой процедуре или триггере, действуют до тех пор, пока элемент управления не возвращается вызвавшему их коду или параметр не сбрасывается в той же процедуре или триггере.
  • Соединения, для которых включен режим MARS, поддерживают список значений по умолчанию для параметров SET. Если пакет выполняется в этих условиях, значения по умолчанию для параметров SET копируются в среду запроса. После завершения пакета среда восстанавливает значения параметров сеанса. В этом случае несколько пакетов, которые одновременно выполняются в одинаковых условиях, работают в изолированной для параметров SET среде.
    Примечание
    При использовании соединений, для которых включен режим MARS, если несколько пакетов одновременно пытаются изменить параметры среды, то значения по умолчанию будут зависеть от последнего завершенного пакета.
  • Если параметры SET не переустанавливаются явно, то все их значения, заданные в объемлющем коде, распространяются на вложенные хранимые процедуры или триггеры.
  • Параметры SET, установленные пользователем в динамическом пакете SQL, действуют только во время его выполнения.
  • Если параметры SET, установленные на уровне соединения, не переустанавливаются явно или неявно, они применяются при подключении к другой базе данных.
    Примечание
    Иногда при подключении к базе данных некоторые параметры могут быть автоматически включены, в зависимости от значений, заданных при предыдущем использовании user options, параметра сервера или значений, которые применяются ко всем соединениям ODBC и OLE DB.
  • 13 ноя 09, 12:43    [7925332]     Ответить | Цитировать Сообщить модератору
     Re: Как узнать значение NOCOUNT, NOEXEC, ROWCOUNT?  [new]
    aleks2
    Guest
    set rowcount 100
    set nocount on
    dbcc useroptions
    13 ноя 09, 13:20    [7925649]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить