Имя: Пароль:
1C
 
Перевод tempDB на соседний диск
, ,
0 BigShmax
 
23.07.19
10:16
Всё понятно скрипт понятен, пользовал ранее  НО. пользовал только если   tempDB жил в двух файлах mdf  и  ldf  
А что делать  если  tempdb_mssql_2, tempdb_mssql_3 , ...  ?

use master
alter database tempdb
modify file(
name = tempdev,
filename = N'C:\Новое_место\tempdb.mdf')
go

alter database tempdb
modify file(
name = templog,
filename = N'C:\Новое_место\templog.ldf')
go

Этот скрипт переведёт только первый файл данных и логи  или всю базу tempDB ?
1 IVAL
 
23.07.19
10:23
В этом скрипте только первый файл данных и лог. Надо дописать аналогичные команды для остальных файлов.
2 Йохохо
 
23.07.19
10:24
(1) вроде не надо
Вторичные файлы данных*.     temp#     tempdb_mssql_ # .ndf     8 МБ     Автоматическое увеличение на 64 МБ до заполнения диска.
https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/tempdb-database?view=sql-server-2017
3 IVAL
 
23.07.19
10:32
(2) по указанной ссылке конкретно не написано. Зато в https://docs.microsoft.com/en-us/sql/relational-databases/databases/move-system-databases?view=sql-server-2017 указано, что надо перемещать все файлы.
Наверно это проще будет проверить на реальной системе, чем теоретически гадать.
4 BigShmax
 
23.07.19
10:51
(3)    мало окон  .   чтобы увидеть результат нужен рестарт службы сервера SQL не страшно , но второй рестарт смогу сделать часов через 12-24
5 Йохохо
 
23.07.19
11:06
спросил, для каждого
6 BigShmax
 
23.07.19
11:16
т.е.

use master
alter database tempdb
modify file(
name = tempdev,
filename = N'C:\Новое_место\tempdb.mdf')
go

alter database tempdb
modify file(
name = temp2,
filename = N'C:\Новое_место\tempdb.mdf')
go

alter database tempdb
modify file(
name = temp3,
filename = N'C:\Новое_место\tempdb.mdf')
go

.....

alter database tempdb
modify file(
name = templog,
filename = N'C:\Новое_место\templog.ldf')
go
7 Провинциальный 1сник
 
23.07.19
11:16
Первый темпдб оставь там где был, сделай его размер по минимуму, но поставь на всякий случай авторасширение. И создай дополнительные файлы на быстром диске фиксированного размера с запасом.
8 BigShmax
 
23.07.19
11:16
ну  и имена файлов   в новом месте ессно новые
9 BigShmax
 
23.07.19
11:18
(7)   у меня сейчас задача  освободить диск на котором крутятся tempdb  для его замены на другой
10 Йохохо
 
23.07.19
11:31
не критично, вроде, но ndf, вроде№2
11 BigShmax
 
23.07.19
11:38
(10) не понял
12 BigShmax
 
23.07.19
11:46
вот результирующий скрипт, через чаз запущу   если  я не прав  поравьте плз, а то я что то очкую


use master
alter database tempdb
modify file(
name = tempdev,
filename = N'D:\tempdb.mdf')
go

alter database tempdb
modify file(
name = temp2,
filename = N'D:\tempdb_mssql_2.ndf')
go

alter database tempdb
modify file(
name = temp3,
filename = N'D:\tempdb_mssql_3.ndf')
go

alter database tempdb
modify file(
name = temp4,
filename = N'D:\tempdb_mssql_4.ndf')
go

alter database tempdb
modify file(
name = temp5,
filename = N'D:\tempdb_mssql_5.ndf')
go

alter database tempdb
modify file(
name = temp6,
filename = N'D:\tempdb_mssql_6.ndf')
go

alter database tempdb
modify file(
name = temp7,
filename = N'D:\tempdb_mssql_7.ndf')
go

alter database tempdb
modify file(
name = temp8,
filename = N'D:\tempdb_mssql_8.ndf')
go


alter database tempdb
modify file(
name = templog,
filename = N'D:\templog.ldf')
go
13 BigShmax
 
23.07.19
19:19
перенёс  всё норм.    с двумя проблемами
1.  не знал что пере стратом службы их надо скопировать, думал создаст новые.   проситал в ошибках
2. бросил в корень   у SQL небыло прав на корень D
Добавили права , все взлетело.
всем спасибо
описание на  вдруг кому понадобится
14 xXeNoNx
 
23.07.19
19:29
(0) предлагаю почитать сколько файлов tempdb  нужно и какова их зависимость от железа.
15 АгентБезопасной Нацио
 
23.07.19
20:23
(14) направь, где почитать, плз...
а то раньше со старым возился, да под клюшками - обычно одного хватало...
а тут эти новомодные УФ.
16 MaxS
 
23.07.19
20:48
(9) А зачем тогда переносить? Выключили сервер, сменили диск, включили сервер. Он пмсм сам создаст файлы.
17 BigShmax
 
24.07.19
10:50
(16) для переместить tempdb  нужно погасить службу 1-2 минуты (стоп - старт).    выключить серврер от 10 минут. благо отсоединить диск  можно на работающем серваке, так же как и подсоединить на его место новый.  С учётом  что сервер не выключался 200+ дней   там обновлений еще на от 10 минут до часов.  И получится что : "Выключили сервер, сменили диск, включили сервер. Он пмсм сам создаст файлы."   вырубит цех работающий 24/7     на ХЗ скока    мой нетронутый анус не хочет такой проверки .
18 BigShmax
 
24.07.19
10:51
(14)   там зависимость на логические процессоры  , у мну их многа.
19 MaxS
 
25.07.19
07:17
(17) Чтобы не рисковать, нужно иметь горячий резерв сервера. Перевел всю работу на резервный и копошишься сколько требуется.
Как-то работал программистом 1С- админом 1С, у всех пользователей были подключены списки баз v8i из общей папки. Режим работы дневной позволял во внерабочее время перевести все базы на другой сервер, подменить список баз. Если цех работает 24/7, в 1С-е тоже круглосуточно сидят? Если да, то организовать горячий резерв сложнее/дороже.
20 MaxS
 
25.07.19
07:26
+(19) и ещё добавление. Все операции регламентированы. Т.е. перед началом действий нужно точно знать как это делать. Потренироваться заранее на чем-нибудь. При выходе сервера из строя нужно уметь найти бэкап и восстановить работу. И знать сколько времени нужно на восстановление.
Всё хорошо на словах. ;) В моём случае после смены руководства функции 1С программиста и админа 1С разделили, в итоге после сбоя бэкапы потерялись, у программиста не было прав на доступ к бэкапам и контроля их существования. Резервный сервер из-за "недостаточной нагрузки" перевели на другой объект...
Поэтому на практике работаем с тем, что есть. )