| 
    
        
     
     | 
    
  | 
Перевод 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С разделили, в итоге после сбоя бэкапы потерялись, у программиста не было прав на доступ к бэкапам и контроля их существования. Резервный сервер из-за "недостаточной нагрузки" перевели на другой объект... Поэтому на практике работаем с тем, что есть. )  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |