Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Ситуация следующая.

Домен.
DC: AD,DNS, сервер 1C Предприятие 8.1 (порт 1541), сервер 1C Предприятие 8.2 (порт 1641)
TS: Remote APP, Server license, 1C 8.1 Предприятие (клиент), 1C 8.2 Предприятие (клиент)
SQL: SQL 2008 r2 x64.
Базы: Основные: 30,5Гб и 21Гб. Второстепенные: Учебная: 21Гб(не всегда используется), и тестовая на 19Гб.

Проблемы:

Проблема №1
В основной базе (30,5Гб) ведутся все работы (продажи, приход, расход) появляются периодически блокировки.
Периодичность появления блокировок 2-3 раза в неделю.
Количество блокировок начинается от 400000 и доходит до 2000000.
Лечится это все закрытием всех терминальных сессий и перезапуском служб SQL сервера.
Надо сделать так, чтобы блокировок не было.
Срок решения задачи - месяц.

Проблема №2: Я в SQL ни бум-бум.

Скриншот с рядовыми блокировками прикладываю,может чем поможет.

К сообщению приложен файл. Размер - 43Kb
22 авг 12, 10:13    [13047331]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
M1chA77,

Только написал сообщение на форум как пошли и блокировки. Выкладываю скриншот "Самые продолжительные транзакции".

К сообщению приложен файл. Размер - 56Kb
22 авг 12, 10:20    [13047365]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
M1chA77
Количество блокировок начинается от 400000 и доходит до 2000000.
Лечится это все закрытием всех терминальных сессий и перезапуском служб SQL сервера.

Еще можно покупать каждый раз новый компьютер и переустанавливать windows.
Хотя лучше просто закрыть соединение, которое блокирует другие.

M1chA77
Надо сделать так, чтобы блокировок не было

Переписывайте клиентский код, который устанавливает эти блокировки.
22 авг 12, 10:28    [13047411]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Glory
Еще можно покупать каждый раз новый компьютер и переустанавливать windows.
Хотя лучше просто закрыть соединение, которое блокирует другие.


Если я закрываю соединение на TS то блокировка все равно не уходит
На самом сервере 1С закрытие соединения не помогает, оно все равно появляется

Glory
Переписывайте клиентский код, который устанавливает эти блокировки.

Поясни пожалуйста, что ты имеешь ввиду?


И такой вопрос, с чего начать изучение SQL?
Надо в кратчайший срок (2-3 недели) хотя бы базу получить чтобы хоть немного петрить и дальше ковыряться.
22 авг 12, 10:39    [13047482]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
M1chA77
Если я закрываю соединение на TS то блокировка все равно не уходит

Значит вы закрываете не то соединение

M1chA77
На самом сервере 1С закрытие соединения не помогает, оно все равно появляется

Значит какое то приложение продолжает работать

M1chA77
Поясни пожалуйста, что ты имеешь ввиду?

Берете редактор и руками переписываете команды, которые 1С выполняет. Потому что именно эти команды и создают блокировки.
22 авг 12, 10:44    [13047520]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Glory
Значит вы закрываете не то соединение

Glory
Значит какое то приложение продолжает работать

Ну не может оно работать, не может!!!
Как я делаю. Пример.
1.Появляется блокировка.
2.Смотрю идентификатор сеанса.
3.Иду на TS и завершаю пользователя полностью.
4.Иду на DC и убиваю на сервере 1С пользователя с идентификатором сеанса который вызвал блокировку.

Вот эти вот действия не помогают,поэтому я и перегружаю службы SQL сервера.

Glory
Берете редактор и руками переписываете команды, которые 1С выполняет. Потому что именно эти команды и создают блокировки.

т.е дело не в SQL сервере?
22 авг 12, 10:52    [13047567]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37075
M1chA77
т.е дело не в SQL сервере?
Сервер сам по себе ничего не блокирует.
22 авг 12, 10:55    [13047583]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
M1chA77
Ну не может оно работать, не может!!!
Как я делаю. Пример.
1.Появляется блокировка.
2.Смотрю идентификатор сеанса.
3.Иду на TS и завершаю пользователя полностью.

И как вы устанваливаете соответствие между идентификатором сеанса и сессией на TS ?


M1chA77
т.е дело не в SQL сервере?

Вы думаете, что сервер сам по своей прихоти что-то блокирует ?
22 авг 12, 10:56    [13047592]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Glory
И как вы устанваливаете соответствие между идентификатором сеанса и сессией на TS ?.

