SQL сервер для 1С: створення бази даних

Матеріал надано сайтом www.learn1c.ru /

Отже, SQL сервер запущений. Тепер саме час створити базу даних, з якої буде працювати програма 1С. Незважаючи на всю простоту цієї процедури, в ній є кілька особливостей, про які Вам слід знати. Запустіть програму "Enterprise Manager". Поставте курсор на назву сервера і з контекстного меню виберіть пункт "Властивості". Перейдіть на закладку "Security":

Матеріал, викладений у цьому розділі, описаний для випадку авторизації SQL Server and Windows Матеріал, викладений у цьому розділі, описаний для випадку авторизації "SQL Server and Windows".

Якщо ж у Вас буде обрана авторизація "Windows only", то при спробі підключення 1С до SQL серверу, Ви отримаєте повідомлення, аналогічне наведеному нижче:

Про те, як в 1С налаштовується підключення до SQL серверу, я розповім пізніше Про те, як в 1С налаштовується підключення до SQL серверу, я розповім пізніше.

Хто власник бази даних?

Коли Ви будете створювати нову базу, її власником стане та обліковий запис, від імені якої Ви підключилися до SQL сервера.

Щоб подивитися настройки підключення, поставте курсор на назву сервера і з контекстного меню виберіть пункт "Edit SQL Server Registration properties ...":

Розділ Connection визначає, яким чином Ви будете підключатися до SQL сервера з програми Enterprise Manager Розділ "Connection" визначає, яким чином Ви будете підключатися до SQL сервера з програми "Enterprise Manager". Спосіб підключення в кінцевому підсумку визначає, хто стане власником створюваної бази даних.

Визначити власника існуючої бази дуже легко - просто подивіться її властивості Визначити власника існуючої бази дуже легко - просто подивіться її властивості. За наведеним нижче малюнку видно, що власник бази pubs - обліковий запис sa.

Якщо ж Ви авторизувалися засобами Windows і створили нову базу, то інформація про її власника буде виглядати трохи інакше: Якщо ж Ви авторизувалися засобами Windows і створили нову базу, то інформація про її власника буде виглядати трохи інакше:

Ви можете запитати, навіщо потрібно знати власника бази даних Ви можете запитати, навіщо потрібно знати власника бази даних?
Відповідаю: доступ до бази даних з 1С може бути здійснений тільки її власником. Якщо це правило порушується, при збереженні параметрів бази даних SQL або при запуску 1С видається наступне повідомлення:

Є уточнення - доступ від імені sa дозволений, навіть якщо власник бази даних не sa Є уточнення - доступ від імені sa дозволений, навіть якщо власник бази даних не sa.

Передбачаю Ваше бажання підключати 1С до SQL сервера від імені облікового запису sa. Це не найкраща ідея, тому що у цей обліковий запис повні права на управління SQL сервером. Для роботи 1С краще завести окрему обліковий запис з обмеженими правами. Назвемо її Login1C.

Служба захисту проводиться в гілці "Security":

Створіть новий обліковий запис з ім'ям Login1C Створіть новий обліковий запис з ім'ям Login1C. На закладках "Server Roles" і "Database Access» не проставляйте ніяких галочок:

Наступний крок - зробити обліковий запис Login1C власником бази даних Наступний крок - зробити обліковий запис Login1C власником бази даних. Цю операцію треба виконувати, коли база даних вже створена. Оскільки на даному етапі ми ще не створили свою базу, я розповім, як це зробити на прикладі бази pubs.

Запустіть програму "Query analyzer". У випадаючому списку баз даних виберіть базу pubs. У вікні запитів наберіть команду

sp_changedbowner 'Login1c' Виконайте її. Ви повинні отримати наступний результат:

Власник бази зміниться на Login1C: Власник бази зміниться на Login1C:

Точно таку ж операцію Ви повинні зробити, коли створите свою базу даних, призначену для роботи з 1С Точно таку ж операцію Ви повинні зробити, коли створите свою базу даних, призначену для роботи з 1С.

Створюємо свою базу

Нова база створюється в гілці "Databases":

В поле Name введіть ім'я Вашої бази, наприклад, Base1C В поле "Name" введіть ім'я Вашої бази, наприклад, Base1C. В поле "Collation name" залиште значення за замовчуванням - "(Server default)":

Перейдіть на закладку Data Files Перейдіть на закладку "Data Files". Тут Вам слід перевірити, де SQL сервер пропонує розташувати файл даних. Спочатку в поле "Location" повинен бути обраний шлях, який під час установки ми вказали SQL сервера в якості папки для файлів даних . Якщо Ваші жорсткі диски розбиті згідно з таблицею з голови "SQL сервер для 1С: установка операційної системи" , То файл даних повинен знаходитися на диску F:

Слід загострити увагу на параметрі Initial size Слід загострити увагу на параметрі "Initial size". У цьому полі вказується розмір створюваного файлу даних в мегабайтах.

Якщо Ви тільки збираєтеся починати облік в програмі 1С, то має сенс встановити невелике значення цього параметра, наприклад, 100 Мб. Якщо ж Ви переносите на платформу SQL існуючу базу 1С розміром, скажімо, 1,5 Гб, то вкажіть в цьому полі значення 1500 Мб. Поступово подібним чином, Ви виграєте в швидкості завантаження даних в базу SQL, адже файлу даних не доведеться постійно збільшуватися в розмірі в міру його заповнення.

Зверніть увагу на налаштування внизу закладки:

Обов'язково залиште встановленої галочку Automatically grow file Обов'язково залиште встановленої галочку "Automatically grow file". Це дозволить SQL сервера автоматично збільшувати розмір файлу даних у міру його заповнення. Інші налаштування залиште за умовчанням (як на малюнку). Тоді при необхідності ваш файл даних буде збільшуватися на 10% від його поточного розміру. Ставити менше значення не раджу, так як в цьому випадку операції по збільшенню розміру файлу відбуватимуться досить часто, і це позначиться на продуктивності SQL сервера.

Перейдіть на закладку "Transaction Log". Ви бачите ті ж самі поля, що і на закладці "Data Files". Тут Вам слід вказати розташування файлу транзакцій і його початковий розмір. Керуйтеся тими ж принципами, що і при налаштуванні файлу даних.

Після визначення всіх параметрів натисніть кнопку "ОК" і запишіть базу даних.

Відкрийте властивості новоствореної бази даних і перейдіть на закладку "Options".

Що Ви скажете, якщо в результаті збою (не важливо якого) буде втрачена робота вашого підприємства за 1 день Що Ви скажете, якщо в результаті збою (не важливо якого) буде втрачена робота вашого підприємства за 1 день? Напевно, Ви будете не в захваті, та й всі співробітники теж. Якщо така перспектива Вас не влаштовує, вибирайте модель відновлення "Full". Я поки не буду вдаватися в подробиці, але вибір цієї моделі дозволить Вам створювати архівні копії через невеликі проміжки часу при працюючій програмі 1С. Одна справа втратити роботу підприємства за 10 хвилин, інша справа - за добу.

Встановіть прапорці інших налаштувань як показано на малюнку. Ні в якому разі не ставте прапорець "Auto shrink", якщо тільки Ви не хочете періодично відчувати провали в швидкості роботи 1С. Вам нема чого дозволяти сервера стискати базу даних без вашого відома.

Збережіть внесені зміни. Змініть власника бази даних, як було описано вище. Тепер ваша база готова для роботи з 1С.

Підключення бази даних до 1С

Ще трохи, і Ви зможете почати працювати в SQL версії 1С. Залишилося налаштувати підключення 1С до SQL сервера.

Запустіть конфігуратор. Виберіть пункт меню "Адміністрування" - "Параметри бази даних SQL ...":

У вікні, вкажіть ім'я SQL сервера, назва бази даних, яку Ви створили для роботи з 1С, обліковий запис і її пароль У вікні, вкажіть ім'я SQL сервера, назва бази даних, яку Ви створили для роботи з 1С, обліковий запис і її пароль. Якщо слідувати моєму опису, то вікно параметрів бази даних SQL буде виглядати так:

Натисніть кнопку ОК Натисніть кнопку "ОК". Якщо параметри бази даних були прийняті без проблем, у Вас хороші шанси, що 1С запуститься в режимі користувача. 100% гарантії не даю, так як є ситуації, коли в конфігураторі параметри зберігаються, а в призначеному для користувача режимі програма відмовляється працювати. Сподіваюся, у Вас таких ситуацій не буде.

На цьому глава, присвячена створенню бази даних на SQL сервері, закінчена. Вона вийшла досить великою, але розбивати її на кілька частин не хотілося, тому що весь матеріал взаємопов'язаний.

У наступному розділі ми розглянемо питання архівування бази даних засобами SQL сервера.

Примітка: в статті висвітлено моя думка з налаштування сервера. Воно може не збігатися з Вашою думкою і / або думкою інших фахівців.

Хто власник бази даних?
Що Ви скажете, якщо в результаті збою (не важливо якого) буде втрачена робота вашого підприємства за 1 день?