Порядок настройки сервера SQL1C: различия между версиями
Внешний вид
Нет описания правки |
Нет описания правки |
||
| (не показано 7 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
# ... | # ... | ||
# ... | # ... | ||
# Установка SSMS: SSMS-Setup-RUS.exe /Passive DoNotInstallAzureDataStudio=1 | |||
# Настройка брандмауэра | # Настройка брандмауэра | ||
## "1C server" для порта по списку: 1540, 1541, 1560-1591 (доступ к 1с-серверу с RDP-сервера). | ## "1C server" для порта по списку: 1540, 1541, 1560-1591 (доступ к 1с-серверу с RDP-сервера). | ||
| Строка 6: | Строка 7: | ||
# Регистрация 1С COM-компоненты: | # Регистрация 1С COM-компоненты: | ||
## ... | ## ... | ||
#Удалить AzureArc: Disable-WindowsOptionalFeature -Online -FeatureName AzureArcSetup | # Удалить AzureArc: Disable-WindowsOptionalFeature -Online -FeatureName AzureArcSetup | ||
# Для создания плана обслуживания в SSMS: | |||
{{CollapseCode|title=Выполнить запрос|content= | |||
-- Включаем отображение расширенных параметров | |||
EXEC sp_configure 'show advanced options', 1; | |||
GO | |||
RECONFIGURE; | |||
GO | |||
-- Включаем Agent XPs | |||
EXEC sp_configure 'Agent XPs', 1; | |||
GO | |||
RECONFIGURE; | |||
GO | |||
}} | |||
## Для службы SQL Server Agent переключить режим запуска в автоматический. | |||
# ... | |||
# Установка КриптоПРо CSP | |||
# Проброс в реестр нужных ЭЦП для пользователя USR1CV8 | |||
# | |||
# Создать пользователей и прописать доступ к базам для использования в YOSO-скриптах для evgen1y8, Reader1C, TelephonyReader1C (в скрипте перед запуском поправить параметры). | |||
{{CollapseCode|title=Выполнить запрос|content= | |||
-- ============================================= | |||
-- Параметры (изменяйте только здесь) | |||
-- ============================================= | |||
DECLARE @LoginName NVARCHAR(128) = N'login_name'; | |||
DECLARE @Password NVARCHAR(128) = N'password'; | |||
DECLARE @Databases NVARCHAR(MAX) = N'base1,base2,base3,base4'; -- базы через запятую | |||
-- ============================================= | |||
-- Основная логика (не меняйте) | |||
-- ============================================= | |||
SET NOCOUNT ON; | |||
DECLARE @SQL NVARCHAR(MAX); | |||
-- 1. Создание логина на уровне сервера | |||
SET @SQL = N' | |||
USE master; | |||
CREATE LOGIN ' + QUOTENAME(@LoginName) + N' | |||
WITH PASSWORD = ' + QUOTENAME(@Password, '''') + N';'; | |||
EXEC sp_executesql @SQL; | |||
PRINT 'Логин ' + @LoginName + ' успешно создан.'; | |||
-- 2. Предоставление права ALTER TRACE | |||
SET @SQL = N'GRANT ALTER TRACE TO ' + QUOTENAME(@LoginName) + N';'; | |||
EXEC sp_executesql @SQL; | |||
PRINT 'Право ALTER TRACE выдано.'; | |||
-- 3. Обработка каждой базы данных | |||
DECLARE @DBName NVARCHAR(128); | |||
DECLARE @Cur CURSOR; | |||
SET @Cur = CURSOR LOCAL FAST_FORWARD FOR | |||
SELECT TRIM(value) | |||
FROM STRING_SPLIT(@Databases, ','); | |||
OPEN @Cur; | |||
FETCH NEXT FROM @Cur INTO @DBName; | |||
WHILE @@FETCH_STATUS = 0 | |||
BEGIN | |||
IF DB_ID(@DBName) IS NOT NULL | |||
BEGIN | |||
SET @SQL = N' | |||
USE ' + QUOTENAME(@DBName) + N'; | |||
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ' + QUOTENAME(@LoginName, '''') + N') | |||
CREATE USER ' + QUOTENAME(@LoginName) + N' FOR LOGIN ' + QUOTENAME(@LoginName) + N'; | |||
ALTER ROLE db_datareader ADD MEMBER ' + QUOTENAME(@LoginName) + N';'; | |||
EXEC sp_executesql @SQL; | |||
PRINT 'Пользователь создан и добавлен в db_datareader в базе: ' + @DBName; | |||
END | |||
ELSE | |||
BEGIN | |||
PRINT 'Предупреждение: База ' + @DBName + ' не найдена!'; | |||
END | |||
FETCH NEXT FROM @Cur INTO @DBName; | |||
END | |||
CLOSE @Cur; | |||
DEALLOCATE @Cur; | |||
PRINT 'Скрипт выполнен успешно.'; | |||
}} | |||
# Создать пользователя zbx_monitor для мониторинга (в скрипте перед выполнением изменить пароль на действующий). | |||
{{CollapseCode|title=Выполнить запрос|content= | |||
USE [master] | |||
GO | |||
CREATE LOGIN [zbx_monitor] WITH PASSWORD=N'password', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF | |||
GO | |||
USE [msdb] | |||
GO | |||
CREATE USER [zbx_monitor] FOR LOGIN [zbx_monitor] | |||
GO | |||
USE [master] | |||
GO | |||
GRANT VIEW SERVER STATE TO [zbx_monitor]; | |||
GRANT VIEW ANY DEFINITION TO [zbx_monitor]; | |||
USE [msdb] | |||
GO | |||
GRANT SELECT ON msdb.dbo.sysjobs TO zbx_monitor; | |||
GRANT SELECT ON msdb.dbo.sysjobservers TO zbx_monitor; | |||
GRANT SELECT ON msdb.dbo.sysjobactivity TO zbx_monitor; | |||
GRANT EXECUTE ON msdb.dbo.agent_datetime TO zbx_monitor; | |||
}} | |||
Текущая версия от 12:32, 26 августа 2026
- ...
- ...
- Установка SSMS: SSMS-Setup-RUS.exe /Passive DoNotInstallAzureDataStudio=1
- Настройка брандмауэра
- "1C server" для порта по списку: 1540, 1541, 1560-1591 (доступ к 1с-серверу с RDP-сервера).
- "MSSQL" для порта 1433 (доступ к SQL извне).
- Регистрация 1С COM-компоненты:
- ...
- Удалить AzureArc: Disable-WindowsOptionalFeature -Online -FeatureName AzureArcSetup
- Для создания плана обслуживания в SSMS:
▶ Выполнить запрос
-- Включаем отображение расширенных параметров EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO -- Включаем Agent XPs EXEC sp_configure 'Agent XPs', 1; GO RECONFIGURE; GO
- Для службы SQL Server Agent переключить режим запуска в автоматический.
- ...
- Установка КриптоПРо CSP
- Проброс в реестр нужных ЭЦП для пользователя USR1CV8
- Создать пользователей и прописать доступ к базам для использования в YOSO-скриптах для evgen1y8, Reader1C, TelephonyReader1C (в скрипте перед запуском поправить параметры).
▶ Выполнить запрос
-- =============================================
-- Параметры (изменяйте только здесь)
-- =============================================
DECLARE @LoginName NVARCHAR(128) = N'login_name';
DECLARE @Password NVARCHAR(128) = N'password';
DECLARE @Databases NVARCHAR(MAX) = N'base1,base2,base3,base4'; -- базы через запятую
-- =============================================
-- Основная логика (не меняйте)
-- =============================================
SET NOCOUNT ON;
DECLARE @SQL NVARCHAR(MAX);
-- 1. Создание логина на уровне сервера
SET @SQL = N'
USE master;
CREATE LOGIN ' + QUOTENAME(@LoginName) + N'
WITH PASSWORD = ' + QUOTENAME(@Password, '''') + N';';
EXEC sp_executesql @SQL;
PRINT 'Логин ' + @LoginName + ' успешно создан.';
-- 2. Предоставление права ALTER TRACE
SET @SQL = N'GRANT ALTER TRACE TO ' + QUOTENAME(@LoginName) + N';';
EXEC sp_executesql @SQL;
PRINT 'Право ALTER TRACE выдано.';
-- 3. Обработка каждой базы данных
DECLARE @DBName NVARCHAR(128);
DECLARE @Cur CURSOR;
SET @Cur = CURSOR LOCAL FAST_FORWARD FOR
SELECT TRIM(value)
FROM STRING_SPLIT(@Databases, ',');
OPEN @Cur;
FETCH NEXT FROM @Cur INTO @DBName;
WHILE @@FETCH_STATUS = 0
BEGIN
IF DB_ID(@DBName) IS NOT NULL
BEGIN
SET @SQL = N'
USE ' + QUOTENAME(@DBName) + N';
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ' + QUOTENAME(@LoginName, '''') + N')
CREATE USER ' + QUOTENAME(@LoginName) + N' FOR LOGIN ' + QUOTENAME(@LoginName) + N';
ALTER ROLE db_datareader ADD MEMBER ' + QUOTENAME(@LoginName) + N';';
EXEC sp_executesql @SQL;
PRINT 'Пользователь создан и добавлен в db_datareader в базе: ' + @DBName;
END
ELSE
BEGIN
PRINT 'Предупреждение: База ' + @DBName + ' не найдена!';
END
FETCH NEXT FROM @Cur INTO @DBName;
END
CLOSE @Cur;
DEALLOCATE @Cur;
PRINT 'Скрипт выполнен успешно.';
- Создать пользователя zbx_monitor для мониторинга (в скрипте перед выполнением изменить пароль на действующий).
▶ Выполнить запрос
USE [master] GO CREATE LOGIN [zbx_monitor] WITH PASSWORD=N'password', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO USE [msdb] GO CREATE USER [zbx_monitor] FOR LOGIN [zbx_monitor] GO USE [master] GO GRANT VIEW SERVER STATE TO [zbx_monitor]; GRANT VIEW ANY DEFINITION TO [zbx_monitor]; USE [msdb] GO GRANT SELECT ON msdb.dbo.sysjobs TO zbx_monitor; GRANT SELECT ON msdb.dbo.sysjobservers TO zbx_monitor; GRANT SELECT ON msdb.dbo.sysjobactivity TO zbx_monitor; GRANT EXECUTE ON msdb.dbo.agent_datetime TO zbx_monitor;