Пример. Блокирующий Идентификатор сеанса 55
Иду на DC и смотрю пользователя 1С с Идентификатором сеанса 55. Это Иванов.
Убиваю сеанс Иванова на TS. А потом убиваю сеанс Иванова на сервере 1С.

Glory
Вы думаете, что сервер сам по своей прихоти что-то блокирует ?

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

Порекомендуйте пожалуйста, что читать или смотреть, чтобы за 2-3 недели получить хоть какие-то базовые знания по SQL 2008 r2
22 авг 12, 11:02    [13047619]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
M1chA77
Пример. Блокирующий Идентификатор сеанса 55
Иду на DC и смотрю пользователя 1С с Идентификатором сеанса 55.

Так какая свзяь то между номером коннекта внутри SQL Server и номером сеанса на каком то DC ?
22 авг 12, 11:05    [13047644]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
invm
Member

Откуда: Москва
Сообщений: 9435
M1chA77
Пример. Блокирующий Идентификатор сеанса 55
Иду на DC и смотрю пользователя 1С с Идентификатором сеанса 55. Это Иванов.
Убиваю сеанс Иванова на TS. А потом убиваю сеанс Иванова на сервере 1С.
Терминальные сессии, соединение пользователя с сервером 1С и сервера 1С с SQL Server -- абсолютно разные вещи.
M1chA77
Порекомендуйте пожалуйста, что читать или смотреть, чтобы за 2-3 недели получить хоть какие-то базовые знания по SQL 2008 r2
http://msdn.microsoft.com/ru-ru/library/bb545450.aspx
22 авг 12, 11:07    [13047666]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Glory
Так какая свзяь то между номером коннекта внутри SQL Server и номером сеанса на каком то DC ?

Они идентичны.
Если никаких блокировок нет то в 1С в графе "Соединение с базой" пусто.
Но как только сеанс вызывает блокировку, в графе "Соединение с базой" появляется Идентификатор.
Этот Идентификатор совпадает с Идентификатором в отчетах SQL (самые продолжительные транзакции).
22 авг 12, 11:11    [13047703]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
M1chA77
Они идентичны

Да что вы говорите
А как же тогда "Если я закрываю соединение на TS то блокировка все равно не уходит" ?
Соединения нет, а блокировки есть ?
Просто чудеса какие то
Суслика не видно, но он есть.
22 авг 12, 11:16    [13047753]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
invm
Терминальные сессии, соединение пользователя с сервером 1С и сервера 1С с SQL Server -- абсолютно разные вещи.

Тогда как реализовать то, что говорит Glory

Glory
Хотя лучше просто закрыть соединение, которое блокирует другие.


За ссылку спасибо.
22 авг 12, 11:19    [13047774]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Glory
Да что вы говорите
А как же тогда "Если я закрываю соединение на TS то блокировка все равно не уходит" ?
Соединения нет, а блокировки есть ?
Просто чудеса какие то
Суслика не видно, но он есть.


Тогда как реализовать?
Glory
Хотя лучше просто закрыть соединение, которое блокирует другие.
22 авг 12, 11:22    [13047794]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Выкладываю скриншоты с пользаками которые вызывают блокировки

К сообщению приложен файл. Размер - 21Kb
22 авг 12, 11:27    [13047836]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Второй скриншот это SQL

К сообщению приложен файл. Размер - 30Kb
22 авг 12, 11:28    [13047843]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
M1chA77
Второй скриншот это SQL

Вы пытаетесь убедить, что сервер что то не так делает ?
Сервер делает то, что ему указывают делать ваши соединения.
22 авг 12, 11:30    [13047872]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Glory
Вы пытаетесь убедить, что сервер что то не так делает ?
Сервер делает то, что ему указывают делать ваши соединения.

Нет, не пытаюсь.
Но разве идентичность сеансов не говорит о том, что именно этот сеанс блокирует работу 1С?
Как тогда найти и завершить сеанс который вызывает блокировку?
Извиняюсь за упертость, просто хочется разобраться в вопросе.
22 авг 12, 11:42    [13047974]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
M1chA77
Но разве идентичность сеансов не говорит о том, что именно этот сеанс блокирует работу 1С?

Идентичность сеансов ни о чем не говорит
Тем более о том, кто и кого блокирует
О блокировках, например, говорит соответствующий раздел вSQL Server Managament Studio
22 авг 12, 11:46    [13048009]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Glory
О блокировках, например, говорит соответствующий раздел вSQL Server Managament Studio

А где в SMS он находится? Ткните пожалуйста.
22 авг 12, 11:51    [13048070]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
nicescar
Member

Откуда:
Сообщений: 94
В момент появления блокировок запустите следующий код в SSMS на этом SQL-сервере. Он покажет вам активные сессии с SQL-запросами и кто кого блокирует.
select  
    r.session_id,
	s.login_name,
	s.host_name,
	s.program_name,
	c.connect_time,
    r.start_time,  
    r.status,  
    r.command,  
    db_name(r.database_id) as db,  
    r.blocking_session_id,  
    r.wait_type,  
    r.wait_time,  
    r.wait_resource,  
    r.percent_complete,  
    r.estimated_completion_time/1024/60 as RemainMinutes,  
    r.cpu_time,  
    r.total_elapsed_time,  
    r.scheduler_id,  
    r.reads,  
    r.writes,  
    r.logical_reads,  
    r.row_count,  
    r.granted_query_memory,  
    case r.statement_end_offset  
    when -1 then NULL  
    else object_name(s2.objectid, s2.dbid)  
    end as ProcedureName,  
    case r.statement_end_offset  
    when -1 then s2.text  
    else substring(s2.text, r.statement_start_offset/2, (r.statement_end_offset/2) - (r.statement_start_offset/2))  
    end as Text,  
    s3.query_plan  
from sys.dm_exec_requests r  
	inner join sys.dm_exec_sessions s on s.session_id=r.session_id 
	inner join sys.dm_exec_connections c on c.session_id=r.session_id 
    cross apply sys.dm_exec_sql_text(r.sql_handle) as s2  
    cross apply sys.dm_exec_query_plan (r.plan_handle) as s3  
where r.status <> 'background'  
    and r.command <> 'task manager'  
    and r.session_id <> @@SPID  
    and r.database_id <> db_id('msdb')  
order by r.cpu_time desc  
22 авг 12, 12:18    [13048319]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
nicescar,

За код - ОГРОМНОЕ СПАСИБО.
Подскажите пожалуйста куда его вставить.
Только начал разбираться с SQL, поэтому сильно не пинайте пожалуйста.
22 авг 12, 12:23    [13048349]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
nicescar
Member

Откуда:
Сообщений: 94
M1chA77,

подключиться через SSMS к серверу SQL 1C, нажать New Query, вставить, выполнить.
22 авг 12, 12:24    [13048365]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Panshin
Member

Откуда:
Сообщений: 106
M1chA77,
Поскольку 1С сервер приложений сам генерирует запросы, то самое простое решение это посмотреть в профайлере, что же он генерирует в момент блокировок. Потом пойти в схему 1С и понять человеческий смысл этих таблиц, чтобы понять что же делают пользователи в момент блокировок. Может быть это и не пользователи, а скажем движок для документооборота или обработки по расписанию. В общем кто то одновременно меняет одни и те же данные, или в цикле. Второй вариант купить софт по анализу блокировок.
22 авг 12, 15:20    [13049916]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Panshin
Поскольку 1С сервер приложений сам генерирует запросы, то самое простое решение это посмотреть в профайлере, что же он генерирует в момент блокировок. Потом пойти в схему 1С и понять человеческий смысл этих таблиц, чтобы понять что же делают пользователи в момент блокировок. Может быть это и не пользователи, а скажем движок для документооборота или обработки по расписанию. В общем кто то одновременно меняет одни и те же данные, или в цикле. Второй вариант купить софт по анализу блокировок.


А где взять этот "профайлер"?
22 авг 12, 16:00    [13050271]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Нашел его.
Теперь бы понять как им пользоваться...
22 авг 12, 16:05    [13050322]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
Автор правильно говорит про номера сессии и SPID на сервере.
Находятся они именно так.
Но вот блокировки возникать могут по разным причинам.

1. Как давно Вы делали банальный ребилд сильно фрагментированным таблицам на MS-SQL
2. Правильно Вам говорят, что искать надо то что блокирует ресурсы, пока выполняется данный код.
Например у Вас что не действие со справочником то новая транзакция... ( это лечится в коде 1с)
3. Какой режим базы стоит? Full или Simple?
4. Есть хорошая утилитка - Бизнес Интегратор. Обработка под 1с.
Когда в профайлере или иными путями увидите имена табличек сервера, через нее переведете их названия в объекты 1с.
5. перегружать SQL сервер это жестко, воспользуйтесь процедурами Sp_who2 и Sp_who. Они показывают что запущено, чем что +/- блокируется. По форуму поищи Sp_Who3. Это вообще чумовая вещь... Она кажет только то что сейчас выполняется и что друг друга блокирует.
Через то как Вы идентифицируете пользователей 1с, найдете кто кого блокирует.
6. Какая версия 1с предприятия? 32 или 64 бита?
7. В 1с предприятии сколько стоит использовать потоков?
8. Сколько итого ядер в системе?
9. Не захватывает ли MS SQL всю свободную оперативку и не сваливаются ли у Вас пользователи в работу Свап файла?



