powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Администрирование SQL
25 сообщений из 39, страница 1 из 2
Администрирование SQL
    #37904305
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Довольно часто приходится встречаться с задачами (которые по умолчанию должны быть возложены на сисадмина и им решены), но, увы квалификация данных гуру под сомнением. Этот маленький топик в помощь (берите не раздумывая, иного Вам не предложат).
Я создал скрипт дабы не иметь с Вами ни чего общего!

Получите и распишитесь!


'===========================================================================================
' Описание переменных (настройки скрипта) Панкратов Павел Сергеевич 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
'===========================================================================================
...
Рейтинг: 0 / 0
Администрирование SQL
    #37904611
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда... вместо того, чтобы изучить и использовать возможности стандартных средств администрирования SQL-сервера, используем кривые-косые, но зато сделанные своими руками, костыли...

Хотя как результат самостоятельного изучения языка программирования - не так уж и плохо.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37905220
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaМда... вместо того, чтобы изучить и использовать возможности стандартных средств администрирования SQL-сервера, используем кривые-косые, но зато сделанные своими руками, костыли...

Хотя как результат самостоятельного изучения языка программирования - не так уж и плохо.
согласен. Но при этом вступление ТС насчет сомнительной квалификации порадовало, самокритично прямо.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37905405
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
almi__,

А при чеём здесь Виндовс?
Вы же СКЛ администрировать собрались.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37911602
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что так всполошились, себя со стороны увидели, как наплевательски относитесь не только к конфигурированию сервера, но и дельнейшему обслуживанию баз данных.
Когда программы падают от нехватки оперативной памяти по причине размера журнала транзакций в более чем 60 ГБ.
Значит, попал в точку.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37911614
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто попал пальцем в одно место.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37911628
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
almi__Когда программы падают от нехватки оперативной памяти по причине размера журнала транзакций в более чем 60 ГБ.Если такое происходит - хотя бы один раз - администратора БД немедленно увольняют и берут на работу вменяемого.

almi__Что так всполошились, себя со стороны увидели, как наплевательски относитесь не только к конфигурированию сервера, но и дельнейшему обслуживанию баз данных.
Использование сторонних скриптов вместо штатных средств обслуживания и резервирования - вот это и есть наплевательское отношение и свидетельство профессиональной безграмотности.
Грамотный специалист использует сторонние средства тогда и только тогда, когда штатные не позволяют выполнить поставленную задачу.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912101
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Давайте проясним ситуацию более детально.

Я работаю во франче уже более 7 лет, за этот срок каких только историй не наблюдал, но если взять выжимку и подвести черту, то происходит следующее:
Взбешенный клиент звонить в службу тех. поддержки с претензиями что, мол ВАША (будь то 1С, Турбо-Бухгалтер либо иной продукт), но именно Ваша “дурацкая” программа перестала работать.
После того как туда выезжает наш специалист, наблюдается следующее, а именно. То, что я описал выше, после этого с большим трудом находится сисадмин (где он был, что он делал и делал ли вообще - неизвестно), но крайне недовольный он открывает доступ к серверу и на тебе – та самая ситуация.
AkinaЕсли такое происходит - хотя бы один раз - администратора БД немедленно увольняют и берут на работу вменяемого.
Далее сисадмин не увольняется, а более того его поощряют что проблема решена им, наши счета при этом не оплачивают под предлогом того что проблему устранили своими силами (пришлось пинать пинками под одно место админа и заставлять устранять ошибку) – вот примерно так это происходит.
AkinaИспользование сторонних скриптов вместо штатных средств обслуживания и резервирования - вот это и есть наплевательское отношение и свидетельство профессиональной безграмотности.
Грамотный специалист использует сторонние средства тогда и только тогда, когда штатные не позволяют выполнить поставленную задачу.
Но есть еще один контингент организаций которые либо экономят на админах либо просто не имеют средств их содержать.
Тут не шёл разговор что лучше, а был предоставлен рабочий скрипт позволяющий избежать ряд многих проблем.
Anatoly PodgoretskyПросто попал пальцем в одно место.
А кто куда там себе пальцы сует и в какие места, вообще откровенное хамство примерно как и компетентность данных спецов, о чем я и написал в заголовке данного топика. Просто не приятно общяться.

Не требуется, все знаете сами – не пользуйтесь, Вас ни кто не принуждает.

Удачи!
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912121
Alien99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
almi__Что так всполошились, себя со стороны увидели, как наплевательски относитесь не только к конфигурированию сервера, но и дельнейшему обслуживанию баз данных.
Когда программы падают от нехватки оперативной памяти по причине размера журнала транзакций в более чем 60 ГБ.
Значит, попал в точку.
Очень интересно узнать - каким боком размер журнала транзакций соотносится к нехватке озу и падению программ? И вообще какие такие программы крутятся на скульном серваке?
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912165
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Alien99,

Разговор (если он вообще присутствует) не о том, но какие программы уже описал – читайте лучше, а о связке журнала и ОЗУ скажу следующее:
Eсли журналы транзакций увеличиваются до неприемлемых размеров, то он начинает препятствовать штатной работе с БД SQL, и как следствие отражаться на программных продуктах использующих данную БД. Выливается это обычно как нехватка ОЗУ (но это обычно, нюансы присутствуют).
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912199
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Akina

Ну что, как быть с Alien99 ему интересно, он не в курсе проблем ( http://support.microsoft.com/kb/873235) – увольняем к чертям или премию выпишем!?
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912208
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
almi__Eсли журналы транзакций увеличиваются до неприемлемых размеров, то он начинает препятствовать штатной работе с БД SQL, и как следствие отражаться на программных продуктах использующих данную БД. Выливается это обычно как нехватка ОЗУ (но это обычно, нюансы присутствуют).Немного наоборот - маленький журнал транзакций приводит к падению производительности и может привести к нехватке озу.
Большой журнал транзакций ни к чему такому привести не может.

Вообще вопросы по сиквелу плодотворнее задавать и обсуждать на соответствующем форуме, если не страшно, конечно :-)

Отсутствие дба у клиентов - такая проблема конечно есть. И виноватым окажется конечно поставщик программы :-(

Ну так компании-разработчику нужно не только требовать наличие дба у клиента, но и завести своего специалиста, а не кропать подобные скрипты :-) Как я заметил, проблема отсутствия дба относится не только к заказчикам, но и к компаниям-разработчикам, а им это непростительно - они же профессионалы, а не простые потребители софта.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912240
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если честно, устал от вАС на практике и уже притомился в сети Ж)

alexeyvg Немного наоборот - маленький журнал транзакций приводит к падению производительности и может привести к нехватке озу.
Большой журнал транзакций ни к чему такому привести не может.

Во как! А то что разработчик это признает – ерунда.

alexeyvg Вообще вопросы по сиквелу плодотворнее задавать и обсуждать на соответствующем форуме, если не страшно, конечно :-)

Вообще тут нет для меня ни каких вопросов и тем более я их тут не задаю – вАС не смущает!?

Учите матчасть!
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912254
Alien99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
almi__,

О гуру скуля, извини нас непокорных.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912266
ytNjkbr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
almi__,

Написали костыль, предоставили его тут как манну небесную, вАМ на это указали.
За использование данного скрипта админа надо увольнять ибо безопасность данных страдает.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912269
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, вот данный читатель Вы убедились, сколько на форуме может присутствовать не компетентных пользователей (в жизни их гораздо больше).

Дабы не иметь с ними ни каких отношений либо Вам финансы не позволяют (что тоже +), был предложен данный скрипт – Ваше дело пользоваться им или нет (если под рукой квалифицированный спец и Вы в нём уверены, то наверное нет).

Но заметьте нас окружат по большей части бэдлы “за исключением пользователя под ником Akina (один из 100)” ни знающие и знать не желающие о каких либо проблемах), делайте выводы.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912283
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
almi__Вообще тут нет для меня ни каких вопросов и тем более я их тут не задаю – вАС не смущает!?Не смущает, это обычное дело. Зачем задавать вопросы, копать надо :-) И вообще, задают вопросы те, кто неплохо знает предмет, это же очевидно, а то, что вы не специалист - тоже очевидно (не обижайтесь, это же нормально, я, допустим, тоже ничего не понимаю в тысячах разных специальностях, это не недостаток).
almi__alexeyvg Немного наоборот - маленький журнал транзакций приводит к падению производительности и может привести к нехватке озу.
Большой журнал транзакций ни к чему такому привести не может.
Во как! А то что разработчик это признает – ерунда.Неправда, в ссылке, которую вы дали, разработчик не признаёт никаких проблем, это просто алгоритм уменьшения файла.

Могу рассказать подрбнее про лог и шринк, и про правильные действия компании-разработчика, типа вашей.

Вы ошибаетесь, думая, что разрастание лога транзакций - это бага микрософта, которую они не могут поправить уже десятки лет :-)

