Я, когда
разворачивал тестовый сервер под базы данных связки 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
и нажимаю ОК
Шаг №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
Шаг №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.