p.s. если есть сложности что куда втыкать, пригласите того кто в MS SQL шарит.
За часа 2 взлет посадка,базовым приемам куда что писать и как читать хотя бы значения базовых процедур научитесь.
22 авг 12, 16:25    [13050507]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34096
Блог
M1chA77
Проблема №1
В основной базе (30,5Гб) ведутся все работы (продажи, приход, расход) появляются периодически блокировки.
Периодичность появления блокировок 2-3 раза в неделю.
Количество блокировок начинается от 400000 и доходит до 2000000.
Лечится это все закрытием всех терминальных сессий и перезапуском служб SQL сервера.
Надо сделать так, чтобы блокировок не было.
Срок решения задачи - месяц.


Во-первых, не сделаете "чтобы блокировок не было".
Во-вторых - чем они вам мешают?
22 авг 12, 17:05    [13050796]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
nicktcher
Member

Откуда: Москва
Сообщений: 581
M1chA77,

Рекомендую Вам приобрести 1С КИП (корпоративный инструментальный пакет).
Это специальное инструментальное средство 1С, в его состав входит очень удобный и простой в применении продукт "Центр управления производительностью". Блокировки и дэдлоки 1С отлавливаются на ура - при этом показывается детальная статистика работы системы и показывается сразу проблемный код, вызвавший конфликт. Отличная вещь, часто экономящая массу времени, поверьте мне, многократно проверено на практике.
22 авг 12, 17:13    [13050846]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Volochkova
Автор правильно говорит про номера сессии и SPID на сервере.
Находятся они именно так.
Но вот блокировки возникать могут по разным причинам.

1. Как давно Вы делали банальный ребилд сильно фрагментированным таблицам на MS-SQL
2. Правильно Вам говорят, что искать надо то что блокирует ресурсы, пока выполняется данный код.
Например у Вас что не действие со справочником то новая транзакция... ( это лечится в коде 1с)
3. Какой режим базы стоит? Full или Simple?
4. Есть хорошая утилитка - Бизнес Интегратор. Обработка под 1с.
Когда в профайлере или иными путями увидите имена табличек сервера, через нее переведете их названия в объекты 1с.
5. перегружать SQL сервер это жестко, воспользуйтесь процедурами Sp_who2 и Sp_who. Они показывают что запущено, чем что +/- блокируется. По форуму поищи Sp_Who3. Это вообще чумовая вещь... Она кажет только то что сейчас выполняется и что друг друга блокирует.
Через то как Вы идентифицируете пользователей 1с, найдете кто кого блокирует.
6. Какая версия 1с предприятия? 32 или 64 бита?
7. В 1с предприятии сколько стоит использовать потоков?
8. Сколько итого ядер в системе?
9. Не захватывает ли MS SQL всю свободную оперативку и не сваливаются ли у Вас пользователи в работу Свап файла?



p.s. если есть сложности что куда втыкать, пригласите того кто в MS SQL шарит.
За часа 2 взлет посадка,базовым приемам куда что писать и как читать хотя бы значения базовых процедур научитесь.


Отвечаю по порядку.

1.ничего на эту тему сказать не могу.
3.Не очень понимаю про что речь. Режим восстановления базы: Простой.
4.Ткни пожалуйста ссылкой а то я найти ее не могу.
5.Ткни пожалуйста в Sp_who3, а то вдруг я нарыл что-то нето...страшно...
6.1С 64 бита.
7.5 потоков
8.Процессор на DC Xeon E5504 (4 ядра,4 потока)
9.Ничего подобного нет.
22 авг 12, 17:25    [13050921]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Критик
Во-первых, не сделаете "чтобы блокировок не было".
Во-вторых - чем они вам мешают?


Наверное я неправильно выразился.
Не должно быть блокировок "вешающих работу намертво".
22 авг 12, 17:28    [13050940]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Зарегался
Member

