Windows internal database ограничения
Как ограничить размер журналов, или изменить их путь ? или правильно настроить их удаление?
Ответы
Как ограничить размер журналов, или изменить их путь ? или правильно настроить их удаление?
sign
-Ограничивать нельзя, по сути вы "остановите" работу БД
-изменить путь:
ALTER DATABASE [Ваша база] MODIFY FILE
(
NAME = [Имя лога],
FILENAME = N'c:\MyLog.ldf' --новый путь
)
-Очистка:
BACKUP LOG [Ваша база] WITH TRUNCATE_ONLY
DBCC SHRINKFILE(pubs_log, 10)
10-значение до какого уменьшаете
- Помечено в качестве ответа Иван Проданов Microsoft contingent staff, Moderator 12 марта 2013 г. 13:52
Все ответы
Ну ограничивать журнал не стоит, иначе при его заполнении твоя база вывалится в suspect. Журналы чистятся. Для этого тебе надо сделать truncate журнала, а потом shrink. Ну или, как вариант, указать ограниченный размер журнала и переодически делать truncate.
Все настройки журнала лучше делать через Manangement Studio. Truncate и shrink лучше делать через bat/cmd/ps1 файлы и запускать их переодически как задания.
GCM d- s-:++ a- C++ W++ w+ M- PS-- PE++ tv- b d+ G e++
Как ограничить размер журналов, или изменить их путь ? или правильно настроить их удаление?
sign
-Ограничивать нельзя, по сути вы "остановите" работу БД
-изменить путь:
ALTER DATABASE [Ваша база] MODIFY FILE
(
NAME = [Имя лога],
FILENAME = N'c:\MyLog.ldf' --новый путь
)
-Очистка:
BACKUP LOG [Ваша база] WITH TRUNCATE_ONLY
DBCC SHRINKFILE(pubs_log, 10)
10-значение до какого уменьшаете
- Помечено в качестве ответа Иван Проданов Microsoft contingent staff, Moderator 12 марта 2013 г. 13:52
-Ограничивать нельзя, по сути вы "остановите" работу БДОграничивать можно, если с умом. Если не делать SHRINK, но при этом делать переодически TRUNCATE, то лог дойдя до конца файла, начнёт запись поверх старых логов в начале файла.
GCM d- s-:++ a- C++ W++ w+ M- PS-- PE++ tv- b d+ G e++
Вообще-то правильных вариантов 2.
1) Если в базе данных не хранится существенной информации и нет необходимости в возможности восстаногвления состояния базы на произвольный момент времени, то достаточно перевести базу в режим восстановления Simple и сделать shrink
alter database YourFB set recovery simple
В этом случае размер лога базы будет таким, чтобы в нем размещались "текущие"транзакции. То есть как правило, небольшим.
2) Если база критически важна для работы, при этом в ней хранится (и постоянно появляется) важная информация, которую невозможно восстановить из обычного регулярного бэкапа, то нужно нормально регулярно бэкапить логи.
В этом случае в логе будут храниться все транзакции между бэкапами лога.
В любом случае, обрезание лога на регулярной основе создает нагрузку дважды: первый раз - когда лог обрезается, второй - когда он расширяется, чтобы сохранить новые транзакции.
то нужно нормально регулярно бэкапить логи.
В этом случае в логе будут храниться все транзакции между бэкапами лога.
Зачем бэкапить логи? Логи нужны для восстановления текущего состояния. Т.е. после даже differential backup ценность предыдущего лога стремится к нулю. GCM d- s-:++ a- C++ W++ w+ M- PS-- PE++ tv- b d+ G e++
Как зачем? А если БД десятки ГБ?
стратегия, по которой у меня БэкАпируется одна из больших баз:
1 раз в неделю в ВС полный БэкАп
2 раза в день, кромя ВС, разностный
и раз в час в рабочее время БэкАп лога
выполните следующие действия, чтобы перенести базу данных WSUS (SUSDB) из экземпляра внутренняя база данных Windows в локальный или удаленный экземпляр SQL Server.
Предварительные требования
- SQL Вхождение. Это может быть MSSQLServer или пользовательский экземпляр по умолчанию.
- SQL Server Management Studio
- WSUS с установленной ролью WID
- IIS (обычно это включается при установке WSUS с помощью диспетчер сервера). Она еще не установлена, она должна быть.
Миграция базы данных WSUS
Останавливает службы IIS и WSUS на сервере WSUS
В PowerShell (с повышенными правами) выполните:
отсоединение SUSDB от внутренняя база данных Windows
использование SQL Management Studio
Использование командной строки
в этих шагах показано, как отсоединить базу данных WSUS (SUSDB) от экземпляра внутренняя база данных Windows с помощью программы sqlcmd . Дополнительные сведения о программе sqlcmd см. в разделе программа sqlcmd.
- Откройте командную строку с повышенными привилегиями
- выполните следующую команду SQL, чтобы отсоединить базу данных WSUS (SUSDB) от экземпляра внутренняя база данных Windows с помощью программы sqlcmd :
Скопируйте файлы SUSDB в SQL Server
- скопируйте SUSDB. mdf и SUSDB_log. ldf из папки данных WID (% SystemDrive%Windows \вид\дата) в папку данных экземпляра SQL.
например, если папка экземпляра SQL — C:\Program files \ Microsoft SQL Server \MSSQL12. мссклсервер\мсскл, а папка данных WID — c:\ Windows \вид\дата, скопируйте файлы SUSDB из C:\ Windows \вид\дата в C:\Program files \ Microsoft SQL Server \MSSQL12. Мссклсервер\мсскл\дата
присоединение SUSDB к экземпляру SQL
Это также можно сделать с помощью Transact-SQL. дополнительные сведения о присоединении базы данных см. в документации по SQL.
Пример (использование путей из предыдущего примера):
проверка SQL Server и имен входа и разрешений базы данных
SQL Server Разрешения для входа
после подключения SUSDB убедитесь, что NT AUTHORITY\NETWORK service имеет разрешения на вход в экземпляр SQL Server, выполнив следующие действия.
- Переход к SQL Server Management Studio
- Открытие экземпляра
- Щелкните Безопасность .
- Щелкните имена входа
Должна быть указана учетная запись NT Authority\Network Service . Если это не так, необходимо добавить новое имя для входа.
если SQL экземпляр находится на другом компьютере из служб wsus, учетная запись компьютера сервера WSUS должна быть указана в формате [FQDN] \ [всускомпутернаме] $. В противном случае можно использовать приведенные ниже шаги, чтобы добавить его, заменив NT Authority\Network Service учетной записью компьютера сервера WSUS ([FQDN] \ [всускомпутернаме] $). это может быть дополнением к ПРЕДОСТАВЛЕНию прав на NT Authority\Network Service .
Добавление NT AUTHORITY\NETWORK SERVICE и предоставление ей прав доступа
Теперь в разделе имена входа будет отображаться NT Authority\Network Service .
Разрешения базы данных
- Щелкните правой кнопкой мыши SUSDB
- Выберите пункт Свойства.
- Щелкните разрешения .
Должна быть указана учетная запись NT Authority\Network Service .
Если это не так, добавьте учетную запись.
В текстовом поле Login name (имя входа) введите компьютер WSUS в следующем формате:
Убедитесь, что для базы данных по умолчанию задано значение SUSDB.
На странице Сопоставление пользователей выберите базу данных SUSDB в разделе Пользователи, сопоставленные с этим именем входа .
Проверьте службу WebService в разделе членство в роли базы данных для: SUSDB:
чтобы изменения вступили в силу, может потребоваться перезапустить службу SQL.
измените реестр, чтобы указать WSUS на экземпляр SQL Server
Внимательно выполните действия, описанные в этом разделе. Неправильное изменение реестра может привести к серьезным проблемам. Перед внесением изменений создайте резервную копию реестра для его восстановления в случае возникновения проблем.
Откройте следующий раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName
В текстовом поле значение введите [SERVERNAME] \ [имя_экземпляра]и нажмите кнопку ОК. Если имя экземпляра является экземпляром по умолчанию, введите [SERVERNAME].
Откройте следующий раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabase
Переименование раздела UpdateServices-Database
если не обновить этот ключ, WsusUtil попытается обслуживать WID, а не SQL экземпляр, к которому был выполнен перенос.
Запуск служб IIS и WSUS на сервере WSUS
В PowerShell (с повышенными правами) выполните:
Если вы используете консоль WSUS, закройте и перезапустите ее.
Удаление роли WID (не рекомендуется)
При удалении роли WID также удаляется папка базы данных (%systemdrive%\Program Files\Update сервицес\датабасе), содержащая скрипты, необходимые WSUSUtil.exe для выполнения задач, выполняемых после установки. Если вы решили удалить роль WID, убедитесь, что создана резервная копия папки %systemdrive%\Program Files\Update сервицес\датабасе .
С помощью PowerShell:
После удаления роли WID убедитесь в наличии следующего раздела реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database
Всем привет сегодня хочу рассказать, как установить WSUS с SQL базой в Windows Server 2012R2. Ранее я уже описывал как установить WSUS на Windows Server 2012R2, и данный пост показывает лишь альтернативный метод решения для сервер обновлений, Так что выбор исключительно на ваше усмотрение, но хочу отметить, что в случае с сиквелом, у вас будет ряд преимуществ, и в скорости работы и в плане масштабируемости и отказоустойчивости, в такой реализации, вам легко будет перенести роль на другой сервер, затратив на это совсем не много времени.
Перед тем как начать развертывание вам нужно установить MS SQL 2012, с той лишь разницей что из компонентов достаточно выбрать Database Engine и средства управления. SQL может быть как на отдельной машине так и там где будет WSUS.
ак установить WSUS с SQL базой в Windows Server 2012R2
Для службы WSUS требуется одна из перечисленных ниже баз данных.
- Внутренняя база данных Windows (WID)
- Microsoft SQL Server 2012 Стандартный выпуск
- Microsoft SQL Server 2012 Выпуск Enterprise Edition
- Microsoft SQL Server 2012 Выпуск Express Edition
- Microsoft SQL Server 2008 R2 SP1 Стандартный выпуск
- Microsoft SQL Server 2008 R2 SP1 Выпуск Enterprise Edition
- Microsoft SQL Server 2008 R2 SP1 Выпуск Express Edition
После установки сиквела запускаем на сервере Управление-Добавить роли и компоненты
Как установить WSUS с SQL базой в Windows Server 2012R2-01
Оставляем Установка ролей или компонентов, жмем далее
Как установить WSUS с SQL базой в Windows Server 2012R2-02
Выбираем сервер из пула, если их там несколько
Как установить WSUS с SQL базой в Windows Server 2012R2-03
Выбираем Службы Windows Server Update, мастер покажет вам что будуд доставлены еще роли и компоненты, такие как IIS.
Как установить WSUS с SQL базой в Windows Server 2012R2-04
Как установить WSUS с SQL базой в Windows Server 2012R2-05
Как установить WSUS с SQL базой в Windows Server 2012R2-06
Далее будет вводная информация о WSUS, в которой вам расскажут, что должен быть один сервер как минимум, кто будет тянуть от MS обновления.
Как установить WSUS с SQL базой в Windows Server 2012R2-07
Ставим галку база данных, для подключения к внешней БД.
- WID (Windows Internal database) — встроенная база Windows
- Database – будет использоваться локальная или внешняя база данных на SQL Server для WSUS
Внутреннюю базу Windows (Windows Internal Database) рекомендуется использовать, если:
- Организация не имеет и не планирует покупать лицензии на SQL Server.
- Не планируется использовать балансировку нагрузки на WSUS (NLB WSUS).
- Если планируется развернуть множество WSUS (например, в филиалах). В этом случае на вторичных серверах рекомендуется использовать встроенную базу WSUS.
Базу WID нельзя администрировать с помощью стандартных графических консолей или средств управления (только cli).
Отметим, что в SQL Server 2008/2012 Express имеет ограничение на размер БД – 10 Гб. Скорее всего это ограничение достигнуто не будет (например, размер базы WSUS на 2000 клиентов – около 3 Гб). Ограничение Windows Internal Database – 524 Гб.Как установить WSUS с SQL базой в Windows Server 2012R2-08
Задаем место на диске где будут хранится обновления советую выделить хотя бы гигабайт 300
Как установить WSUS с SQL базой в Windows Server 2012R2-09
Далее указываем название сервера с SQL и жмем проверка подключения.
Как установить WSUS с SQL базой в Windows Server 2012R2-10
Видим подключение прошло успешно
Как установить WSUS с SQL базой в Windows Server 2012R2-11
После чего начнется установка IIS, тут все можно оставить по умолчанию
Как установить WSUS с SQL базой в Windows Server 2012R2-12
Как установить WSUS с SQL базой в Windows Server 2012R2-13
Как установить WSUS с SQL базой в Windows Server 2012R2-14
После установки жмем закрыть
Как установить WSUS с SQL базой в Windows Server 2012R2-15
Далее в верхнем углу вы увидите знак восклицания, который означает что нужно произвести донастройку WSUS роли.
Как установить WSUS с SQL базой в Windows Server 2012R2-16
Как установить WSUS с SQL базой в Windows Server 2012R2-17
Как установить WSUS с SQL базой в Windows Server 2012R2-18
Начнется конфигурация сервера
Как установить WSUS с SQL базой в Windows Server 2012R2-19
Видим, что все хорошо настроилось.
Как установить WSUS с SQL базой в Windows Server 2012R2-20
Теперь давайте посмотрим, какая БД у нас создалась в SQL, открываем Management Studio
Как установить WSUS с SQL базой в Windows Server 2012R2-21
Как установить WSUS с SQL базой в Windows Server 2012R2-22
Теперь открываем оснастку WSUS, Средства-Службы Windows Server Update Services
Как установить WSUS с SQL базой в Windows Server 2012R2-23
Откроется мастер настройки Windows Server Update Services
Как установить WSUS с SQL базой в Windows Server 2012R2-24
Если хотите MS улучшить WSU То ставьте галку отправлять данные
Как установить WSUS с SQL базой в Windows Server 2012R2-25
Базовый процесс развертывания службы WSUS включает в себя сервер внутри корпоративного брандмауэра, который обслуживает частную интрасеть. Для загрузки обновлений сервер WSUS подключается к центру обновления Майкрософт. Это называетсясинхронизация. В ходе синхронизации служба WSUS определяет, появились ли доступные свежие обновления с момента последней синхронизации. Если это первая синхронизация WSUS, то все обновления становятся доступными для загрузки.
На следующем рисунке представлен простой сценарий для сервера WSUS, по которому администратор может настраивать сервер под управлением WSUS, находящийся внутри корпоративного брандмауэра. Сервер выполняет синхронизацию содержимого непосредственно с Центром обновления Майкрософт, а затем распространяет обновления на клиентские компьютеры.
Как установить WSUS с SQL базой в Windows Server 2012R2-24
Несколько серверов WSUS
Администраторы могут развернуть несколько серверов под управлением WSUS, которые синхронизируют все содержимое в интрасети организации. На рисунке 2 только один сервер открыт для Интернета. В такой конфигурации это единственный сервер, который загружает обновления из Центра обновления Майкрософт. Данный сервер установлен как вышестоящий сервер — источник, с которым синхронизируются подчиненные серверы. Там, где это возможно, серверы могут располагаться на всем протяжении территориально разнесенной сети, чтобы обеспечивать наилучшее качество подключения для всех клиентских компьютеров. Следующий рисунок показывает пример нескольких серверов WSUS с внутренней синхронизацией.
Как установить WSUS с SQL базой в Windows Server 2012R2-25
Выбираем синхронизироваться с Центром обновления Microsoft
Как установить WSUS с SQL базой в Windows Server 2012R2-26
Если есть прокси, то указываем настройки
Как установить WSUS с SQL базой в Windows Server 2012R2-27
Нажимаем Начать подключение
Как установить WSUS с SQL базой в Windows Server 2012R2-28
Как установить WSUS с SQL базой в Windows Server 2012R2-29
Выбираем язык или языки обновления которых вы будите скачивать
Как установить WSUS с SQL базой в Windows Server 2012R2-30
Далее вам нужно выбрать для каких продуктов вы будите скачивать обновления
Как установить WSUS с SQL базой в Windows Server 2012R2-31
Теперь выбираем классы обновления, я советую выбрать все
Как установить WSUS с SQL базой в Windows Server 2012R2-32
На следующем шаге нужно выбрать как будет происходить синхронизация, либо вручную либо автоматическая по времени
Как установить WSUS с SQL базой в Windows Server 2012R2-33
Начнем первоначальную синхронизацию
Как установить WSUS с SQL базой в Windows Server 2012R2-34
Как установить WSUS с SQL базой в Windows Server 2012R2-35
Перед вами откроется оснастка WSUS в ней сразу увидите сводку о состоянии инфраструктуры
Как установить WSUS с SQL базой в Windows Server 2012R2-36
Видим началась синхронизация и скачивание обновлений
Как установить WSUS с SQL базой в Windows Server 2012R2-37
Обратите внимание что создались две папки для обновлений WsusContent и UpdateServicesPackages.
Как установить WSUS с SQL базой в Windows Server 2012R2-38
Вот так вот просто установить WSUS с SQL базой в Windows Server 2012R2. Далее читайте как настроить WSUS в Windows Server 2012R2.
Настройка Internet Information Server
Чтобы прибавить процессу память, запустите оснастку IIS и откройте Advanced settings:
Установите в качестве лимита 0.
Очистка базы
В консоли WSUS можно запустить «Server Cleanup Wizard». Главный секрет в том, что запускать его надо регулярно, не реже одного раза в месяц.
Одобрили свежую пачку обновлений — очистите сервер. Если этого не делать, мастер прекращает нормально работать. После запуска он висит несколько часов, после чего консоль падает с ошибкой.
Для начала можно попробовать запускать каждый пункт по отдельности, сверху вниз:
Если это не помогает, надо выполнить очистку напрямую в базе. Для этого необходимо подключиться к экземпляру SQL Server инструментом Management Studio. Management Studio стала отдельным продуктом. Его можно скачать по этой ссылке.
Если вы используете Windows Internal Database, необходимо поставить Management Studio на сервер с WSUS. Для подключения к экземпляру используется строка:
Для очистки базы выполните 4 волшебные команды:
Для команды spCompressUpdate используется «обёртка»:
Такая же обертка для spDeleteUpdate:
Во время работы «обёрток» клиенты прекращают получать обновления. Вы можете в любой момент прервать выполнение скрипта без потери прогресса. Для того, чтобы продолжить процесс, не забудьте удалить временную таблицу:
В мастере очистки 5 команд, мы вполнили 4 из них. Команду «Delete computers not contacting server» следует выполнить из мастера.
Переиндексация базы
Для переиндексации базы используйте следующий скрипт:
Настройка TempDB
As a general rule, if the number of logical processors is less than or equal to 8, use the same number of data files as logical processors. If the number of logical processors is greater than 8, use 8 data files and then if contention continues, increase the number of data files by multiples of 4 (up to the number of logical processors) until the contention is reduced to acceptable levels or make changes to the workload/code.
Эту рекомендацию не следует игнорировать. Я останавливаюсь на четырех файлах. Начальный размер файлов должен быть одинаковым. После этого ожидания, как правило, исчезают.
Читайте также: