|
|
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Довольно часто приходится встречаться с задачами (которые по умолчанию должны быть возложены на сисадмина и им решены), но, увы квалификация данных гуру под сомнением. Этот маленький топик в помощь (берите не раздумывая, иного Вам не предложат). Я создал скрипт дабы не иметь с Вами ни чего общего! Получите и распишитесь! '=========================================================================================== ' Описание переменных (настройки скрипта) Панкратов Павел Сергеевич aka Almi '=========================================================================================== 'Путь к архиватору WinRar.exe 'RarExe = "C:\Program Files\WinRAR\WinRAR.exe" 'RarExe = "C:\Program Files\7-Zip\7z.exe" 'Параметры архивирования (ключи запуска) 'RarKey = "-ibck -ep1 -rr10% -m0 -o+ -ri1 -t -tl -y -idcdp -inul --" 'RarKey = " 'где: '-ibck При архивировании размещать в системный трей '-ep1 Исключить из путей базовый каталог '-rr10% Добавить информацию для восстановления 10% '-m0 Добавить файлы в архив без сжатия '-o+ Перезаписывать существующие файлы '-ri1 Назначить минимальный приоритет '-t Протестировать файлы после архивирования '-tl Установить время архива по самому новому файлу '-y Автоматически отвечать "да" на все запросы '-idcdp Запретить вывод сообщений '-inul Не выводить никаких сообщений '-- Прервать дальнейший поиск ключей '!!! ВНИМАНИЕ !!! путь БэкАпа НЕ должен содержать пробелы 'Папка куда складываются Ваши БэкАпы BakFolder = "O:\Backup_SQL" 'Папка куда складываются временные БэкАпы (*.bak) TmpFolder = BakFolder & "\Temp" 'Папка с архивами Ваших БэкАпов ArcFolder = BakFolder & "\Archive" 'Шаблон имени лог-файла LogFile = BakFolder & "\LogFile.log" 'Имя SQL Server'a (local) или LocalHost - текущий 'SQLName = "SERVER-TB\SQLEXPRESS" SQLName = "SERVER-TB\SQL2008Express" 'Список имен баз данных для резервирования, 'разделенных запятой (регистр не имеет значение) 'при пустом значении БэкАпятся все базы данных DBName = "" 'Производить резервное копирование системных баз данных BackupSysDB = 0 'Перестраиваю индексы таблиц баз данных RebuildIndex= 1 'Метод аутентификации (1 - авторизация Windows, '0 - в противном случае необходимо указывать Login и Password LoginSecure = 1 Login = "" Password = "" 'Перезаписывать лог-файл ReWriteLog = 0 'Сообщать о завершении и начале работы скрипта (для отладки) ShowMessage = 0 If ShowMessage = 1 Then nUserAnswer = MsgBox("Выполнить VBScript?", vbYesNo) If nUserAnswer = 7 Then WScript.Quit End If '=========================================================================================== 'Проверяем настройки скрипта '=========================================================================================== 'Ночью - отдыхаем ))) If (Time >= "1:00:00") and (Time <= "8:00:00") Then WScript.Quit 'Метод копирования баз данных: 'Следует учитывать, что не все типы резервного копирования баз данных всегда доступны. 'Выбор типа резервного копирования зависит от режима восстановления базы данных. 'Full применим к любой модели восстановления. 'Differential применим к любой модели восстановления, но лишь при наличии полной копии базы данных. 'TransactionLog применим к моделям Full и Bulk-logged, и лишь при наличии полной копии базы данных. '0 = Full - Полное резервирование копирование '1 = Differential - Дифференциальное (разностное) резервирование, т. е. копируются файлы, созданные или измененные с момента последнего полного резервирования '2 = CopyOnlyBackups - Это так называемое копирующее резервное копирование '3 = TransactionLog - Резервирование копирование журналов транзакций, с момета последнего резервирования 'Определимся с действиями If (Time >= "21:00:00") and (Time < "23:59:00") Then Action = 0 'период времени когда будет производиться полная копия БД и её дефрагментация Else Action = 1 'дифференциальное (разностное) резервирование End If If Len(SQLName) = 0 Then SQLName = InputBox("Введите имя сервера", "SQL", "") If Len(SQLName) = 0 Then WScript.Echo "Необходимо задать имя SQL Server'a!" & Chr(13) & Chr(10) & _ "Дальнейшая работа VBScript'a не возможна." WScript.Quit End If End If If (LoginSecure = 0) And (Len(Login) = 0) Then Login = InputBox("Введите имя пользователя", "Пользователь", "sa") If Len(Login) = 0 Then WScript.Echo "Необходимо задать имя пользователя!" & Chr(13) & Chr(10) & _ "Дальнейшая работа VBScript'a не возможна." WScript.Quit End If End If 'RarExe = Trim(RarExe ) 'RarKey = Trim(RarKey ) BakFolder = Trim(BakFolder) DBName = Trim(DBName ) 'If Len(RarExe) = 0 Then ' WScript.Echo "Не задан архиватор WinRar!" & Chr(13) & Chr(10) & _ ' "Дальнейшая работа VBScript'a не возможна." ' WScript.Quit 'End If Set FSO = CreateObject("Scripting.FileSystemObject") 'If not FSO.FileExists(RarExe) Then ' WScript.Echo "Файл WinRar.exe не существует" & Chr(13) & Chr(10) & _ ' "Дальнейшая работа VBScript'a не возможна." ' WScript.Quit 'End If If Len(BakFolder) = 0 Then WScript.Echo "Не задана директория для БэкАпов!" & Chr(13) & Chr(10) & _ "Дальнейшая работа VBScript'a не возможна." WScript.Quit End If If DiffDay < 0 Then WScript.Echo "Количество дней, хранения архивов не должно быть < 0!" & Chr(13) & Chr(10) & _ "Дальнейшая работа VBScript'a не возможна." WScript.Quit End If '=========================================================================================== 'Создаем необходимых директории '=========================================================================================== If Not FSO.FolderExists(BakFolder) Then FSO.CreateFolder(BakFolder) If Not FSO.FolderExists(TmpFolder) Then FSO.CreateFolder(TmpFolder) If Not FSO.FolderExists(ArcFolder) Then FSO.CreateFolder(ArcFolder) If ReWriteLog = 1 Then If FSO.FileExists(LogFile) Then FSO.DeleteFile(LogFile) End If End If WriteLog "Старт скрипта: " & WScript.ScriptFullName, LogFile '=========================================================================================== ' Процесс резервирования БД '=========================================================================================== 'Создаём объекты Set oServer = CreateObject("SQLDmo.SqlServer") If LoginSecure = 1 Then oServer.LoginSecure = True 'Aвторизация Windows Else oServer.LoginSecure = False 'значение False по умолчанию oServer.Login = Login oServer.Password = Password End If 'Подключение к серверу oServer.Connect SQLName 'Проверяем статус SQL-сервера SQLStatus = oServer.Status If SQLStatus <> 1 Then sEcho = "Статус SQL Server'a: " Select Case SQLStatus Case 0 sEcho = sEcho & "Состояние получить не удалось" Case 2 sEcho = sEcho & "На паузе" Case 3 sEcho = sEcho & "Остановлен" Case 4, 5, 6, 7 sEcho = sEcho & "Переходное состояние" End Select oServer.DisConnect 'Отключаемся Set oServer = Nothing Set FSO = Nothing WScript.Echo sEcho & Chr(13) & Chr(10) & "Дальнейшая работа VBScript'a не возможна." WScript.Quit End If 'Проверяем, обладаем ли мы правами SYSADMIN/SA If Not oServer.SaLogin Then oServer.DisConnect 'Отключаемся Set oServer = Nothing Set FSO = Nothing WScript.Echo "Пользователь [" & Login & "] не обладает достаточными правами!" & Chr(13) & Chr(10) & _ "Дальнейшая работа VBScript'a не возможна." WScript.Quit End If Set oBackUp = CreateObject("SQLDmo.Backup") 'Перебираем все БД на сервере и находим нашу(-ши) базы, необходимые для БэкАпирования DBName = "," & UCase(Replace(DBName, " ", "")) & "," For Each oDataBase In oServer.DataBases If (oDataBase.SystemObject and (BackupSysDB = 1) and (LCase(oDataBase.Name) <> "tempdb") and (oBackUp.Action = 0)) Or _ (InStr(DBName, "," & UCase(oDataBase.Name) & ",") > 0) Or _ (DBName = ",,") Then oBackUp.Action = Action oBackUp.DataBase = oDataBase.Name oBackUp.Files = TmpFolder & "\" & oDataBase.Name & ".bak" oBackUp.TruncateLog = 0 oBackUp.Initialize = True 'Перезаписывать существующий bak-файл WriteLog "Создание БэкАпа БД: [" & UCase(oDataBase.Name) & "] в директорию " & oBackUp.Files, LogFile 'oBackUp.SQLBackUp oServer 'БэкАпим 'произведем дефрагментацию не системной базы даннх при полном копировании If RebuildIndex and Not oDataBase.SystemObject and (oBackUp.Action = 0) Then WriteLog "Перестраиваю индексы таблиц БД: [" & UCase(oDataBase.Name) & "]", LogFile Set oDB = oServer.Databases(oDataBase.Name) nCount = oDataBase.Tables.Count For i = 0 To (nCount-1) Set oTable = oServer.Databases(oDataBase.Name).Tables(i+1) If Not oTable.SystemObject And oTable.HasIndex Then oTable.RebuildIndexes WriteLog oTable.Name, LogFile End If Set oTable = Nothing Next Set oDB = Nothing End If End If Next 'Освобождаем объект Set oBackUp = Nothing oServer.DisConnect 'Отключаемся 'Освобождаем объект Set oServer = Nothing '=========================================================================================== ' Процесс архивирования БД '=========================================================================================== 'Создаем объект Set Shell = CreateObject("WScript.Shell") Select Case Action Case 0 ArcName = "Full" Case 1 ArcName = "Differential" End Select 'Архивируем 'Set Rar = Shell.Exec("""" & RarExe & """" & " M " & RarKey & " " & """" & ArcFolder & "\" & ArcName & ".rar" & """" & " " & """" & TmpFolder & "\*.*" & """") 'WriteLog "Создание Архива БД: " & ArcFolder & "\" & ArcName & ".rar", LogFile 'Пока архивирование не закончится 'While (Rar.Status = 0) ' WScript.Sleep 1000 'ожидаем 'Wend 'Освобождаем объект Set Shell = Nothing 'удаляем временную директорию FSO.DeleteFolder(TmpFolder) '=========================================================================================== If ReWriteLog = 0 Then WriteLog "Выход скрипта: " & WScript.ScriptFullName & Chr(13) & Chr(10), LogFile Else WriteLog "Выход скрипта: " & WScript.ScriptFullName, LogFile End If 'Освобождаем объект Set FSO = Nothing If ShowMessage = 1 Then WScript.echo("Процесс резервирования БД - завершен!") '=========================================================================================== 'Процедура записи текстового файла '=========================================================================================== Sub WriteLog(strText, strPath) Set File = FSO.OpenTextFile(strPath, 8, True) File.WriteLine(Now & " " & strText) File.Close End Sub '=========================================================================================== ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2012, 12:17 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Мда... вместо того, чтобы изучить и использовать возможности стандартных средств администрирования SQL-сервера, используем кривые-косые, но зато сделанные своими руками, костыли... Хотя как результат самостоятельного изучения языка программирования - не так уж и плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2012, 23:53 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
AkinaМда... вместо того, чтобы изучить и использовать возможности стандартных средств администрирования SQL-сервера, используем кривые-косые, но зато сделанные своими руками, костыли... Хотя как результат самостоятельного изучения языка программирования - не так уж и плохо. согласен. Но при этом вступление ТС насчет сомнительной квалификации порадовало, самокритично прямо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2012, 10:04 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__, А при чеём здесь Виндовс? Вы же СКЛ администрировать собрались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2012, 11:56 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Что так всполошились, себя со стороны увидели, как наплевательски относитесь не только к конфигурированию сервера, но и дельнейшему обслуживанию баз данных. Когда программы падают от нехватки оперативной памяти по причине размера журнала транзакций в более чем 60 ГБ. Значит, попал в точку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 08:52 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Просто попал пальцем в одно место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 09:07 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__Когда программы падают от нехватки оперативной памяти по причине размера журнала транзакций в более чем 60 ГБ.Если такое происходит - хотя бы один раз - администратора БД немедленно увольняют и берут на работу вменяемого. almi__Что так всполошились, себя со стороны увидели, как наплевательски относитесь не только к конфигурированию сервера, но и дельнейшему обслуживанию баз данных. Использование сторонних скриптов вместо штатных средств обслуживания и резервирования - вот это и есть наплевательское отношение и свидетельство профессиональной безграмотности. Грамотный специалист использует сторонние средства тогда и только тогда, когда штатные не позволяют выполнить поставленную задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 09:21 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Давайте проясним ситуацию более детально. Я работаю во франче уже более 7 лет, за этот срок каких только историй не наблюдал, но если взять выжимку и подвести черту, то происходит следующее: Взбешенный клиент звонить в службу тех. поддержки с претензиями что, мол ВАША (будь то 1С, Турбо-Бухгалтер либо иной продукт), но именно Ваша “дурацкая” программа перестала работать. После того как туда выезжает наш специалист, наблюдается следующее, а именно. То, что я описал выше, после этого с большим трудом находится сисадмин (где он был, что он делал и делал ли вообще - неизвестно), но крайне недовольный он открывает доступ к серверу и на тебе – та самая ситуация. AkinaЕсли такое происходит - хотя бы один раз - администратора БД немедленно увольняют и берут на работу вменяемого. Далее сисадмин не увольняется, а более того его поощряют что проблема решена им, наши счета при этом не оплачивают под предлогом того что проблему устранили своими силами (пришлось пинать пинками под одно место админа и заставлять устранять ошибку) – вот примерно так это происходит. AkinaИспользование сторонних скриптов вместо штатных средств обслуживания и резервирования - вот это и есть наплевательское отношение и свидетельство профессиональной безграмотности. Грамотный специалист использует сторонние средства тогда и только тогда, когда штатные не позволяют выполнить поставленную задачу. Но есть еще один контингент организаций которые либо экономят на админах либо просто не имеют средств их содержать. Тут не шёл разговор что лучше, а был предоставлен рабочий скрипт позволяющий избежать ряд многих проблем. Anatoly PodgoretskyПросто попал пальцем в одно место. А кто куда там себе пальцы сует и в какие места, вообще откровенное хамство примерно как и компетентность данных спецов, о чем я и написал в заголовке данного топика. Просто не приятно общяться. Не требуется, все знаете сами – не пользуйтесь, Вас ни кто не принуждает. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 12:50 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__Что так всполошились, себя со стороны увидели, как наплевательски относитесь не только к конфигурированию сервера, но и дельнейшему обслуживанию баз данных. Когда программы падают от нехватки оперативной памяти по причине размера журнала транзакций в более чем 60 ГБ. Значит, попал в точку. Очень интересно узнать - каким боком размер журнала транзакций соотносится к нехватке озу и падению программ? И вообще какие такие программы крутятся на скульном серваке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 13:01 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
2 Alien99, Разговор (если он вообще присутствует) не о том, но какие программы уже описал – читайте лучше, а о связке журнала и ОЗУ скажу следующее: Eсли журналы транзакций увеличиваются до неприемлемых размеров, то он начинает препятствовать штатной работе с БД SQL, и как следствие отражаться на программных продуктах использующих данную БД. Выливается это обычно как нехватка ОЗУ (но это обычно, нюансы присутствуют). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 13:22 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
2 Akina Ну что, как быть с Alien99 ему интересно, он не в курсе проблем ( http://support.microsoft.com/kb/873235) – увольняем к чертям или премию выпишем!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 13:40 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__Eсли журналы транзакций увеличиваются до неприемлемых размеров, то он начинает препятствовать штатной работе с БД SQL, и как следствие отражаться на программных продуктах использующих данную БД. Выливается это обычно как нехватка ОЗУ (но это обычно, нюансы присутствуют).Немного наоборот - маленький журнал транзакций приводит к падению производительности и может привести к нехватке озу. Большой журнал транзакций ни к чему такому привести не может. Вообще вопросы по сиквелу плодотворнее задавать и обсуждать на соответствующем форуме, если не страшно, конечно :-) Отсутствие дба у клиентов - такая проблема конечно есть. И виноватым окажется конечно поставщик программы :-( Ну так компании-разработчику нужно не только требовать наличие дба у клиента, но и завести своего специалиста, а не кропать подобные скрипты :-) Как я заметил, проблема отсутствия дба относится не только к заказчикам, но и к компаниям-разработчикам, а им это непростительно - они же профессионалы, а не простые потребители софта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 13:47 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Если честно, устал от вАС на практике и уже притомился в сети Ж) alexeyvg Немного наоборот - маленький журнал транзакций приводит к падению производительности и может привести к нехватке озу. Большой журнал транзакций ни к чему такому привести не может. Во как! А то что разработчик это признает – ерунда. alexeyvg Вообще вопросы по сиквелу плодотворнее задавать и обсуждать на соответствующем форуме, если не страшно, конечно :-) Вообще тут нет для меня ни каких вопросов и тем более я их тут не задаю – вАС не смущает!? Учите матчасть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 14:09 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__, О гуру скуля, извини нас непокорных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 14:17 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__, Написали костыль, предоставили его тут как манну небесную, вАМ на это указали. За использование данного скрипта админа надо увольнять ибо безопасность данных страдает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 14:22 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Ну, вот данный читатель Вы убедились, сколько на форуме может присутствовать не компетентных пользователей (в жизни их гораздо больше). Дабы не иметь с ними ни каких отношений либо Вам финансы не позволяют (что тоже +), был предложен данный скрипт – Ваше дело пользоваться им или нет (если под рукой квалифицированный спец и Вы в нём уверены, то наверное нет). Но заметьте нас окружат по большей части бэдлы “за исключением пользователя под ником Akina (один из 100)” ни знающие и знать не желающие о каких либо проблемах), делайте выводы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 14:24 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__Вообще тут нет для меня ни каких вопросов и тем более я их тут не задаю – вАС не смущает!?Не смущает, это обычное дело. Зачем задавать вопросы, копать надо :-) И вообще, задают вопросы те, кто неплохо знает предмет, это же очевидно, а то, что вы не специалист - тоже очевидно (не обижайтесь, это же нормально, я, допустим, тоже ничего не понимаю в тысячах разных специальностях, это не недостаток). almi__alexeyvg Немного наоборот - маленький журнал транзакций приводит к падению производительности и может привести к нехватке озу. Большой журнал транзакций ни к чему такому привести не может. Во как! А то что разработчик это признает – ерунда.Неправда, в ссылке, которую вы дали, разработчик не признаёт никаких проблем, это просто алгоритм уменьшения файла. Могу рассказать подрбнее про лог и шринк, и про правильные действия компании-разработчика, типа вашей. Вы ошибаетесь, думая, что разрастание лога транзакций - это бага микрософта, которую они не могут поправить уже десятки лет :-) Лог растёт, потому что вы (разработчик, внедрятель программы, админ) дали команду ни в коем случае не стирать логи транзакций, потому что планируете использовать эти логи в дальнейшем. И сервер их и не стирает, не подозревая, что вы просто-напросто не подозреваете об этой вашей команде, об использовании логи и т.п. Правильный алгоритм такой: 1. Выясняете в компании-клиенте у бизнес-людей (не у админов!), нужен ли им лог транзакций. Для этого спрашиваете, планируют ли они восстанавливать состояние базы с точностью до любой минуты или достаточно восстанавливать базу на момент очередного бакапа. 2. В зависимости от ответа: 2.1 Если планируют, то даёте команду хранить лог транзакций (установив модель базы FULL) 2.1 Если не планируют, то даёте команду не хранить лог транзакций (установив модель базы SIMPLE) 3. Планируете размеры файлов, установив их так, что бы они не увеличивались, с запасом. Для этого нужно знать свою программу, допустим, обычно для лога нужно пол-размера файла данных, для файла данных размер будет зависеть от количества пользователей, транзакций от них и т.д. В общем, это нужно знать вашу программу. 4. Настраиваете полный бакап данных. 5. Для случая модели базы FULL настраиваете бакап лога. В этом бакапе данные из файла лога будут сбрасываться в бакап, поэтому файл не будет расти, и поэтому нужно делать этот бакап лога перед ресурсоёмкими операциями, и вообще его нужно делать почаще. Ещё один вариант - переводить базу в режим SIMPLE перед этими операциями, тогда нужно обязательно делать бакап после перевода режима базы обратно в FULL И всё - никаких вредных шринков делать не надо, производительность всегда будет на высоте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 14:32 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__Дабы не иметь с ними ни каких отношений либо Вам финансы не позволяют (что тоже +), был предложен данный скрипт – Ваше дело пользоваться им или нет (если под рукой квалифицированный спец и Вы в нём уверены, то наверное нет). Скажите, что будет, если случайно будет запущено две копии скрипта в "тихом" режиме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 14:41 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
alexeyvgНеправда, в ссылке, которую вы дали, разработчик не признаёт никаких проблем , это просто алгоритм уменьшения файла. Т.е. заголовок – “Решение проблемы переполнения журнала транзакций в базе данных SQL Server” означает – “Нет Ни Каких Проблем ”!? alexeyvg Вы ошибаетесь, думая, что разрастание лога транзакций - это бага микрософта, которую они не могут поправить уже десятки лет :-) Приведите пример где я об этом говорил! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 14:56 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
alexeyvg1. Выясняете в компании-клиенте у бизнес-людей (не у админов!), нужен ли им лог транзакций. Для этого спрашиваете, планируют ли они восстанавливать состояние базы с точностью до любой минуты или достаточно восстанавливать базу на момент очередного бакапа. 2. В зависимости от ответа: 2.1 Если планируют, то даёте команду хранить лог транзакций (установив модель базы FULL) 2.1 Если не планируют, то даёте команду не хранить лог транзакций (установив модель базы SIMPLE) Модель восстановления не влияет на лог правильно, работа MS SQL без лога не возможно, кроме того это важная часть. Надо просто сжимать лог, но не командой shrink (это кстати вредная команда, снижает производительность), а архивацией базы и лога (для FULL). И делать это не вручную, а в плане обслуживания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 15:00 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
AkinaСкажите, что будет, если случайно будет запущено две копии скрипта в "тихом" режиме? Ну, вот и добрались! Ж) Абсолютно ни чего не будет, он не отработает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 15:00 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Но это не означает, что они обе не будут работоспособны, а лишь то, что одна из них не будет мешать другой! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 17:47 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Скрипт это примитив, как и многие тут на форуме, не догадывающийся о своей сущности и среде обитания (есть ли многозадачная система один ли он существует на выполнении). Но сам SQL НЕ Допустит параллельного вторжения - вот и всё! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 18:12 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
Но что действительно печально лицезреть, так это то, что данный примитив гораздо лучше справляется с возложенной на него задачей, чем прыщавый примитив рубящийся в контру за 20К!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 18:20 |
|
||
|
Администрирование SQL
|
|||
|---|---|---|---|
|
#18+
almi__, Ну вот и опустилась планка с авторберите не раздумывая, иного Вам не предложат до авторСкрипт это примитив Как раз прыщавый примитив рубящийся в контру за 20К это гамно и будет внедрять. вЫ балбес ? Вам уже сказали не раз - это не метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2012, 18:37 |
|
||
|
|

start [/forum/topic.php?fid=26&fpage=115&tid=1496494]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 426ms |

| 0 / 0 |