Откуда:
Сообщений: 56
Так не получится, это же 1С. Тут выше топикстартер выкладывал скриншот консоли сервера 1С. Так вот: если промотать чуть правее там будет колонка "Заблокировано". Если в этой колонке пусто, то стало быть никто никого и не блокирует вовсе. Таким образом, внимательно наблюдая за консолью в момент появления жалоб на блокировки мы можем организовать себе реальный шанс позвонить виновнику и спросить его - чем он собственно сейчас занят (ну если конечно это не фоновое задание).
22 авг 12, 18:58    [13051505]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
M1chA77
Volochkova
Автор правильно говорит про номера сессии и SPID на сервере.
Находятся они именно так.
Но вот блокировки возникать могут по разным причинам.

1. Как давно Вы делали банальный ребилд сильно фрагментированным таблицам на MS-SQL
2. Правильно Вам говорят, что искать надо то что блокирует ресурсы, пока выполняется данный код.
Например у Вас что не действие со справочником то новая транзакция... ( это лечится в коде 1с)
3. Какой режим базы стоит? Full или Simple?
4. Есть хорошая утилитка - Бизнес Интегратор. Обработка под 1с.
Когда в профайлере или иными путями увидите имена табличек сервера, через нее переведете их названия в объекты 1с.
5. перегружать SQL сервер это жестко, воспользуйтесь процедурами Sp_who2 и Sp_who. Они показывают что запущено, чем что +/- блокируется. По форуму поищи Sp_Who3. Это вообще чумовая вещь... Она кажет только то что сейчас выполняется и что друг друга блокирует.
Через то как Вы идентифицируете пользователей 1с, найдете кто кого блокирует.
6. Какая версия 1с предприятия? 32 или 64 бита?
7. В 1с предприятии сколько стоит использовать потоков?
8. Сколько итого ядер в системе?
9. Не захватывает ли MS SQL всю свободную оперативку и не сваливаются ли у Вас пользователи в работу Свап файла?



p.s. если есть сложности что куда втыкать, пригласите того кто в MS SQL шарит.
За часа 2 взлет посадка,базовым приемам куда что писать и как читать хотя бы значения базовых процедур научитесь.


Отвечаю по порядку.

1.ничего на эту тему сказать не могу.
3.Не очень понимаю про что речь. Режим восстановления базы: Простой.
4.Ткни пожалуйста ссылкой а то я найти ее не могу.
5.Ткни пожалуйста в Sp_who3, а то вдруг я нарыл что-то нето...страшно...
6.1С 64 бита.
7.5 потоков
8.Процессор на DC Xeon E5504 (4 ядра,4 потока)
9.Ничего подобного нет.


1. Очень плохо!
3. Хорошо.
4. http://main.1c-ei.ru/
5. Надо искать.. Она не сложная именно по блокировкам все кажет.
6. Плохо.. надо 32....
7. Учитывая 8... вообще капец... Ставьте 2.
8. Маловато будет.
9. Странно . Сколько у Вас ОЗУ под MS SQL и сколько на сервере где 1с предприятие.
Как я поняла это разные сервера. Между ними хотя бы гигабит есть?
23 авг 12, 06:55    [13052920]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Volochkova,

Использовал Sp_Who3 отсюда:https://www.sql.ru/forum/actualthread.aspx?tid=96127
SQL показывает 2000000 блокировок а этот запрос ничего не выводит...
23 авг 12, 10:28    [13053383]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Вот что только что выдало:
Сообщение 2714, уровень 16, состояние 3, процедура sp_who1, строка 267
В базе данных уже существует объект с именем "sp_who1".
23 авг 12, 10:30    [13053399]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
M1chA77,
Она самая.
Я не понял что она Вам выдала..
Картинку покажите, пожалуйста.
Процессы 5 - убирайте... при 4 ядрах.... это неверное решение.
23 авг 12, 10:34    [13053441]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
M1chA77,

Sp_Who1 - неверно... надо SP_Who3....
Процедуры Sp_who и Sp_who2... SP_WHO1 - такой нет..
и процедурку в базе мастер надо делать.
23 авг 12, 10:36    [13053456]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Volochkova,

Убрать 5-sq процесс или все 5?
Просто если убрать все 5 процессов то тормозит ужасно...

Что значит в "мастер базе"?
Я делаю запрос в той базе где ведется работа и появляются блокировки.
23 авг 12, 11:46    [13054120]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Volochkova ,

