====== Настройка базы данных 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.