Как установить forceplan для таблицы sql
Параметр FORCEPLAN иллюстрирует старый метод настройки в Microsoft SQL Server и Sybase. Он требует отдельного оператора SQL: SET FORCEPLAN ON
Этот параметр действует на весь SQL-код, который выполняется в текущем соединении, пока вы не выполните оператор: SET FORCEPLAN OFF
Когда значение параметра FORCEPLAN равно ON, база данных выполняет только простейшую оптимизацию SQL. Обычно она использует планы вьшолнения с вложенными циклами, которые работают при помощи индексов и соединяют таблицы в том же порядке, в каком они перечислены в разделе FROM. Если вы хотите получить план именно такого типа, то SET FORCEPLAN будет идеальным вариантом, поскольку не только включает нужный план, но и экономит время разбора, которое в противном случае было бы потрачено на выбор из большого диапазона планов, особенно для соединений множества таблиц. Это, образно говоря, обоюдоту-пой меч, поэтому применяйте его только когда знаете, что в разделе FROM указан правильный порядок соединения, и хотите использовать вложенные циклы.
5Диаграммное изображение простых запросов SQL
Для превращения искусства настройки SQL в науку необходим общий язык, общая парадигма для описания и решения проблем настройки SQL. Эта книга — первое печатное издание, которое может научить вас методу, исправно служившему мне и тем, кому я его объяснил. Я называю этот метод методом диаграммного изображения запросов.
Как и любой новый инструмент, метод диаграммного изображения запросов требует некоторых авансовых инвестиций и затрат времени от будущего пользователя. Но мастерство владения этим инструментом обеспечивает гигантские вознаграждения, поэтому я прошу вас быть терпеливыми — трудно будет лишь в самом начале. Скоро вы найдете ответы, которые не дал бы вам ни один другой инструмент, пртем приложить првдется лишь немного усилий. А в конце изучения мой метод станет вам настолько привычным, что, как и в случае с любым другим хорошим инструментом, вы не будете замечать, что используете его.
Зачем нужен новый метод?
Поскольку я прошу вас быть терпеливыми, начну с рассмотрения того, зачем нам нужен этот новый инструмент. Почему бы не использовать то, что вы уже знаете, например информацию SQL-сервера, для решения проблем производительности? Самая большая проблема с использованием SQL-сервера для настройки — то, что он предлагает одновременно слишком много и недостаточно информации для решения задачи настройки. Информация SQL-сервера существует для функционального описания, какие столбцы и строки нужны приложению из каких таблиц, по каким условиям их нужно соединять, и в каком порядке возвращать. Однако большая часть этой информации совершенно не относится к настройке запроса. С другой стороны, информация, относящаяся и даже жизненно необходимая для настройки-о распределении данных в таблицах- полностью отсутствует. У SQL много общего со старыми проблемами эквивалентности, печально известными еще из математики начальной школы, разве что SQL-сервер с большей вероятностью пропускает необходимую информацию. Кахсую задачу, из двух приведенных ниже, вам будет легче решить?
Для отдыха на природе Джонни приготовил по восемь лепешек, три сосиски, одной полоске бекона и два яйца для себя и своих друзей Джима, Мэри и Сью. Каждая девочка отдала одну треть своих сосисок, 25 % лепешек и половину яиц мальчикам. Джим уронил лепешку и две сосиски, и их украл енот. У Джонни аллергия на кленовый сироп, а у Мэри на половине лепешек была клубника, но все остальные поливали лепешки кленовым сиропом. Сколько лепешек с кленовым сиропом съел каждый ребенок?
(8+(0.25 X 8) -1) + (0.75 х 8/2) + (0.75 х 8) — ? Естественно, вторую задачу решать проще.
Диаграмма запроса — это скелетный синтез основных элементов настройки проблемы эквивалентности SQL и ключевых распределений данных, необходимых для поиска оптимального плана исполнения. Благодаря скелетному синтезу вы отбрасываете отвлекающие, ненужные детали и сосредотачиваетесь на ядре проблемы. В результате получается намного более компактный язык, который можно использовать для реальных задач и упражнений. Проблемы, которые на языке SQL описывались бы страницами кода (а в реальных проблемах, когда патентованный код нельзя легально просмотреть, потребовались бы дни для изучения поведения запроса), превращаются в простые, абстрактные диаграммы, занимающие половину страницы. Ваш темп изучения чрезвычайно ускорится с этим инструментом, частично благодаря тому, что сходство между проблемами настройки и функционально отличающимися запросами станет очевидным. Вы увидите шаблоны и сходства, которые никогда бы не заметили на уровне SQL-кода, и будете многократно использовать свои решения с минимальными усилиями.
Ни один известный мне инструмент не создаст для вас ничего подобного диаграмме запроса, так же, как ни один инструмент не превращает математическую проблему эквивалентности в простую арифметику. Поэтому вашим первым шагом в настройке SQL будет перевод проблемы SQL в проблему диаграммы запроса. Так же, как преобразование задач эквивалентности в арифметическое выражение является самым трудным шагом, вы, вероятнее всего, будете считать перевод проблем настройки SQL в диаграммы запросов самым сложным (или хотя бы самым долгим) шагом в настройке SQL, по крайней мере, в первое время. Однако обнадеживает то, что, хотя человеческие языки развивались бессистемно по мере эволюции общения между сложными человеческими разумами, SQL был создан как структура для общения с компьютерами. Проблемы эквивалентности настройки SQL составляют гораздо меньшую сферу интересов, чем проблемы эквивалентности натуральных языков. По мере тренировки процесс перевода SQL в диаграмму запросов становится все быстрее и проще, иногда вы даже сможете даже быстро выполнить этот перевод в уме. Как только вы сделаете диаграмму запросов и получите хотя бы начальное понимание метода диаграммного гаображения запросов, то будете считать большинство проблем настройки тривиальными.
Дополнительным и совершенно незапланированным преимуществом оказывается то, что диаграммы запросов оказываются ценным средством в поиске целых классов незаметных логических ошибок приложения, которые трудно обнаружить при тестировании, так как они возникают в достаточно редких и трудных случаях. В главе 7 я буду подробно обсуждать, как использовать эти диаграммы для поиска и исправления таких логических проблем.
sp_query_store_force_plan (Transact-SQL)
Включает принудительное принудительное выполнение определенного плана для конкретного запроса в хранилище запросов.
При принудительном выполнении плана для конкретного запроса каждый раз, когда SQL Server сталкивается с запросом, он пытается принудительно применить план в оптимизаторе запросов. Если это не удастся сделать, запускается расширенное событие, и оптимизатору запросов предписывается выполнить оптимизацию обычным способом.
Синтаксис
sp_query_store_force_plan [ @query_id = ] query_id , [ @plan_id = ] plan_id , [ @disable_optimized_plan_forcing = ] disable_optimized_plan_forcing , [ @force_plan_scope = ] 'replica_group_id' [ ; ]
Аргументы
[ @query_id = ] query_id
Идентификатор запроса. @query_id является bigint, без значения по умолчанию.
[ @plan_id = ] plan_id
Идентификатор плана запроса, который необходимо принудительно принудить. @plan_id является bigint, без значения по умолчанию.
[ @disable_optimized_plan_forcing = ] disable_optimized_plan_forcing
Указывает, следует ли отключить принудительное выполнение оптимизированного плана. @disable_optimized_plan_forcing бит по умолчанию 0 .
[ @force_plan_scope = ] ‘ реплика_group_id’
При включении дополнительных хранилище запросов дополнительных реплика можно принудительно заставить планы на дополнительных реплика. Выполнение sp_query_store_force_plan и sp_query_store_unforce_plan выполнение дополнительных реплика. Необязательный аргумент @force_plan_область по умолчанию используется только для локальной реплика (основной или вторичной), но при необходимости можно указать реплика_group_id ссылки sys.query_store_реплика.
Значения кода возврата
0 (успешно) или 1 (сбой).
Замечания
Результирующий план выполнения, вынужденный этой функцией, совпадает или аналогичен принудительному выполнению плана. Так как итоговый план может не совпадать с планом, указанным в инструкции sys.sp_query_store_force_plan , производительность этих планов может различаться. В редких случаях возможна значительная негативная разница в производительности, и тогда администратору следует удалить принудительный план.
Просмотрите принудительные планы на вторичных реплика с помощью sys.query_store_plan_forcing_locations.
Разрешения
Необходимо разрешение ALTER для базы данных.
Примеры
В следующем примере возвращаются сведения о запросах в хранилище запросов.
SELECT txt.query_text_id, txt.query_sql_text, pl.plan_id, qry.* FROM sys.query_store_plan AS pl INNER JOIN sys.query_store_query AS qry ON pl.query_id = qry.query_id INNER JOIN sys.query_store_query_text AS txt ON qry.query_text_id = txt.query_text_id;
После определения query_id и plan_id, которые требуется принудительно, используйте следующий пример, чтобы принудительно использовать план.
EXEC sp_query_store_force_plan @query_id = 3, @plan_id = 3;
SELECT query_plan FROM sys.query_store_plan AS qsp INNER JOIN sys.query_store_plan_forcing_locations AS pfl ON pfl.query_id = qsp.query_id INNER JOIN sys.query_store_replicas AS qsr ON qsr.replica_group_id = qsp.replica_group_id WHERE qsr.replica_name = 'yourSecondaryReplicaName';
Следующие шаги
Дополнительные сведения о связанных понятиях см. в следующих статьях:
- sys.query_store_plan_forcing_locations (Transact-SQL)
- sys.query_store_реплика (Transact-SQL)
- sys.query_store_plan_forcing_locations (Transact-SQL)
- sp_query_store_remove_plan (Transact-SQL)
- sp_query_store_remove_query (Transact-SQL)
- sp_query_store_unforce_plan (Transact-SQL)
- Представления каталога хранилища запросов (Transact-SQL)
- Мониторинг производительности с использованием хранилища запросов
- sp_query_store_reset_exec_stats (Transact-SQL)
- sp_query_store_flush_db (Transact-SQL)
- Рекомендации по хранилищу запросов
Обратная связь
Были ли сведения на этой странице полезными?
ALTER TABLE — изменение таблицы в SQL
Рассказываем о команде ALTER TABLE и учим вносить с ее помощью изменения в таблицы и столбцы.
Эта инструкция — часть курса «MySQL для новичков».
Смотреть весь курс
Введение
ALTER TABLE — один из самых незаменимых инструментов в работе с базами данных SQL. В этой статье мы рассмотрим SQL оператор ALTER TABLE и его применение. Узнаем, как добавить или удалить поля с помощью этого инструмента, и рассмотрим различные примеры его использования. В данной статье мы не будем рассматривать MS SQL и остановимся на синтаксисе наиболее популярной версии — MySQL.
Синтаксис оператора ALTER TABLE в SQL
Синтаксис оператора ALTER TABLE выглядит следующим образом:
ALTER TABLE название_таблицы [WITH CHECK | WITH NOCHECK]
Из этой записи мы видим, что сценариев применения данной команды достаточно много. Давайте рассмотрим их. В качестве примера мы будем использовать базу данных slcbookshelf, которую мы создавали в статье о первичных и внешних SQL ключах.
use slcbookshelf;
Добавление столбца в таблицу (ADD COLUMN)
Сейчас наша таблица выглядит следующим образом:
mysql> DESC books; +---------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+-------+ | book_id | int | NO | | NULL | | | book_name | varchar(255) | NO | | NULL | | | book_category | varchar(255) | YES | | NULL | | +---------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
Давайте добавим в нашу таблицу новый столбец, в котором будет отображаться автор каждой книги:
ALTER TABLE books ADD author NVARCHAR(50) NOT NULL;
Данным запросом мы создали в нашей таблице новый столбец authors с типом NVARCHAR и длиной в 50 символов, который не может принимать пустое значение. Если мы не знаем автора произведения, тогда наша команда будет иметь такой вид:
ALTER TABLE books ADD author NVARCHAR(50) NOT NULL DEFAULT 'Неизвестен';
Теперь для существующих данных, для которых не заполнен столбец author, значение по умолчанию будет «Неизвестен».
Переименование столбца и таблицы
Переименование столбца (RENAME)
С помощью ALTER TABLE можно переименовать существующий столбец. Для этого выполните команду:
ALTER TABLE books RENAME COLUMN author TO authors;
Переименование таблицы (RENAME)
При помощи ALTER TABLE можно переименовать таблицу. Выполняем запрос:
ALTER TABLE books RENAME TO books_selectel;
Удаление столбца (DROP)
Чтобы удалить столбец из таблицы с помощью ALTER TABLE, требуется выполнить следующий запрос:
ALTER TABLE books DROP COLUMN authors;
Изменение столбца (ALTER COLUMN)
Иногда бывают случаи, когда необходимо изменить уже созданный ранее столбец. Это действие можно выполнить с помощью команды ALTER TABLE. Для изменения существующего столбца необходимо выполнить такой запрос:
ALTER TABLE books ALTER COLUMN book_category VARCHAR(200);
В данном примере мы изменили максимальное количество символов, которое может использоваться в полях столбца book_category с 255 до 200.
Также с помощью ALTER TABLE можно сделать действие сразу с несколькими столбцами. Чтобы изменить сразу несколько столбцов, вам потребуется использовать эту команду:
ALTER TABLE books MODIFY book_category VARCHAR(200), MODIFY book_name VARCHAR(200), . ;
Таким запросом мы изменили сразу два столбца: book_category и book_name.
Изменение типа столбца
При помощи ALTER TABLE можно изменить тип столбца в таблице SQL. Изменение типа существующего столбца осуществляется при помощи команды:
ALTER TABLE books ALTER COLUMN book_category NVARCHAR(200);
Выполнив эту команду, мы изменили тип book_category на NVARCHAR(200).
Добавление первичного и внешнего ключей при помощи ALTER TABLE
Вы можете определить существующий столбец в таблице в качестве первичного ключа с помощью команды ALTER TABLE. Запрос, добавляющий в таблицу первичный ключ, будет выглядеть следующим образом:
ALTER TABLE books ADD PRIMARY KEY (book_id);
Аналогично при помощи ALTER TABLE можно добавить внешний ключ таблицы. Чтобы создать внешний ключ для таблицы MySQL выполните команду:
ALTER TABLE books ADD FOREIGN KEY (author_id) REFERENCES authors(author_id);
В результате выполнения этой команды поле author_id в таблице books будет внешним ключом для аналогичного поля в таблице authors.
Работа с ограничениями
Ограничения — специальные правила, которые применяются к таблице, чтобы ограничить типы данных в таблице. Ограничения очень важны, так как их правильное применение помогает обеспечить целостность данных в таблицах и наладить стабильную работу базы. Давайте рассмотрим одно из таких ограничений — ограничение CHECK. Применяя ограничения CHECK к столбцу таблицы, мы создаем правило, по которому при добавлении данных СУБД будет автоматически проверять их на соответствии заданным правилам.
Создание ограничения
Например, если нам необходимо, чтобы все клиенты в базе данных Customers имели возраст больше 21 года, мы можем установить следующее ограничение:
ALTER TABLE Customers ADD CHECK (Age > 21);
При применении такого ограничения стоит учитывать, что если в столбце уже существуют данные, не соответствующие ограничению, то команда будет выполнена с ошибкой. Чтобы избежать подобного поведения, вы можете добавить ограничение со значением WITH NOCHECK. Таким образом, текущие значения столбца не вызовут ошибок при выполнении запроса при несоответствии ограничению:
ALTER TABLE Customers WITH NOCHECK ADD CHECK (Age > 21);
Добавление ограничений с именами
Так как ограничений в таблицах может быть много, добавление имен к ограничениям может в значительной мере упростить будущую работу с таблицей. Создать имя для ограничения можно при помощи оператора CONSTRAINT:
ALTER TABLE Customers ADD CONSTRAINT Check_Age_Greater_Than_Twenty_One CHECK (Age > 21);
Удаление ограничений
ALTER TABLE можно пользоваться и для удаления ограничений. Для удаления существующих ограничений необходимо выполнить следующую команду:
ALTER TABLE Customers DROP Check_Age_Greater_Than_Twenty_One;
После выполнения этой команды ограничение перестанет применяться при добавлении новых данных в столбец.
Заключение
В данной статье мы с вами узнали что такое ALTER TABLE, рассмотрели работу с этой командой и научились вносить с ее помощью изменения в таблицы и столбцы, а также рассмотрели несколько примеров использования данной команды, которые сильно упростят будущую работу с базами данных.
Сброс пароля root в MySQL
Настройка связи с MS SQL
r_keeper_7 можно связать только с MS SQL версии 2012 и выше. В статье рассмотрена настройка связи с MS SQL 2012.
Установка SQL сервера
Для установки SQL сервера:
-
Установите MS SQL Server 2012 или выше. Можно использовать выпуск Express.
Во время установки сервера используйте смешанный режим аутентификации и задайте пароль для пользователя — sa
- Раскройте ветку Сетевая конфигурация SQL Server.
- Выберите Протоколы MSSQLSERVER.
- Дважды нажмите по строке TCP/IP.

