Вход | Регистрация
 

Перевод tempDB на соседний диск

Перевод tempDB на соседний диск
Я
   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 ?
 
 
   IVAL
 
1 - 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
   IVAL
 
3 - 23.07.19 - 10:32
(2) по указанной ссылке конкретно не написано. Зато в https://docs.microsoft.com/en-us/sql/relational-databases/databases/move-system-databases?view=sql-server-2017 указано, что надо перемещать все файлы.
Наверно это проще будет проверить на реальной системе, чем теоретически гадать.
   BigShmax
 
4 - 23.07.19 - 10:51
(3)    мало окон  .   чтобы увидеть результат нужен рестарт службы сервера SQL не страшно , но второй рестарт смогу сделать часов через 12-24
   Йохохо
 
5 - 23.07.19 - 11:06
спросил, для каждого
   BigShmax
 
6 - 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
   Провинциальный 1сник
 
7 - 23.07.19 - 11:16
Первый темпдб оставь там где был, сделай его размер по минимуму, но поставь на всякий случай авторасширение. И создай дополнительные файлы на быстром диске фиксированного размера с запасом.
   BigShmax
 
8 - 23.07.19 - 11:16
ну  и имена файлов   в новом месте ессно новые
   BigShmax
 
9 - 23.07.19 - 11:18
(7)   у меня сейчас задача  освободить диск на котором крутятся tempdb  для его замены на другой
   Йохохо
 
10 - 23.07.19 - 11:31
не критично, вроде, но ndf, вроде№2
   BigShmax
 
11 - 23.07.19 - 11:38
(10) не понял
   BigShmax
 
12 - 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
   BigShmax
 
13 - 23.07.19 - 19:19
перенёс  всё норм.    с двумя проблемами
1.  не знал что пере стратом службы их надо скопировать, думал создаст новые.   проситал в ошибках
2. бросил в корень   у SQL небыло прав на корень D
Добавили права , все взлетело.
всем спасибо
описание на  вдруг кому понадобится
   xXeNoNx
 
14 - 23.07.19 - 19:29
(0) предлагаю почитать сколько файлов tempdb  нужно и какова их зависимость от железа.
   АгентБезопаснойНацио
 
15 - 23.07.19 - 20:23
(14) направь, где почитать, плз...
а то раньше со старым возился, да под клюшками - обычно одного хватало...
а тут эти новомодные УФ.
   MaxS
 
16 - 23.07.19 - 20:48
(9) А зачем тогда переносить? Выключили сервер, сменили диск, включили сервер. Он пмсм сам создаст файлы.
   BigShmax
 
17 - 24.07.19 - 10:50
(16) для переместить tempdb  нужно погасить службу 1-2 минуты (стоп - старт).    выключить серврер от 10 минут. благо отсоединить диск  можно на работающем серваке, так же как и подсоединить на его место новый.  С учётом  что сервер не выключался 200+ дней   там обновлений еще на от 10 минут до часов.  И получится что : "Выключили сервер, сменили диск, включили сервер. Он пмсм сам создаст файлы."   вырубит цех работающий 24/7     на ХЗ скока    мой нетронутый анус не хочет такой проверки .
   BigShmax
 
18 - 24.07.19 - 10:51
(14)   там зависимость на логические процессоры  , у мну их многа.
   MaxS
 
19 - 25.07.19 - 07:17
(17) Чтобы не рисковать, нужно иметь горячий резерв сервера. Перевел всю работу на резервный и копошишься сколько требуется.
Как-то работал программистом 1С- админом 1С, у всех пользователей были подключены списки баз v8i из общей папки. Режим работы дневной позволял во внерабочее время перевести все базы на другой сервер, подменить список баз. Если цех работает 24/7, в 1С-е тоже круглосуточно сидят? Если да, то организовать горячий резерв сложнее/дороже.
   MaxS
 
20 - 25.07.19 - 07:26
+(19) и ещё добавление. Все операции регламентированы. Т.е. перед началом действий нужно точно знать как это делать. Потренироваться заранее на чем-нибудь. При выходе сервера из строя нужно уметь найти бэкап и восстановить работу. И знать сколько времени нужно на восстановление.
Всё хорошо на словах. ;) В моём случае после смены руководства функции 1С программиста и админа 1С разделили, в итоге после сбоя бэкапы потерялись, у программиста не было прав на доступ к бэкапам и контроля их существования. Резервный сервер из-за "недостаточной нагрузки" перевели на другой объект...
Поэтому на практике работаем с тем, что есть. )

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.