Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
< >
1 2 3 4 5

1C SQL >> Адміністратору

  1. 1C SQL >> Адміністратору
  2. 1C SQL >> Адміністратору

1C SQL >> Адміністратору



  • >
    >
    >
    >



e-mail:
icq: 169296011
© 2003-2010 Шемякін Павло


адміністратору


Всього: 35 попер. 1 2 3 4 слід.

  • Після перенесення бази з одного сервера на сервер при спробі підключитися до неї видається повідомлення: Server: Msg 916, Level 14, State 1, Line 1 Server user "user_1c" is not a valid user in database "CV7DB"
  • "Can not open user default database". Using master database instead
  • Який вибрати сервер / мережа & etc для роботи 1С на SQL Server Сервер двохпроцесорний, пам'ять мінімум 256 (краще більше, SQL пам'ять любить, і юзает її грамотно)
  • Як проводити перевірку, переіндексацію бази на SQL Server
  • Чи працює 1С на інших SQL серверах
  • Час від часу виникає проблема "Доступ до бази на сервері можливий тільки з одного каталогу інформаційної бази". Як лікувати?
  • Помер SQL, але mdf і ldf-файли залишилися. Чи можна підняти базу?
  • Помилка SQL Server "Can not resolve collation for equal operation"
  • Помилка "Could not continue scan with NOLOCK due to data movement"
  • Яким чином на клієнтської робочої станції можна налаштувати мережевий протокол (TCP / IP, Named Pipes і т.д.) взаємодії з сервером MS SQL?
  • Після перенесення бази з одного сервера на сервер при спробі підключитися до неї видається повідомлення: Server: Msg 916, Level 14, State 1, Line 1 Server user "user_1c" is not a valid user in database "CV7DB"
  • sp_change_users_login AUTO_FIX, 'user_1c'
  • "Can not open user default database". Using master database instead
  • Це повідомлення може виникнути в тому випадку, якщо база даних, яка колись була базою за замовчуванням для деякого користувача, була видалена або в поточний момент недоступна. Проте дана ситуація може призвести до того, що логін стане заблокованим і не зможе підключиться до будь-якої іншої БД на даному сервері. Для того, щоб виправити цю ситуацію потрібно задати іншу БД (наприклад, master) за замовчуванням для даного логіна:

    sp_defaultdb 'user_name', 'master'


  • Який вибрати сервер / мережа & etc для роботи 1С на SQL Server Сервер двохпроцесорний, пам'ять мінімум 256 (краще більше, SQL пам'ять любить, і юзает її грамотно)
  • Дискова підсистема. Мінімум 2 гвинта, краще SCSI. Чому 2 - тому що нам RAID потрібен. Для бідних - програмний (до речі в NT 1 і 3! RAID добре реалізований), для багатьох - залізний. Офіційні рекомендації Microsoft для великих, сильно навантажених БД SQL: 2 диска (RAID1) - система, від 3 дисків (RAID5) - сама БД, 2 диска (RAID1) - для журналів транзакцій.

    Мережа можна і 10, хоча краще 100 М. Хороший варіант - мережеві картки Intel або 3Com, які можуть працювати в команді (режим відмовостійкості або підвищення пропускної спроможності). Хоча ми використовуємо просто 2 картки: половина офісу ходить на одну, друга половина людей на другу. На яку адресу ходити, встановлюється в Client Network Utility.


  • Як проводити перевірку, переіндексацію бази на SQL Server
  • Перевірку логічної цілісності потрібно виконувати штатними засобами 1С: Підприємства (Тестування і виправлення ІБ). У разі, якщо таку перевірку не вдається виконати, слід перевірити фізичну цілісність БД засобами MS SQL. Для перевірки цілісності засобами MS SQL потрібно виконати наступну команду: DBCC CHECKDB ( '<ім'я бази>', REPAIR_REBUILD) Перед виконанням цієї команди потрібно базу даних перевести в режим "single user": sp_dboption '<ім'я бази>', 'single user' , true. В процесі роботи DBCC CHECKDB можуть бути виявлені помилки і частина може бути відразу ж виправлена. Якщо помилки залишилися, то по всій видимості їх не можна відновити без втрати деяких даних. В цьому випадку потрібно запустити DBCC CHECKDB з параметром REPAIR_ALLOW_DATA_LOSS (перед запуском бажано зробити копію файлів бази даних). DBCC CHECKDB ( '<ім'я бази>', REPAIR_ALLOW_DATA_LOSS) Після виконання DBCC CHECKDB потрібно не забути повернутися в нормальний режим (вийти з режиму "single user"): sp_dboption '<ім'я бази>', 'single user', false переіндексацію бази даних на MS SQL не потрібно робити так часто, як у випадку з DBF-версією 1С: Підприємства (наприклад, при аварійному завершенні роботи користувача). MS SQL автоматично підтримує індекси в актуальному стані. Пересоздавать індекси має сенс в одному з наступних випадків:

    1) Індекс фізично пошкоджений. Це трапляється досить рідко і для відновлення потрібно використовувати вищезгаданий DBCC CHECKDB.
    2) Сторінки індексу сильно фрагментовані і потрібно їх впорядкувати.
    3) Потрібно змінити ступінь заповнення індексних сторінок (fill factor).
    4) Потрібно змінити тип індексу (кластерний / некластерние). При використанні 1С це зазвичай неактуально.

    Для перевтілення індексів слід скористатися командою: DBCC DBREINDEX ( '<ім'я таблиці>') або запустити збережену процедуру, яка переіндексірует все таблиці в базі даних: EXEC _1sp_DBReindex


  • Чи працює 1С на інших SQL серверах

  • Час від часу виникає проблема "Доступ до бази на сервері можливий тільки з одного каталогу інформаційної бази". Як лікувати?
  • Діагноз: Така помилка виникає при спробі завантажити версію 1С для SQL після того, як один з користувачів некоректно вийшов з системи. У рідкісних випадках ця помилка може бути результатом некоректної установки конфігурації. Анамнез: Після закриття 1С на сервері NT звільняються ресурси, які займав користувач. Однак в разі некоректного завершення роботи не зупиняється SQL-процес, запущений користувачем. рецепт:

    Примусово зупинити SQL-процес можна за допомогою SQL Enterprise Manager. У ньому всі активні процеси перераховані в гілці "Management \ Current Activity \ Process Info". Треба знайти в списку праворуч процес, який заважає Вам жити, виділити його і в меню "Action" вибрати пункт "Kill Process"

    Якщо користувачі працюють по протоколу Named pipes, то можна просто закрити файли на SQL-сервері, відкриті повислим користувачем. Такі файли мають вигляд \ PIPE \ MSSQL $ NAMEDSERVER \ SQL \ query.

    Якщо вищевикладене занадто складно для Вас, Ви можете просто перевантажити SQL server. Треба тільки переконатися, що жодна інша програма не використовує його в цей момент.

    Якщо помилка виникає постійно, має сенс перевірити правильність установки конфігурації: з однією базою даних на сервері користувачі повинні працювати з одного каталогу з файлами. Інакше кажучи, не можуть одночасно працювати дві (навіть ідентичні) конфігурації, розміщені в різних каталогах і посилаються на одну і ту ж базу.

    взято звідси http://gendin.ru/faq1c/sql1dir.html


  • Помер SQL, але mdf і ldf-файли залишилися. Чи можна підняти базу?
  • exec sp_attach_db <ім'я БД »,« шлях до файлу * .mdf>, <шлях до файлу * .ldf>
  • Помилка SQL Server "Can not resolve collation for equal operation"
  • Дана помилка виникає при порівнянні полів з різною collation. Детально опис помилки можна знайти в статті "Transact-SQL ReferenceData TypesCollation Precedence" в Books OnLine. У разі 1С це може бути, наприклад, коли розрізняються collation вашої робочої бази і бази tempdb. При першій установці collation бази tempdb встановлюється такий же як у сервера і зазвичай не змінюється. Collation бази вибирається при створенні бази, але може бути змінена за допомогою команди ALTER DATABASE. Тому зазвичай така помилка виникає, коли collation бази спочатку була обрана відмінною від collation сервера. База tempdb використовується для створення тимчасових таблиць, зокрема, коли використовується конструкція "В" в запиті або коли використовується відбір по групі в інших вибірках.

    Щоб усунути цю помилку потрібно поміняти або collation робочої бази, або collation сервера. Щоб поміняти collation робочої бази скористайтеся командою ALTER DATABASE COLLATION = collation_сервера. При цьому самі дані не змінюються. Тому необхідно спочатку вивантажити ваші дані, а потім завантажити назад. Я, наприклад, робив це за допомогою інструменту Data Transformation Services (DTS) за допомогою задачі переносу об'єктів SQL Server з сервера на сервер. Для цього потрібно створити нову базу з collation рівній collation сервера, в параметрах завдання (на робочому полі клацніть правою клавішою мишки, виберіть "Disconnected Edit", потім гілку завдань, ваше завдання перенесення) потрібно вказати додаткову опцію ScriptOptionEx = SQLDMOScript2_70Only (16777216), яка вкаже не формувати для кожного поля його collation (щоб не переносити стару). Потім потрібно виконати завдання. Всі. Тепер можете користуватися новою базою, або завантажити дані назад.

    Про додаткову опцію можна прочитати в статті "Data Transformation ServicesUsage Considerations in DTSData Conversion and Transformation Considerations".


  • Помилка "Could not continue scan with NOLOCK due to data movement "
  • У BOL причина помилки пов'язана з поєднанням блокування (NOLOCK) і рівнем ізоляції (READ UNCOMMITED) таким чином, що при читанні даних деякі прочитані сторінки можуть бути видалені до завершення транзакції. Нам це нічого не дає. Здається, що проблема пов'язана з проектуванням 1С. Насправді система використовує інший рівень ізоляції, який не може привести до такої ситуації. Зазвичай помилка з'являється при руйнуванні даних. На моїй пам'яті це було в двох випадках. Перевірка БД проводиться як звичайно за допомогою DBCC CHECKDB. Якщо дані зруйновані, то команда видасть список об'єктів, в яких знайдені ушкодження. Зробіть резервну копію і спробуйте за допомогою все тієї ж DBCC CHECKDB відновити дані. Якщо пошкодження несерйозні, то відновлення проходить гладко. Якщо немає, то простіше провести відновлення БД з резервної копії.

    Порада. Щоб не виникало даної помилки, слідкуйте за місцем на диску, стежте за станом вашої дискової системи, ставте на сервер ДБЖ, робіть резервні копії.


  • Яким чином на клієнтської робочої станції можна налаштувати мережевий протокол (TCP / IP, Named Pipes і т.д.) взаємодії з сервером MS SQL?
  • Для цього потрібно скористатися вищезгаданої утилітою Client Network Utility. За допомогою неї можна налаштувати тип протоколу (TCP / IP, Named Pipes, Multiprotocol і т.д.), а також ряд додаткових параметрів (наприклад, при успользованіі протоколу TCP / IP можна вказати порт, по якому буде проводитися підключення до сервера MS SQL ).

    наверх

1C SQL >> Адміністратору



  • >
    >
    >
    >



e-mail:
icq: 169296011
© 2003-2010 Шемякін Павло


адміністратору


Всього: 35 попер. 1 2 3 4 слід.

  • Після перенесення бази з одного сервера на сервер при спробі підключитися до неї видається повідомлення: Server: Msg 916, Level 14, State 1, Line 1 Server user "user_1c" is not a valid user in database "CV7DB"
  • "Can not open user default database". Using master database instead
  • Який вибрати сервер / мережа & etc для роботи 1С на SQL Server Сервер двохпроцесорний, пам'ять мінімум 256 (краще більше, SQL пам'ять любить, і юзает її грамотно)
  • Як проводити перевірку, переіндексацію бази на SQL Server
  • Чи працює 1С на інших SQL серверах
  • Час від часу виникає проблема "Доступ до бази на сервері можливий тільки з одного каталогу інформаційної бази". Як лікувати?
  • Помер SQL, але mdf і ldf-файли залишилися. Чи можна підняти базу?
  • Помилка SQL Server "Can not resolve collation for equal operation"
  • Помилка "Could not continue scan with NOLOCK due to data movement"
  • Яким чином на клієнтської робочої станції можна налаштувати мережевий протокол (TCP / IP, Named Pipes і т.д.) взаємодії з сервером MS SQL?
  • Після перенесення бази з одного сервера на сервер при спробі підключитися до неї видається повідомлення: Server: Msg 916, Level 14, State 1, Line 1 Server user "user_1c" is not a valid user in database "CV7DB"
  • sp_change_users_login AUTO_FIX, 'user_1c'
  • "Can not open user default database". Using master database instead
  • Це повідомлення може виникнути в тому випадку, якщо база даних, яка колись була базою за замовчуванням для деякого користувача, була видалена або в поточний момент недоступна. Проте дана ситуація може призвести до того, що логін стане заблокованим і не зможе підключиться до будь-якої іншої БД на даному сервері. Для того, щоб виправити цю ситуацію потрібно задати іншу БД (наприклад, master) за замовчуванням для даного логіна:

    sp_defaultdb 'user_name', 'master'


  • Який вибрати сервер / мережа & etc для роботи 1С на SQL Server Сервер двохпроцесорний, пам'ять мінімум 256 (краще більше, SQL пам'ять любить, і юзает її грамотно)
  • Дискова підсистема. Мінімум 2 гвинта, краще SCSI. Чому 2 - тому що нам RAID потрібен. Для бідних - програмний (до речі в NT 1 і 3! RAID добре реалізований), для багатьох - залізний. Офіційні рекомендації Microsoft для великих, сильно навантажених БД SQL: 2 диска (RAID1) - система, від 3 дисків (RAID5) - сама БД, 2 диска (RAID1) - для журналів транзакцій.

    Мережа можна і 10, хоча краще 100 М. Хороший варіант - мережеві картки Intel або 3Com, які можуть працювати в команді (режим відмовостійкості або підвищення пропускної спроможності). Хоча ми використовуємо просто 2 картки: половина офісу ходить на одну, друга половина людей на другу. На яку адресу ходити, встановлюється в Client Network Utility.


  • Як проводити перевірку, переіндексацію бази на SQL Server
  • Перевірку логічної цілісності потрібно виконувати штатними засобами 1С: Підприємства (Тестування і виправлення ІБ). У разі, якщо таку перевірку не вдається виконати, слід перевірити фізичну цілісність БД засобами MS SQL. Для перевірки цілісності засобами MS SQL потрібно виконати наступну команду: DBCC CHECKDB ( '<ім'я бази>', REPAIR_REBUILD) Перед виконанням цієї команди потрібно базу даних перевести в режим "single user": sp_dboption '<ім'я бази>', 'single user' , true. В процесі роботи DBCC CHECKDB можуть бути виявлені помилки і частина може бути відразу ж виправлена. Якщо помилки залишилися, то по всій видимості їх не можна відновити без втрати деяких даних. В цьому випадку потрібно запустити DBCC CHECKDB з параметром REPAIR_ALLOW_DATA_LOSS (перед запуском бажано зробити копію файлів бази даних). DBCC CHECKDB ( '<ім'я бази>', REPAIR_ALLOW_DATA_LOSS) Після виконання DBCC CHECKDB потрібно не забути повернутися в нормальний режим (вийти з режиму "single user"): sp_dboption '<ім'я бази>', 'single user', false переіндексацію бази даних на MS SQL не потрібно робити так часто, як у випадку з DBF-версією 1С: Підприємства (наприклад, при аварійному завершенні роботи користувача). MS SQL автоматично підтримує індекси в актуальному стані. Пересоздавать індекси має сенс в одному з наступних випадків:

    1) Індекс фізично пошкоджений. Це трапляється досить рідко і для відновлення потрібно використовувати вищезгаданий DBCC CHECKDB.
    2) Сторінки індексу сильно фрагментовані і потрібно їх впорядкувати.
    3) Потрібно змінити ступінь заповнення індексних сторінок (fill factor).
    4) Потрібно змінити тип індексу (кластерний / некластерние). При використанні 1С це зазвичай неактуально.

    Для перевтілення індексів слід скористатися командою: DBCC DBREINDEX ( '<ім'я таблиці>') або запустити збережену процедуру, яка переіндексірует все таблиці в базі даних: EXEC _1sp_DBReindex


  • Чи працює 1С на інших SQL серверах

  • Час від часу виникає проблема "Доступ до бази на сервері можливий тільки з одного каталогу інформаційної бази". Як лікувати?
  • Діагноз: Така помилка виникає при спробі завантажити версію 1С для SQL після того, як один з користувачів некоректно вийшов з системи. У рідкісних випадках ця помилка може бути результатом некоректної установки конфігурації. Анамнез: Після закриття 1С на сервері NT звільняються ресурси, які займав користувач. Однак в разі некоректного завершення роботи не зупиняється SQL-процес, запущений користувачем. рецепт:

    Примусово зупинити SQL-процес можна за допомогою SQL Enterprise Manager. У ньому всі активні процеси перераховані в гілці "Management \ Current Activity \ Process Info". Треба знайти в списку праворуч процес, який заважає Вам жити, виділити його і в меню "Action" вибрати пункт "Kill Process"

    Якщо користувачі працюють по протоколу Named pipes, то можна просто закрити файли на SQL-сервері, відкриті повислим користувачем. Такі файли мають вигляд \ PIPE \ MSSQL $ NAMEDSERVER \ SQL \ query.

    Якщо вищевикладене занадто складно для Вас, Ви можете просто перевантажити SQL server. Треба тільки переконатися, що жодна інша програма не використовує його в цей момент.

    Якщо помилка виникає постійно, має сенс перевірити правильність установки конфігурації: з однією базою даних на сервері користувачі повинні працювати з одного каталогу з файлами. Інакше кажучи, не можуть одночасно працювати дві (навіть ідентичні) конфігурації, розміщені в різних каталогах і посилаються на одну і ту ж базу.

    взято звідси http://gendin.ru/faq1c/sql1dir.html


  • Помер SQL, але mdf і ldf-файли залишилися. Чи можна підняти базу?
  • exec sp_attach_db <ім'я БД »,« шлях до файлу * .mdf>, <шлях до файлу * .ldf>
  • Помилка SQL Server "Can not resolve collation for equal operation"
  • Дана помилка виникає при порівнянні полів з різною collation. Детально опис помилки можна знайти в статті "Transact-SQL ReferenceData TypesCollation Precedence" в Books OnLine. У разі 1С це може бути, наприклад, коли розрізняються collation вашої робочої бази і бази tempdb. При першій установці collation бази tempdb встановлюється такий же як у сервера і зазвичай не змінюється. Collation бази вибирається при створенні бази, але може бути змінена за допомогою команди ALTER DATABASE. Тому зазвичай така помилка виникає, коли collation бази спочатку була обрана відмінною від collation сервера. База tempdb використовується для створення тимчасових таблиць, зокрема, коли використовується конструкція "В" в запиті або коли використовується відбір по групі в інших вибірках.

    Щоб усунути цю помилку потрібно поміняти або collation робочої бази, або collation сервера. Щоб поміняти collation робочої бази скористайтеся командою ALTER DATABASE COLLATION = collation_сервера. При цьому самі дані не змінюються. Тому необхідно спочатку вивантажити ваші дані, а потім завантажити назад. Я, наприклад, робив це за допомогою інструменту Data Transformation Services (DTS) за допомогою задачі переносу об'єктів SQL Server з сервера на сервер. Для цього потрібно створити нову базу з collation рівній collation сервера, в параметрах завдання (на робочому полі клацніть правою клавішою мишки, виберіть "Disconnected Edit", потім гілку завдань, ваше завдання перенесення) потрібно вказати додаткову опцію ScriptOptionEx = SQLDMOScript2_70Only (16777216), яка вкаже не формувати для кожного поля його collation (щоб не переносити стару). Потім потрібно виконати завдання. Всі. Тепер можете користуватися новою базою, або завантажити дані назад.

    Про додаткову опцію можна прочитати в статті "Data Transformation ServicesUsage Considerations in DTSData Conversion and Transformation Considerations".


  • Помилка "Could not continue scan with NOLOCK due to data movement "
  • У BOL причина помилки пов'язана з поєднанням блокування (NOLOCK) і рівнем ізоляції (READ UNCOMMITED) таким чином, що при читанні даних деякі прочитані сторінки можуть бути видалені до завершення транзакції. Нам це нічого не дає. Здається, що проблема пов'язана з проектуванням 1С. Насправді система використовує інший рівень ізоляції, який не може привести до такої ситуації. Зазвичай помилка з'являється при руйнуванні даних. На моїй пам'яті це було в двох випадках. Перевірка БД проводиться як звичайно за допомогою DBCC CHECKDB. Якщо дані зруйновані, то команда видасть список об'єктів, в яких знайдені ушкодження. Зробіть резервну копію і спробуйте за допомогою все тієї ж DBCC CHECKDB відновити дані. Якщо пошкодження несерйозні, то відновлення проходить гладко. Якщо немає, то простіше провести відновлення БД з резервної копії.

    Порада. Щоб не виникало даної помилки, слідкуйте за місцем на диску, стежте за станом вашої дискової системи, ставте на сервер ДБЖ, робіть резервні копії.


  • Яким чином на клієнтської робочої станції можна налаштувати мережевий протокол (TCP / IP, Named Pipes і т.д.) взаємодії з сервером MS SQL?
  • Для цього потрібно скористатися вищезгаданої утилітою Client Network Utility. За допомогою неї можна налаштувати тип протоколу (TCP / IP, Named Pipes, Multiprotocol і т.д.), а також ряд додаткових параметрів (наприклад, при успользованіі протоколу TCP / IP можна вказати порт, по якому буде проводитися підключення до сервера MS SQL ).

    наверх

Як лікувати?
Чи можна підняти базу?
Як лікувати?
Чи можна підняти базу?
Яким чином на клієнтської робочої станції можна налаштувати мережевий протокол (TCP / IP, Named Pipes і т.д.) взаємодії з сервером MS SQL?
Як лікувати?
Чи можна підняти базу?
Як лікувати?
Чи можна підняти базу?
Яким чином на клієнтської робочої станції можна налаштувати мережевий протокол (TCP / IP, Named Pipes і т.д.) взаємодії з сервером MS SQL?