- В открывшемся окне на вкладке Протокол включите поле Включено.

- Убедитесь, что во вкладке IP-адреса в блоке IPAll указан порт. По умолчанию порт 1433, но вы можете указать любой свободный порт.

- Перезапустите SQL Server.
Режим версионности строк
Вы можете перевести базу в режим версионности строк — Row Versioning. Это необязательный режим, поэтому эту настройку можно пропустить.
По умолчанию SQL Server работает в режиме Read Commited, который подразумевает блокирование данных во время запроса. Это может сильно помешать в случае многопользовательской работы. Начиная с версии 2005, поддерживается режим READ COMMITTED using row versioning. В этом режиме блокировки могут помешать только в том случае, когда разные пользователи пишут в одно и то же место,. Чтение данных никогда не блокируется и никого не блокирует.
Для включения режима версионности строк выполните скрипт:
ALTER DATABASE RK7 SET READ_COMMITTED_SNAPSHOT ON;
Восстановление базы данных из резервной копии
Вы можете восстановить базу данных из резервной копии:
- Запустите MS SQL Server Management Studio и пройдите авторизацию
- Слева в окне Обозреватель объектов выделите группу Базы данных
- Вызовите контекстное меню правой кнопкой мыши и выберите пункт Восстановить базу данных
- В открывшемся окне в разделе Общие укажите источник Устройство, а затем нажмите кнопку с тремя точками.

- Выберите тип носителя Файл и нажмите кнопку Добавить.

- Укажите путь к файлу и нажмите ОК.
- Проверьте базу на ошибки, нажав кнопку Проверка носителя резервной копии, и затем нажмите ОК.
- Дождитесь восстановления базы. После успешного восстановления система сообщит о завершении процесса:


Готово. База появится в списке баз данных.
Настройки в менед жерской станции
Чтобы настроить станцию, выполните следующие действия:
- Зайдите в справочник Сервис > Экспорт данных > Настройки Внешних БД и сделайте копию предустановленной настройки «Microsoft SQL Server». Присвойте ей уникальное имя и смените статус настройки на Активный.
- В по ле Осн овное > Строка соединения нажмите на кнопку в конце строки или дважды нажмите на по ле ввода.

- Откроется окно ConnectionString. Нажмите кнопку Build.
- Откроется окно Свойства канала передачи данных. Н астройте связь с базой данных, созданной ранее:
- Перейдите во вкладку Поставщик данных и убедитесь, что выбран Microsoft OLE DB Provider for SQL Server.

- Во вкладке Соединение выберите сервер из списка, введите имя пользователя и пароль. Если нужного сервера нет в списке, то необходимо вручную ввести его имя.
Если SQL-север установлен на том же компьютере, что и сервер справочников или отчетов, укажите адрес 127.0.0.1. Если на другом — укажите его IP-адрес и убедитесь, что сервер доступен по сети.
Имя сервера также можно посмотреть при запуске SQL Server Management Studio.
Введите имя пользователя и пароль. Выберите базу данных на сервере и нажмите Проверить подключение. - Если проверка соединения прошла успешно, то нажмите ОК.
- В окне Свойства канала передачи данных нажмите ОК. Поле Строка соединения примет вид:
Provider=SQLOLEDB.1;Password=[пароль];Persist Security Info=True;User Catalog=[имя базы];Data Source=[имя сервера или IP-адрес].Выполните выгрузку в БД SQL, используя созданную настройку:
- Перейдите в меню Сервис > Экспорт данных > Экспорт в другую БД.
- В поле Параметры соединения выберите созданную настройку.
- Укажите Имя пользователя и Пароль.
- В блоке Параметры экспорта оставьте флаги по умолчанию, если выгрузка происходит в чистую БД SQL.
- Нажмите Проверить.
- При удачном соединении кнопка ОК станет активной, нажмите ее. Запустится экспорт данных в БД SQL. В этот момент в SQL создаются таблицы.
При успешной выгрузке окно с настройками экспорта данных закроется. Появится сообщение Экспорт завершен успешно.
Далее необходимо настроить сервер справочников, пролицензировав его и выбрав созданную настройку. Для этого:

- Перейдите в меню Настройки > OLAP Отчеты > Серверы Отчетов , выберите нужный сервер и настройте его:
- Пролицензируйте сервер справочников/отчетов согласно описанию в статье настройка сервера справочников.
- В группе Связь с внешней БД :
- В поле Настройки связи с внешней БД выберите созданную настройку.
- В поле Имя пользователя внешней БД пропишите имя пользователя БД SQL.
- В поле Пароль пользователя внешней БД прописать пароль пользователя БД SQL.
- Укажите такие же настройке в группе Логи справочников :
- В поле Настройки связи с внешней БД выберите созданную настройку.
- В поле Имя пользователя внешней БД пропишите имя пользователя БД SQL.
- В поле Пароль пользователя внешней БД пропишите пароль пользователя БД SQL.
- В группе Основное сделать следующее:
- В поле Источник данных кубов выберите параметр БД SQL.
- В поле Протоколирование запросов выберите подходящий параметр:
- llAll протоколировать все запросы
- llErroneous протоколировать запросы с ошибками
- llNone — не протоколировать
- В поле Режим базы данных UDB выберите один из режимов: большой, средний, маленький, ультра легкий. Данный режим относиться к накопительной базе Check.udb.
- Большой — полная копия. Это режим по умолчанию. Используется для простых ресторанов, не сетевых. Не меняйте параметр Полная копия на другое, пока не настроите соединение с внешней базой данных.
- Средний — частичная копия. Режим означает, что кроме данных заказов, все суммы будут сохраняется в check.udb.
- Маленький — только чеки. Режим используется, если вы уверены, что будет иметься достаточно много накопительных данных — несколько ресторанов. В большинстве случаев рекомендуется использовать этот режим, чтобы база не становилась слишком большой.
- Ультралегкий — только общие смены. В check.udb будет содержаться только информация об общих сменах и ссылки на них в базе SQL.
Если вы решили изменить Режим базы данных UDB с большого на маленький при настроенной связи с SQL, то есть ресторан проработал в таком режиме уже продолжительное время, и выполнить ручной экспорт накопительных данных повторно, то размер файла Check.udb автоматически уменьшится. В результате большая часть информации из этой базы будет удалена, и в базу SQL экспортируются не все данные. Поэтому никогда не делайте экспорт накопительных данных, если вы используете режим базы данных UDB Маленький или Средний.
Выбранный режим базы данных UDB никак не влияет на справочную информацию. Справочная информация всегда сохраняется на каждом сервере отчетов в полном объеме и может быть экспортирована повторно при необходимости.
- В секции Обработка данных выберите ресторан, данные с которых нужно собирать и видеть в отчетах.
- В конфиг урационном файле сервера справочников rk7srv.INI и в файле сервера отчетов repsserv.ini пропишите параметр UseSQL=1 .
- Д ля сервера справочников параметр необходимо прописать в секции [RefServer]
- Для сервера отчетов — в секции [Config].
- Д ля сервера справочников параметр необходимо прописать в секции [RefServer]
- Перезагрузите сервер справочников и сервер отчетов.
Все изменения в настройках внешней БД происходят во время работы сервера при параметре UseSQL=0.
Если необходимо поменять настройки внешней БД:
- Остановите все серверы отчетов и сервер справочников, которые используют эту настройку.
- В конфигурационном файле сервера справочников rk7srv.INI или сервера отчетов repsserv.ini пропишите параметр UseSQL=0.
- Запустите нужный сервер.
- Поменяйте настройки.
- Вновь остановите сервер.
- В конфигурационном файле верните параметру UseSQL значение 1 — UseSQL=1.
Готово, мож но продолжать р аботу.
Одновременно для нескольких ролей в r_keeper нельзя сделать связь с БД в SQL Server используя одного и того же пользователя в БД SQL. В r_keeper не сохранится информация о пользователе в настройках связи с внешней БД.
Оптимизация производительности