Лог растёт, потому что вы (разработчик, внедрятель программы, админ) дали команду ни в коем случае не стирать логи транзакций, потому что планируете использовать эти логи в дальнейшем. И сервер их и не стирает, не подозревая, что вы просто-напросто не подозреваете об этой вашей команде, об использовании логи и т.п.

Правильный алгоритм такой:

1. Выясняете в компании-клиенте у бизнес-людей (не у админов!), нужен ли им лог транзакций.
Для этого спрашиваете, планируют ли они восстанавливать состояние базы с точностью до любой минуты или достаточно восстанавливать базу на момент очередного бакапа.

2. В зависимости от ответа:
2.1 Если планируют, то даёте команду хранить лог транзакций (установив модель базы FULL)
2.1 Если не планируют, то даёте команду не хранить лог транзакций (установив модель базы SIMPLE)

3. Планируете размеры файлов, установив их так, что бы они не увеличивались, с запасом. Для этого нужно знать свою программу, допустим, обычно для лога нужно пол-размера файла данных, для файла данных размер будет зависеть от количества пользователей, транзакций от них и т.д. В общем, это нужно знать вашу программу.

4. Настраиваете полный бакап данных.

5. Для случая модели базы FULL настраиваете бакап лога.
В этом бакапе данные из файла лога будут сбрасываться в бакап, поэтому файл не будет расти, и поэтому нужно делать этот бакап лога перед ресурсоёмкими операциями, и вообще его нужно делать почаще.
Ещё один вариант - переводить базу в режим SIMPLE перед этими операциями, тогда нужно обязательно делать бакап после перевода режима базы обратно в FULL

И всё - никаких вредных шринков делать не надо, производительность всегда будет на высоте.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912305
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
almi__Дабы не иметь с ними ни каких отношений либо Вам финансы не позволяют (что тоже +), был предложен данный скрипт – Ваше дело пользоваться им или нет (если под рукой квалифицированный спец и Вы в нём уверены, то наверное нет).
Скажите, что будет, если случайно будет запущено две копии скрипта в "тихом" режиме?
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912326
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgНеправда, в ссылке, которую вы дали, разработчик не признаёт никаких проблем , это просто алгоритм уменьшения файла.
Т.е. заголовок – “Решение проблемы переполнения журнала транзакций в базе данных SQL Server” означает – “Нет Ни Каких Проблем ”!?
alexeyvg Вы ошибаетесь, думая, что разрастание лога транзакций - это бага микрософта, которую они не могут поправить уже десятки лет :-)
Приведите пример где я об этом говорил!
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912334
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg1. Выясняете в компании-клиенте у бизнес-людей (не у админов!), нужен ли им лог транзакций.
Для этого спрашиваете, планируют ли они восстанавливать состояние базы с точностью до любой минуты или достаточно восстанавливать базу на момент очередного бакапа.

2. В зависимости от ответа:
2.1 Если планируют, то даёте команду хранить лог транзакций (установив модель базы FULL)
2.1 Если не планируют, то даёте команду не хранить лог транзакций (установив модель базы SIMPLE)
Модель восстановления не влияет на лог правильно, работа MS SQL без лога не возможно, кроме того это важная часть.
Надо просто сжимать лог, но не командой shrink (это кстати вредная команда, снижает производительность), а архивацией базы и лога (для FULL). И делать это не вручную, а в плане обслуживания.
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912336
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaСкажите, что будет, если случайно будет запущено две копии скрипта в "тихом" режиме?
Ну, вот и добрались! Ж) Абсолютно ни чего не будет, он не отработает!
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912631
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но это не означает, что они обе не будут работоспособны, а лишь то, что одна из них не будет мешать другой!
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912666
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скрипт это примитив, как и многие тут на форуме, не догадывающийся о своей сущности и среде обитания (есть ли многозадачная система один ли он существует на выполнении). Но сам SQL НЕ Допустит параллельного вторжения - вот и всё!
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912675
almi__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но что действительно печально лицезреть, так это то, что данный примитив гораздо лучше справляется с возложенной на него задачей, чем прыщавый примитив рубящийся в контру за 20К!!!
...
Рейтинг: 0 / 0
Администрирование SQL
    #37912693
ytNjkbr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
almi__,

Ну вот и опустилась планка с

авторберите не раздумывая, иного Вам не предложат

до

авторСкрипт это примитив


Как раз прыщавый примитив рубящийся в контру за 20К это гамно и будет внедрять.
вЫ балбес ? Вам уже сказали не раз - это не метод.
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Windows [игнор отключен] [закрыт для гостей] / Администрирование SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]