Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Мужики, подскажите есть ли у кого срипт написанный, который у всех баз (mdf и ldf) на серваке автоматом увеличивает автогроу на 2000 мб. Или помогите написать =)
13 мар 15, 10:11    [17379151]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
писать за вас, да ещё оказывая вам медвежью услугу вам никто не будет. А почему не 3000Мб ? Или не 200 Мб ?
13 мар 15, 11:45    [17379629]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8815
Бардак скриптами не лечат :) Разруха не в клозетах, а в головах. Ручками, ручками... Дабы впредь действий мозг работал.
13 мар 15, 12:36    [17379973]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Да я написал, я плохо помню синтаксисы tsql, надо поместить результат запроса в переменную, а после выбирать и подставлять в алтер тэйбл. Может кто подскажет как это можно сделать:

Use msdb
-- Выборка имен всех баз с сервера, за исключением системных
Select name from sys.databases where name NOT IN ('master', 'model', 'msdb', 'ReportServer','ReportServerTempDB', 'tempdb')
go
Use master
ALTER DATABASE name Modify FILE (name =N'name ' , FILEGROWTH = 2000)
ALTER DATABASE name Modify FILE (name =N'name ', FILEGROWTH = 2000)
go
13 мар 15, 13:42    [17380431]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
mqn, исправляю
Да я написал, я плохо помню синтаксисы tsql, надо поместить результат запроса в переменную, а после выбирать и подставлять в алтер тэйбл. Может кто подскажет как это можно сделать:

Use msdb
-- Выборка имен всех баз с сервера, за исключением системных
Select name from sys.databases where name NOT IN ('master', 'model', 'msdb', 'ReportServer','ReportServerTempDB', 'tempdb')
go
Use master
ALTER DATABASE  name Modify FILE (name =N'name ' , FILEGROWTH = 2000)
ALTER DATABASE  name  Modify FILE (name =N'name_log ', FILEGROWTH = 2000)
go
13 мар 15, 13:44    [17380441]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
Glory
Member

Откуда:
Сообщений: 104751
Select 'ALTER DATABASE '+ name+ ' ...' from sys.databases  ...
13 мар 15, 13:45    [17380451]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
у всех баз
Guest
mqn,

select 'GO ALTER DATABASE ' + name + ' ASTA_LA_VISTA FILE(name=N'BABY', delay=2000) GO '  from sys.databases
13 мар 15, 13:49    [17380472]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Если я все правильно понял, то выглядеть должно так?
Use msdb
-- Выборка имен всех баз с сервера, за исключением системных
Select 'ALTER DATABASE '+ name + 'Modify FILE (name =N'name', FILEGROWTH = 1024)' from sys.databases where name NOT IN ('master', 'model', 'msdb', 'ReportServer','ReportServerTempDB', 'tempdb')
go


Просто нет сейчас доступа к студии не могу проверить
13 мар 15, 14:25    [17380726]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Если я все правильно понял, то выглядеть должно так?
Use msdb
-- Выборка имен всех баз с сервера, за исключением системных
Select 'ALTER DATABASE '+ name + 'Modify FILE (name =N'name', FILEGROWTH = 1024)' from sys.databases where name NOT IN ('master', 'model', 'msdb', 'ReportServer','ReportServerTempDB', 'tempdb')
go


Просто нет сейчас доступа к студии не могу проверить
13 мар 15, 14:54    [17380955]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
mqn
Если я все правильно понял, то выглядеть должно так?
Use msdb
-- Выборка имен всех баз с сервера, за исключением системных
Select 'ALTER DATABASE '+ name + 'Modify FILE (name =N'name', FILEGROWTH = 1024)' from sys.databases where name NOT IN ('master', 'model', 'msdb', 'ReportServer','ReportServerTempDB', 'tempdb')
go


Просто нет сейчас доступа к студии не могу проверить