В целях экономии дискового пространства и некоторого увеличения производительности рекомендуется использовать Простую — Simple модель восстановления.
Ознакомиться с различными моделями восстановления SQL, их различиями и особенностями вы можете в официальной документации Microsoft.После изменения модели восстановления необходимо выполнить сжатие файла лога. Для этого:
- Нажмите правой кнопкой мыши на используемую базу данных
- Выберите Задачи >Сжать >Файлы
- В открывшемся окне выберите тип файла Журнал
- Нажмите на кнопку ОК.
Возможные проблемы
Проблема: Иногда может не идти экспорт в только что созданную БД сервера SQL Server 2008 при выбранном провайдере Native Client.
Решение: Выберите другой провайдер Microsoft OLE DB Provider for SQL Server, создайте заново чистую БД и повторите экспорт.Проблема: Не строятся прямые отчеты
Решение: Если у роли отличаются права доступа на просмотр отчетов на разные объекты, то для построения прямых отчетов необходимо завести разных пользователей на SQL сервере. Затем настройте роли с такими пользователями в SQL. Для этого:- В менеджерской станции r_keeper перейдите в меню Персонал > Работники
- Выберите роль, которой хотите предоставить доступ, и перейдите в ее Свойства
- Раскройте раздел Связь с внешней БД и дважды нажмите на поле SQL конфигурация
- Укажите Имя пользователя и Пароль для создания нового пользователя в SQL

- Войдите в MS SQL, используя созданные данные. В базе данных появится пользователь.

- Перейдите во вкладку Поставщик данных и убедитесь, что выбран Microsoft OLE DB Provider for SQL Server.