Кстати,я тебя обманул.
У меня 2 проца * 4 ядра = 8 ядер
23 авг 12, 11:49    [13054150]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Volochkova
9. Странно . Сколько у Вас ОЗУ под MS SQL и сколько на сервере где 1с предприятие.
Как я поняла это разные сервера. Между ними хотя бы гигабит есть?


Забыл на этот вопрос ответить
DC: Процессор на DC Xeon E5504 (4 ядра,4 потока) * 2
Оперативы 16ГБ
На данный момент занято 8Гб

SQL: Процессор на DC Xeon E5504 * 1
Опреативы 24ГБ
На данный момент занято 13Гб
23 авг 12, 11:55    [13054215]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
M1chA77,
тогда еще куда не шло..
Но все равно SQL я бы оставила 6 ядер а для 1с - 2.
Попробуйте.

А про блокировки. .в тот момент когда он идут - запускайте Sp_who3... что скажет ?
Результат можно тут - можно в почту.
23 авг 12, 12:01    [13054282]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Volochkova,

Выполнение команд успешно завершено.

Вот Sp_who3:
Может конечно это не то,тогда ткни пожалуйста в ТО.
И что если перенести общение в аську (через личку)

/*
	select * from sysprocesses with differential cpu,physical_io
	
	sp_who3
*/
alter procedure sp_who3(
@order int = 0 --column to order
)
as
 begin
  SET NOCOUNT ON

  create table #start(spid int,cpu int,physical_io int,memusage int)

  insert into #start(spid,cpu,physical_io)
  select spid,SUM(cpu),sum(physical_io) from master..sysprocesses	
  group by spid
		
  WAITFOR DELAY '0:0:1'

  create table #diff(spid int,cpu_diff int,physical_io_diff int)
  --only working/blocking/blocked processes
  insert into #diff(spid,cpu_diff,physical_io_diff)
  select s.spid,s.cpu-#start.cpu as cpu_diff,s.physical_io-#start.physical_io as physical_io_diff
   from (select SUM(cpu) cpu,sum(physical_io) physical_io,max(blocked) blocked, spid
	 from master..sysprocesses 
	 group by spid) s
   join #start on s.spid=#start.spid	
   where (s.cpu-#start.cpu>0 or s.physical_io-#start.physical_io>0 or blocked>0 or s.spid in (select blocked from master..sysprocesses))

  create table #dbcc_tmp(EventType nvarchar(30),Parameters int,EventInfo nvarchar(255))
  create table #dbcc(spid int,EventInfo nvarchar(255))

  create table #block(spid int, dbid int, objectid int, indexid int, type varchar(255),mode varchar(255), dbname varchar(255),objectname varchar(255),indexname varchar(255))	
  insert into #block(spid,dbid,objectid,indexid,type,mode)
    select distinct req_spid,rsc_dbid,rsc_objid,rsc_indid,
	case(rsc_type)
	    when 1 then 'NULL'
	    when 2 then 'Database'
	    when 3 then 'File'
	    when 4 then 'Index'
	    when 5 then 'Table'
	    when 6 then 'Page'
	    when 7 then 'Key'
	    when 8 then 'Extent'
	    when 9 then 'RID'
	    when 10 then 'Application'
	end	
	,case(req_mode)
		when 0 then 'NULL' --. No access is granted to the resource. Serves as a placeholder.
		when 1 then 'Sch-S' -- (Schema stability). Ensures that a schema element, such as a table or index, is not dropped while any session holds a schema stability lock on the schema element.
		when 2 then 'Sch-M' -- (Schema modification). Must be held by any session that wants to change the schema of the specified resource. Ensures that no other sessions are referencing the indicated object.
		when 3 then 'S' -- (Shared). The holding session is granted shared access to the resource.
		when 4 then 'U' -- (Update). Indicates an update lock acquired on resources that may eventually be updated. It is used to prevent a common form of deadlock that occurs when multiple sessions lock resources for potential update at a later time.
		when 5 then 'X' -- (Exclusive). The holding session is granted exclusive access to the resource.
		when 6 then 'IS' -- (Intent Shared). Indicates the intention to place S locks on some subordinate resource in the lock hierarchy.
		when 7 then 'IU' -- (Intent Update). Indicates the intention to place U locks on some subordinate resource in the lock hierarchy.
		when 8 then 'IX' -- (Intent Exclusive). Indicates the intention to place X locks on some subordinate resource in the lock hierarchy.
		when 9 then 'SIU' -- (Shared Intent Update). Indicates shared access to a resource with the intent of acquiring update locks on subordinate resources in the lock hierarchy.
		when 10 then 'SIX' -- (Shared Intent Exclusive). Indicates shared access to a resource with the intent of acquiring exclusive locks on subordinate resources in the lock hierarchy.
		when 11 then 'UIX' -- (Update Intent Exclusive). Indicates an update lock hold on a resource with the intent of acquiring exclusive locks on subordinate resources in the lock hierarchy.
		when 12 then 'BU' --. Used by bulk operations.
		when 13 then 'RangeS_S' -- (Shared Key-Range and Shared Resource lock). Indicates serializable range scan.
		when 14 then 'RangeS_U' -- (Shared Key-Range and Update Resource lock). Indicates serializable update scan.
		when 15 then 'RangeI_N' -- (Insert Key-Range and Null Resource lock). Used to test ranges before inserting a new key into an index.
		when 16 then 'RangeI_S' --. Key-Range Conversion lock, created by an overlap of RangeI_N and S locks.
		when 17 then 'RangeI_U' --. Key-Range Conversion lock, created by an overlap of RangeI_N and U locks.
		when 18 then 'RangeI_X' --. Key-Range Conversion lock, created by an overlap of RangeI_N and X locks.
		when 19 then 'RangeX_S' --. Key-Range Conversion lock, created by an overlap of RangeI_N and RangeS_S. locks.
		when 20 then 'RangeX_U' --. Key-Range Conversion lock, created by an overlap of RangeI_N and RangeS_U locks.
		when 21 then 'RangeX_X' -- (Exclusive Key-Range and Exclusive Resource lock). This is a conversion lock used when updating a key in a range.
 	end
	from syslockinfo where req_status = 3 /*Waiting*/

	declare @dbid int	
	declare @sql varchar(8000)
	declare c cursor local fast_forward
  	for select distinct dbid from #block

	open c
	while(1=1)
	begin
		fetch next from c into @dbid
		if(@@FETCH_STATUS<>0)
			break
		declare @dbname varchar(255)
		select @dbname=DB_NAME(@dbid)

		if((@dbname is null)or(@dbname=''))
		begin	
			print 'lock with null database name '+ @dbid	
			continue
		end

		select @sql='update #block set dbname='+''''+@dbname+''''
		select @sql = @sql+',objectname = (select name from '+@dbname+'..sysobjects where id=#block.objectid)'
		select @sql = @sql+',indexname = (select name from '+@dbname+'..sysindexes where id=#block.objectid and indid = #block.indexid and indid<>0)'
		select @sql = @sql+' where #block.dbid='+Convert(varchar(255),@dbid)

		--print @sql
		exec(@sql)
	end
	close c
	deallocate c
	

  declare @spid int
  declare c cursor local fast_forward 
  for select spid from #diff
  open c
  while(1=1) 
  begin
   fetch next from c into @spid
   if @@FETCH_STATUS<>0 break

   declare @dbcc varchar(255)
   select @dbcc = 'DBCC INPUTBUFFER('+convert(varchar(255),@spid)+')'
   insert into #dbcc_tmp exec(@dbcc)

   insert into #dbcc(EventInfo,spid)
   select EventInfo,@spid from #dbcc_tmp

   delete from #dbcc_tmp
  end 
  close c
  deallocate c

  select s.spid,s.blocked,#diff.cpu_diff,#diff.physical_io_diff,s.memusage,s.open_tran
	,s.hostname,s.program_name,#dbcc.EventInfo
	,#block.dbname+ISNULL('..'+#block.objectname,'')+ISNULL('.'+#block.indexname,'') object
	,#block.type+'('+#block.mode+')' locktype
  from master..sysprocesses s
  join #diff on s.spid=#diff.spid
  join #dbcc on s.spid=#dbcc.spid 
  left join #block on s.spid = #block.spid
 end
GO
23 авг 12, 12:16    [13054425]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Сообщение 0, уровень 11, состояние 0, строка 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
Сообщение 0, уровень 20, состояние 0, строка 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
23 авг 12, 12:46    [13054685]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
M1chA77,
Именно эта...
У меня на базе мастер она создалась.
Alter на create поменяйте...
и выполнение..
Exec sp_who3
23 авг 12, 13:18    [13054950]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Shuhard
Member

Откуда:
Сообщений: 4992
для поиска узких мест в 1С-ких базах есть свой, специализированный инструментарий: http://v8.1c.ru/expert/pmc/pmc_overview.htm
и есть специалисты по тюнингу: http://www.softpoint.ru/
23 авг 12, 13:19    [13054969]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Volochkova
M1chA77,
Именно эта...
У меня на базе мастер она создалась.
Alter на create поменяйте...
и выполнение..
Exec sp_who3


Заменил в первой строчке после коментария
alter procedure sp_who3(

на 

master procedure sp_who3(

и вышла такая ошибка

Сообщение 156, уровень 15, состояние 1, строка 6
Неправильный синтаксис около ключевого слова "procedure".


и куда вставлять "Exec sp_who3"?
23 авг 12, 13:40    [13055185]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37075
M1chA77
Volochkova
M1chA77,
Именно эта...
У меня на базе мастер она создалась.
Alter на create поменяйте...
и выполнение..
Exec sp_who3


Заменил в первой строчке после коментария
alter procedure sp_who3(

на 

master procedure sp_who3(

и вышла такая ошибка

Сообщение 156, уровень 15, состояние 1, строка 6
Неправильный синтаксис около ключевого слова "procedure".


и куда вставлять "Exec sp_who3"?
Оставьте сервер в покое, пока вы его не сломали окончательно.
23 авг 12, 13:47    [13055262]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Гавриленко Сергей Алексеевич,

С удовольствием оставлю его в покое,только надо оптимизировать его работу а именно свести блокировку к тому минимуму, когда они не будут мешать работе компании. Можете чем-то помочь?
23 авг 12, 14:05    [13055448]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37075
M1chA77
Гавриленко Сергей Алексеевич,

Можете чем-то помочь?
Советом могу помочь. Обратитесь к специалисту.
23 авг 12, 14:07    [13055460]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
Гавриленко Сергей Алексеевич
M1chA77
Гавриленко Сергей Алексеевич,

Можете чем-то помочь?
Советом могу помочь. Обратитесь к специалисту.


Я к Вам и обращаюсь :)
А если серьезно, то компания не готова на данном этапе тратить деньги на аутсорсера.
Поэтому мы сперва пытаемся решить проблему своими силами.
23 авг 12, 14:11    [13055486]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
invm
Member

Откуда: Москва
Сообщений: 9435
M1chA77
А если серьезно, то компания не готова на данном этапе тратить деньги на аутсорсера.
Поэтому мы сперва пытаемся решить проблему своими силами.
И в результате будет потеряно больше средств, чем стоимость услуг специалиста. И хорошо еще, что это будут только деньги, а не данные.
23 авг 12, 14:32    [13055621]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
invm
M1chA77
А если серьезно, то компания не готова на данном этапе тратить деньги на аутсорсера.
Поэтому мы сперва пытаемся решить проблему своими силами.
И в результате будет потеряно больше средств, чем стоимость услуг специалиста. И хорошо еще, что это будут только деньги, а не данные.


300.000 компания не готова сейчас выложить граммотному SQL - щику.
23 авг 12, 15:06    [13055795]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
nicescar
Member

Откуда:
Сообщений: 94
Пусть выложит деньги Вам на обучение. Оно стоит в 10 раз меньше.
23 авг 12, 15:07    [13055804]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
nicescar
Пусть выложит деньги Вам на обучение. Оно стоит в 10 раз меньше.


Сейчас как раз и идут переговоры с руководством на эту тему ).
23 авг 12, 15:12    [13055824]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
M1chA77,

Я же по русски написала..
Alter -> Create а не на мастер...
Тут проще через ТимВьювер или Хаматчи помочь..
Но если Вы так подходите к решению проблемы, то я согласная.. Вы так сервер угробите.
23 авг 12, 15:49    [13056023]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
saaken
Member

Откуда:
Сообщений: 7
1. Какая конфигурация 1С?
2. Почему автоматические блокировки стоят?
23 авг 12, 17:24    [13056638]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
M1chA77
Member

Откуда: Самара
Сообщений: 64
saaken
1. Какая конфигурация 1С?
2. Почему автоматические блокировки стоят?


Платформа: 1C предприятие 8.1.15.14
Конфигурация: 1C предприятие 8.1 Управление торговлей 10.3.7.9
Как мне сказали, управляемые не получилось включить.
23 авг 12, 17:48    [13056790]     Ответить | Цитировать Сообщить модератору
 Re: 1C 8.1 и блокировки  [new]
saaken
Member

Откуда:
Сообщений: 7
пусть включают. сам ты не уберешь проблемы
можешь найти только на каком регистре они.
партии скорее всего, или товарные остатки
23 авг 12, 17:53    [13056843]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Microsoft SQL Server Ответить