не взлетит, так как логическое имя файла БД != имени БД, к тому же одна БД может содержать множество файлов с данными и ФГ.
13 мар 15, 14:59    [17380996]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
и какие у Вас предложения?
13 мар 15, 15:08    [17381079]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
mqn
и какие у Вас предложения?

забить и не делать бесполезную и не нужную работу. Или вы можете обосновать зачем вам это надо ?
13 мар 15, 15:38    [17381362]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Мне нужно на всех базах, привести автогроу к единому стандарту, у меня больше 100 серверов на каждом минимум по 4 базы. руками делать это все очень долго. Хочу скриптом, вот зачем это и нужно
13 мар 15, 16:26    [17381721]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
Glory
Member

Откуда:
Сообщений: 104751
mqn
и какие у Вас предложения?

Использовать системное представление, в котором есть имена файлов ?
13 мар 15, 16:35    [17381774]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Дак, а зачем мне системное представление, если я могу получить список из sys.databases, что собственно и происходит.

Я не очень силен в транзакте. Но используя этот скрипт
Use msdb
-- Выборка имен всех баз с сервера, за исключением системных
Select 'ALTER DATABASE '+ name + ' Modify FILE (NAME =N''' + name + ''' , FILEGROWTH = 1024)' from sys.databases where name NOT IN ('master', 'model', 'msdb', 'ReportServer','ReportServerTempDB', 'tempdb')
go


, я получаю набор записей в таблице
ALTER DATABASE Test1 Modify FILE (NAME =N'Test1' , FILEGROWTH = 1024)
ALTER DATABASE test2 Modify FILE (NAME =N'test2' , FILEGROWTH = 1024)
ALTER DATABASE test3 Modify FILE (NAME =N'test3' , FILEGROWTH = 1024)

Но сама команда не исполняется, почему?
13 мар 15, 16:45    [17381840]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
Glory
Member

Откуда:
Сообщений: 104751
mqn
Дак, а зачем мне системное представление, если я могу получить список из sys.databases, что собственно и происходит.

Потому что
1. файлов у базы может больше одного
2. имя файла может не совпадать с именем базы
13 мар 15, 16:47    [17381851]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
Glory
Member

Откуда:
Сообщений: 104751
mqn
Но сама команда не исполняется, почему?

Потому что Select не может что-то там исполнять
13 мар 15, 16:48    [17381857]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
У меня по стандарту файла 2 (1 файл базы, 1 лог)
Имя файла обязательно должно совпадать с именем базы, тоже по стандартизации.
Вот я же и хочу узнать, как запустить на исполнение альтер табле)).
13 мар 15, 16:54    [17381906]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
Glory
Member

Откуда:
Сообщений: 104751
mqn
Вот я же и хочу узнать, как запустить на исполнение альтер табле))

копируете полученные команды в новое окно запроса и запускаете
13 мар 15, 17:31    [17382225]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
komrad
Member

Откуда:
Сообщений: 5741
mqn
У меня по стандарту файла 2 (1 файл базы, 1 лог)
Имя файла обязательно должно совпадать с именем базы, тоже по стандартизации.


загляни в sys.master_files и увидишь, что имена не совпадают


а диски у вас на серверах все одинакового размера? ну, как по стандарту?!
и место свободное тоже, наверно, одинаковое?
вот поставишь всем одинаковый прирост - представь 20 баз решили подрасти на новую величину - и упрешься в нехватку места на диске
13 мар 15, 17:43    [17382292]     Ответить | Цитировать Сообщить модератору
 Re: Автоувелчиение автогроу  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Проблему решил использовав курсор, подключался ко всем сервакам, проходил по всем бд курсором и менял прирост.

komrad, если я говорю, что имена совпадают, значит они совпадают. Мне сказали, изменить с процентного прироста, на количественный я и меняю, меня не волнуют объемы бд, этим занимаются другие службы.
18 мар 15, 10:24    [17397955]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить