Настройка базы данных MS SQL


Для настройки сервера баз данных необходимо запустить SQL Server Managment Studio и выполнить следующие действия:

1. В окне «Обозреватель объектов» (Object Explorer) правой кнопкой мышки кликнуть на «Базы данных» (Database) → «Восстановить базу данных» (Restore Database).

В разделе «Общие» (General):

В разделе «Параметры» (Options) (или «Файлы» (Files) для MS SQL Server 2019), в окне «Восстановить файлы базы данных как» (Restore the database files as:) в колонке «Восстановить как» (Restore as) нужно переписать названия для файлов данных и лога БД - для файла данных ввести название streamline.mdf, для файла лога streamline_log.lgf. Нажать на «ОК».

2. Создать учетную запись «advanta»:

3. Открыть созданную учетную запись. Перейти на страницу «Сопоставление пользователей» (User Mapping):

4. Включить функцию интеграции со средой CLR, для чего выполнить следующие действия:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

5. Выполнить скрипт исключения ошибок взаимоблокировки транзакций (на инсталляционном диске файл с текстом скрипта - 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();

6. Выполнить скрипт отключения опции принудительной работы по HTTPS:

UPDATE Core_Settings SET VALUE = 'False' WHERE Name = 'USE.SSL'

7. Если у вас 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;