Я, когда разворачивал тестовый сервер под базы данных связки 1С 7.7 + SQL не посмотрел, и дефолтным каталогом размещения SQL базы оставил все по дефолту, т.е. C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA и тут mdf-файл базы и ldf-файл лога:

  • WorkBase2022Test.mdf = 22Gb
  • WorkBase2022Test_0.ldf = 3,2Gb

Это мой косяк, потому как я нарушил собственное правило, что логический диск C: на виртуальной системе под ESXi, Proxmox обязательно должен быть отдельным диском. Это диск где стоит только система, а любые данные от сервисов должны располагаться на отдельном диске, благо на виртуализации это сделать проще. Поэтому добавив в систему еще один диск, разметив его как файловая система NTFS и назначит букву диску, как D: я этой заметкой покажу, как перенести mdf & ldf файлы с логического диска C: на D: тем самым сделаю все по уму и место освободится.

Шаг №1: Авторизуюсь на своем тестовом сервере srv-db02-test с правами Domain Admins

Шаг №2: Создаю каталог на диске "D" где у меня будут располагаться файлы mdf & ldf:

Win + X - Command Prompt (Admin)

C:\Windows\system32> mkdir D:\UserDB

Шаг №3: Закрываю клиент возможность подключения к базе путем отключения DFS ссылки на каталог \\polygon.local\database\complex, по части DFS смотрите заметку "Внедряем сервис DFS в Windows Server 2012 R2"

Шаг №4: Запускаю оснастку SQL Management Studio:

Win — нажимаю на иконку с лупой и набираю в строке поиска sql и в списке найденного нажимаю на SQL Server 2014 Management Studio

На заметку: перед дальнейшими действиями я бы на всякий случай сделал средствами SQL Management Studio резервную копию.

Шаг №5: Выполняю проверку базы:

SQL Server 2014 Management Studio - SRV-DB02-TEST (SQL Server 12.0.6372.1 - POLYGON\ekzorchik) - Database, выделяю базу WorkBase2022Test, нажимаю New Query и в поле ввода набираю команду

use WorkBase2022Test
go
dbcc checkdb
go

затем нажимаю Execute (выполнить) и ожидаю покуда процесс проверки базы данных завершится

Важно просмотреть лог на предмет ошибок

CHECKDB found 0 allocation errors and 0 consistency errors in database 'WorkBase2022Test'.

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Если есть ошибки, то приступить к устранению их и только после двигаться дальше.

Шаг №6: Если в процессе проверки базы данных обнаружились ошибки, то переводим базу в однопользовательский режим и запускаем:

SQL Server 2014 Management Studio - SRV-DB02-TEST (SQL Server 12.0.6372.1 - POLYGON\ekzorchik) - Database, выделяю базу WorkBase2022Test, нажимаю New Query и в поле ввода набираю команду

Use WorkBase2022Test
GO
ALTER DATABASE WorkBase2022Test SET SINGLE_USER
GO
DBCC CHECKDB('WorkBase2022Test', REPAIR_REBUILD)
GO

Если в выводе все еще присутствуют ошибки, то повторяем проверку, если ошибок нет

CHECKDB found 0 allocation errors and 0 consistency errors in database 'WorkBase2022Test'.

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

то возвращаем базу данных в многопользовательский режим:

SQL Server 2014 Management Studio - SRV-DB02-TEST (SQL Server 12.0.6372.1 - POLYGON\ekzorchik) - Database, выделяю базу WorkBase2022Test, нажимаю New Query и в поле ввода набираю команду

alter database WorkBase2022Test set multi_user
go

важно в выводе получить статус об успешном выполнении:

Command(s) completed successfully.

Шаг №7: Отключаю базу:

SRV-DB02-TEST (SQL Server 12.0.6372.1 - POLYGON\ekzorchik) - Database — и через правый клик мышью на базе WorkBase2022Test - Tasks - Detach

отмечаю галочками колонки Drop Connections, Update Statistics и нажимаю ОК

Отключаю базу данных через SQL Management Studio

Шаг №8: Через проводник заходим в каталог (C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA) где ранее располагались mdf & ldf файлы и перемещаем их в новый каталог D:\UserDB

Шаг №9: Подключаем базу через SQL Management Studio:

SQL Management Studio - SRV-DB02-TEST2 (SQL Server 12.0.6372.1 - POLYGON\ekzorchik) — через правый клик на Databases - Attach - Add и выбираем базу но новому пути D:\UserDB\WorkBase2022Test.mdf, и нажимаем OK, OK

Подключаю базу данных по новому месторасположению через SQL Management Studio

Шаг №10: Изменяем владельца для подключенной базы:

SQL Management Studio - SRV-DB02-TEST (SQL Server 12.0.6372.1 - POLYGON\ekzorchik) - Databases — через правый клик мышью на базе WorkBase2022Test - Files

Owner: вместо POLYGON\ekzorchik

изменяю на

Owner: sql-учетную запись dbo77

На заметку: Если информационная база открыта в монопольном режиме, то в SQL Management Studio она отображается, как Single User и у нее нельзя посмотреть свойства, это нормально такое положение дел.

Шаг №11: Включаем DFS ссылку на доступ к файловой составляющей:

\\polygon.local\database\complex -> \\srv-db02-test\db$\Base2022Test

Шаг №12: Проверяем что можем подключиться к информационной базе 1С 7.7 под обычным пользователем:

  • Выбираю пользователя: Олло Александр
  • Указываю пароль: 123

и успешно подключаюсь

Подключение к информационной базе успешно

Итого, все получилось, правильнее конечно было ставить все по правильному, система отдельно, данные отдельно, а теперь получается нужно выполнять Detach/Attach для SQL базы, можно конечно предопределить дефолтные пути, об этом будет отдельная заметка, а пока собственно все, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik