====== Настройка базы данных MS SQL ====== Для настройки сервера баз данных необходимо запустить //SQL Server Managment Studio// и выполнить следующие действия: - В окне «Обозреватель объектов» (//Object Explorer//) правой кнопкой мышки кликнуть на «Базы данных» (//Database//) -> «Восстановить базу данных» (//Restore Database//). \\ {{ :product:settings:settings_install_1.png }} - В разделе «Общие» (//General//): * В поле «В базу данных» (//To database//) ввести название создаваемой из бэкапа базы данных -- ''streamline''. * В разделе «Источник для восстановления» (//Source for restore//) выбрать «Устройство» (From device: ). * Выбрать бэкап из папки ''C:\SL_Files\DB_Backup\''. * В окне «Восстанавливаемые резервные наборы данных» (//Select the backup sets to restore//) выбрать последнюю версию бэкапа (отметить галочкой). - В разделе «Параметры» (//Options//) (**или «Файлы» (//Files//) для MS SQL Server 2016**), в окне «Восстановить файлы базы данных как» (//Restore the database files as://) в колонке «Восстановить как» (//Restore as//) нужно переписать названия для файлов данных и лога БД -- для файла данных ввести название ''streamline.mdf'', для файла лога ''streamline_log.lgf''. * Нажать на «ОК». \\ {{ :product:settings:03.02_backup_properties_options.png }} - Создать учетную запись //«advanta»//: * В окне «Обозреватель объектов» (//Object Explorer//) раскрыть «Безопасность» (//Security//), нажать правой кнопкой мышки на «Имена входа» (//Logins//)и выбрать «Создать имя входа» (//New Login//). * В разделе «Общие» (//General//): * В поле «Имя входа» (//Login name//) ввести //advanta//. * Выставить опцию «Проверка подлинности SQL Server» (//SQL Server authentication//). * Убрать опцию «Требовать использование политики паролей» (//Enforce password policy//). * Ввести пароль учетной записи (введенный пароль затем понадобится указать на сервере приложения для доступа к базе данных). * Выставить используемый язык «Язык по умолчанию» (//Default language//) выбрав в выпадающем меню «Русский» (//Russian//). * Нажать «ОК». - Открыть созданную учетную запись. Перейти на страницу «Сопоставление пользователей» (User Mapping): * В окне «Пользователи, сопоставленные с этим именем входа» (User mapped to this login) в столбце «Схема» (Map) установить галочку напротив базы streamline. * В окне «Членство в роли базы данных для: streamline» (Database role membership for: streamline) выставить права ''db_owner''.**Схема базы данных** должна оставаться ''dbo''! В противном случае структура базы данных нарушается и последующее обновление системы будет невозможно. \\ ''db_owner'' -- это права доступа пользователя на таблицу в базе данных, а не схема! * Нажать «ОК». - Включить функцию интеграции со средой CLR, для чего выполнить следующие действия: * в окне Обозреватель объектов (//Object Explorer//) нажать правой кнопкой мыши на базе данных //streamline// и выбрать пункт «Создать запрос» (//New Query//); * выполнить следующий скрипт (на инсталляционном диске файл с текстом скрипта -- ''sp_configure.sql'' расположен в папке ''SL_Files\DB_Backup\''): sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'clr enabled', 1; GO RECONFIGURE; GO - Выполнить скрипт исключения ошибок взаимоблокировки транзакций (на инсталляционном диске файл с текстом скрипта -- ''READ_COMMITTED_SNAPSHOT.sql'' расположен в папке ''SL_Files\DB_Backup\''): SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= DB_NAME(); GO DECLARE @cmd nvarchar(200) SET @cmd = 'ALTER DATABASE ' + DB_NAME() + ' SET SINGLE_USER WITH ROLLBACK IMMEDIATE;'; EXEC(@cmd); GO DECLARE @cmd nvarchar(200) SET @cmd = 'ALTER DATABASE ' + DB_NAME() + ' SET READ_COMMITTED_SNAPSHOT ON;'; EXEC(@cmd); GO DECLARE @cmd nvarchar(200) SET @cmd = 'ALTER DATABASE ' + DB_NAME() + ' SET MULTI_USER;'; EXEC(@cmd); GO SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= DB_NAME(); - Выполнить скрипт отключения опции принудительной работы по HTTPS:Update Core_Settings Set Value = 'False' Where Name = 'USE.SSL'Скрипт работает только на SQL Server 2008 SP3 c версией 10.50.6000 и выше. - Если у вас SQL Server 2017 и выше, выполнить скрипт для корректной работы OLAP-кубов: USE [название базы]; GO DECLARE @clrName nvarchar(4000); DECLARE @asmBin varbinary(max); SELECT @clrName = clr_name FROM sys.assemblies WHERE name = 'StringUtilities' SELECT @asmBin = content FROM sys.assembly_files WHERE name = 'StringUtilities' DECLARE @hash varbinary(64); SELECT @hash = HASHBYTES('SHA2_512', @asmBin); EXEC sys.sp_add_trusted_assembly @hash = @hash, @description = @clrName; Выполнять скрипт из-под учётной записи с предопределенной ролью сервера sysadmin или с разрешением CONTROL SERVER. Проверьте параметры MS SQL Server, чтобы были разрешены удалённые подключения для учётных записей SQL.