- Windows Internal Database – управление и удаление
- Администрирование Windows Internal Database
- Управление базой Windows Internal Database
- Как удалить базу WID
- Миграция базы данных WSUS из WID в SQL Migrating the WSUS Database from WID to SQL
- Предварительные требования Prerequisites
- Миграция базы данных WSUS Migrating the WSUS database
- Останавливает службы IIS и WSUS на сервере WSUS Stop the IIS and WSUS services on the WSUS server
- Отсоединение SUSDB от внутренней базы данных Windows Detach SUSDB from the Windows Internal Database
- Использование SQL Management Studio Using SQL Management Studio
- Использование командной строки Using Command Prompt
- Скопируйте файлы SUSDB в SQL Server Copy the SUSDB files to the SQL Server
- Присоединение SUSDB к экземпляру SQL Attach SUSDB to the SQL Instance
- Проверка SQL Server и имен входа и разрешений базы данных Verify SQL Server and Database Logins and Permissions
- SQL Server разрешения для входа SQL Server Login Permissions
- Разрешения базы данных Database Permissions
- Измените реестр, чтобы указать WSUS на экземпляр SQL Server Edit the registry to point WSUS to the SQL Server Instance
- Запуск служб IIS и WSUS на сервере WSUS Start the IIS and WSUS services on the WSUS server
- Удаление роли WID (не рекомендуется) Uninstalling the WID role (not recommended)
Windows Internal Database – управление и удаление
На курсах Sharepoint часто возникают вопросы касательно Windows Internal Database (WID).
Что такое Windows Internal Database?
При локальной, чаще всего тестовой, установке таких продуктов как Windows Sharepoint Services 3.0, WSUS, AD RMS в качестве базы данных используется встроенная база Windows Server 2003/2008 – Windows Internal Database (WID). Эта база пришла на смену WMSDE и представляет собой специальный вариант базы SQL Server Express с измененными свойствами. В частности, она может использоваться только локально и только теми приложениями, с которыми она поставляется. Также она не имеет ограничений на размер файлов. Соответственно, для обычного применения она не годится.
Как управлять Windows Internal Database?
Для этого надо установить Management Studio Express (MMSE) нужной версии и подключиться к экземпляру сервера MICROSOFT#SSEE. В качестве протокола (Network Protocol) при регистрации экземпляра в MMSE надо обязательно указать Named Pipes, т.к. WID работает только через него. Параметры подключения:
- Server name: ‘\\.\pipe\mssql$microsoft##ssee\sql\query’
- Server Type: Database Engine
- Authentication: Windows Authentication
- options -> network protocol: Named Pipes
Для подключения через sqlcmd.exe выполните такую команду:
sqlcmd -S \\.\pipe\MSSQL$MICROSOFT##SSEE \sql\query –E
Как удалить Windows Internal Database?
Если вы удалили какой-то сервер, который использовал WID, то WID по умолчанию не удаляется, и при этом она недоступна через Add or Remove Programs. Если WID вам больше не нужна, вы можете ее удалить, напрямую вызвав msiexec с ключами
Удаление приложения обычно не удаляет файлы базы .mdb и .ldb, которые расположены в папке %windir%\SYSMSI\SSEE. Их можно удалить вручную.
Что нужно делать с Windows Internal Database?
Обычно над WID выполняют операции бэкапа, перемещения и сжатия файлов. Хотя можно делать и другие операции, но надо быть осторожными, т.к. непродуманные действия могут нарушить работу тех серверов, которые обслуживает WID. Потому, будьте разумны и аккуратны)).
Администрирование Windows Internal Database
Windows Internal Database (WID) представляет собой «облегченной» базу данных SQL, основанную на SQL Server Express. Windows Internal Database предлагается в качестве бесплатной базы данных SQL, которую можно использовать в различных продуктах Microsoft (или сторонних разработчиков) в качестве легкого и бесплатного SQL- решения для хранения данных. В частности, WID может использоваться SharePoint или таким ролями Windows Server, как WSUS, ADRMS, ADFS, Connection Broker и т.п.
Windows Internal Database включается в состав серверных ОС Window, начиная с версии Windows Server 2008. В Windows 2008 независимо от разрядности доступна только 32 битная версия WID (устанавливается в C:\Program Files (x86)\Microsoft SQL Server), в Windows Server 2012 версия WID — 64-битная (база находится в каталоге C:\Windows\WID). В качестве отдельного продукта Windows Internal Database пользователям не доступна.
Основные особенности Windows Internal Database:
- База данных WID предполагает только локально использование, удаленно к ней подключиться не получится
- Отсутствуют ограничения на размер файлов БД (в отличии от той же редакции SQL Express)
- Не требует для своего использования лицензии.
Управление базой Windows Internal Database
По задумке разработчиков база WID предназначена только для консольной или скриптовой установки, а все операции с ней должны выполняться через командную строку. Но к счастью базой WID можно управлять и через GUI с помощью SQL Management Studio.
Для этого нужно:
- Скачать и установить SQL Server Management Studio Express 2012 (входит в состав Microsoft SQL Server 2012 Express, но ее можно скачать и отдельно, выбрав ENU\x64\SQLManagementStudio_x64_ENU.exe)
- Запустить консоль Management Studio с правами администратора
- Подключится к базе, указав следующее имя сервера:
- в Windows Server 2008 / R2 — \\.\pipe\mssql$microsoft##ssee\sql\query
- в Windows Server 2012 / R2 — \\.\pipe\MICROSOFT##WID\tsql\query
Для подключения через sqlcmd.exe следует выполнить такую команду:
Как удалить базу WID
После удаления роли Windows, которая использует базу Windows Internal Database, сам инстанс SQL с базой WID не удаляется, причем инструментов для ее удаление в системе нет. Деинсталлировать базу Windows Internal Database можно только при помощи Windows Installer.
Для удаления базы WID на Windows Server 2008 нужно:
- на 32 битной системе:
- на 64 битной системе:
В Windows Server 2012 базу WID можно удалить гораздо проще — с помощью Powershell:
Сами файлы базы данных (.mdb и .ldb) придется удалить вручную – пути к ним указаны в начале статьи.
Определить версию установленную версию WID можно по файлу:
Миграция базы данных WSUS из WID в SQL Migrating the WSUS Database from WID to SQL
Область применения: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 Applies to: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016
Выполните следующие действия, чтобы перенести базу данных WSUS (SUSDB) из экземпляра внутренней базы данных Windows на локальный или удаленный экземпляр SQL Server. Use the following steps to migrate the WSUS database (SUSDB) from a Windows Internal Database instance to a Local or Remote instance of SQL Server.
Предварительные требования Prerequisites
- Экземпляр SQL. SQL Instance. Это может быть MSSQLServer или пользовательский экземпляр по умолчанию. This can be the default MSSQLServer or a custom Instance.
- SQL Server Management Studio. SQL Server Management Studio
- WSUS с установленной ролью WID WSUS with WID role installed
- IIS (обычно это включается при установке WSUS с помощью диспетчер сервера). IIS (This is normally included when you install WSUS through Server Manager). Она еще не установлена, она должна быть. It is not already installed, it will need to be.
Миграция базы данных WSUS Migrating the WSUS database
Останавливает службы IIS и WSUS на сервере WSUS Stop the IIS and WSUS services on the WSUS server
В PowerShell (с повышенными правами) выполните: From PowerShell (elevated), run:
Отсоединение SUSDB от внутренней базы данных Windows Detach SUSDB from the Windows Internal Database
Использование SQL Management Studio Using SQL Management Studio
- Щелкните правой кнопкой мыши SUSDB — >задачи и — > выберите пункт отсоединить:
задачи > отсоединить.» data-linktype=»relative-path»/> Right-click SUSDB ->Tasks -> click Detach:
Tasks > Detach option selected.» data-linktype=»relative-path»/>
- Установите флажок Удалить существующие подключения и нажмите кнопку ОК (необязательно, если существуют активные соединения). Check Drop Existing Connections and click OK (optional, if active connections exist).
Использование командной строки Using Command Prompt
В этих шагах показано, как отключить базу данных WSUS (SUSDB) из экземпляра внутренней базы данных Windows с помощью программы sqlcmd . These steps show how to detach the WSUS database (SUSDB) from the Windows Internal Database instance by using the sqlcmd utility. Дополнительные сведения о программе sqlcmd см. в разделе программа sqlcmd. For more information about the sqlcmd utility, see sqlcmd Utility.
- Откройте командную строку с повышенными привилегиями Open an elevated command prompt
- Выполните следующую команду SQL, чтобы отключить базу данных WSUS (SUSDB) из экземпляра внутренней базы данных Windows с помощью программы sqlcmd : Run the following SQL command to detach the WSUS database (SUSDB) from the Windows Internal Database instance by using the sqlcmd utility:
Скопируйте файлы SUSDB в SQL Server Copy the SUSDB files to the SQL Server
- Скопируйте SUSDB. mdf и SUSDB _ log. ldf из папки данных WID (% systemdrive% \ данных Windows \ WID \) в папку данных экземпляра SQL. Copy SUSDB.mdf and SUSDB_log.ldf from the WID Data Folder (%SystemDrive%\Windows\WID\Data) to the SQL Instance Data Folder.
Например, если папка экземпляра SQL — C:\Program FILES\MICROSOFT SQL Server\MSSQL12. МССКЛСЕРВЕР\МССКЛ, а папка данных WID — к:\виндовс\вид\дата, скопируйте файлы SUSDB из К:\виндовс\вид\дата в папку C:\Program Files\Microsoft SQL Server\MSSQL12. Мссклсервер\мсскл\дата For example, if your SQL Instance Folder is C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL, and the WID Data folder is C:\Windows\WID\Data, copy the SUSDB files from C:\Windows\WID\Data to C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data
Присоединение SUSDB к экземпляру SQL Attach SUSDB to the SQL Instance
- В SQL Server Management Studio в узле экземпляр щелкните правой кнопкой мыши узел базы данных и выберите команду присоединить. In SQL Server Management Studio, under the Instance node, right-click Databases, and then click Attach.
базы данных».» data-linktype=»relative-path»/>
Attach option selected.» data-linktype=»relative-path»/>
- В поле Присоединение баз данных в разделе базы данных для присоединения нажмите кнопку добавить , найдите файл SUSDB. mdf (скопированный из папки WID) и нажмите кнопку ОК. In the Attach Databases box, under Databases to attach, click the Add button and locate the SUSDB.mdf file (copied from the WID Folder), and then click OK.
Это также можно сделать с помощью Transact-SQL. This is also able to be done using Transact-Sql. Дополнительные сведения о присоединении базы данных см. в документации по SQL. Please see the SQL documentation for attaching a database for its instructions.
Пример (использование путей из предыдущего примера): Example (using paths from previous example):
Проверка SQL Server и имен входа и разрешений базы данных Verify SQL Server and Database Logins and Permissions
SQL Server разрешения для входа SQL Server Login Permissions
После подключения SUSDB убедитесь, что NT Authority\Network Service имеет разрешения на вход в экземпляр SQL Server, выполнив следующие действия. After attaching the SUSDB, verify that NT AUTHORITY\NETWORK SERVICE has login permissions to the instance of SQL Server by doing the following:
- Переход к SQL Server Management Studio Go into SQL Server Management Studio
- Открытие экземпляра Opening the Instance
- Щелкните Безопасность . Click Security
- Щелкните имена входа Click Logins
Должна быть указана учетная запись NT Authority\Network Service . The NT AUTHORITY\NETWORK SERVICE account should be listed. Если это не так, необходимо добавить новое имя для входа. If it is not, you need to add it by adding New Login Name.
Если экземпляр SQL находится на другом компьютере из служб WSUS, учетная запись компьютера сервера WSUS должна быть указана в формате [FQDN] \ [всускомпутернаме] $. If the SQL Instance is on a different machine from WSUS, the WSUS Server’s computer account should be listed in the format [FQDN]\[WSUSComputerName]$. В противном случае можно использовать приведенные ниже шаги, чтобы добавить его, заменив NT Authority\Network Service учетной записью компьютера сервера WSUS ([FQDN] \ [всускомпутернаме] $) это будет Дополнительно к_ предоставлению прав на _* NT Authority\Network Service* . If not, the steps below can be used to add it, replacing NT AUTHORITY\NETWORK SERVICE with the WSUS Server’s computer account ([FQDN]\[WSUSComputerName]$**) This would be **in addition to_ granting rights to _* NT AUTHORITY\NETWORK SERVICE*
Добавление NT AUTHORITY\NETWORK SERVICE и предоставление ей прав доступа Adding NT AUTHORITY\NETWORK SERVICE and granting it rights
- Щелкните правой кнопкой мыши имена входа и выберите создать имя входа. Right Click Logins and click New Login…
новый вход.» data-linktype=»relative-path»/>
New Login option selected.» data-linktype=»relative-path»/>
- На странице Общие введите имя входа (NT Authority\Network Service) и задайте для базы данных по умолчанию значение SUSDB. On the General page, fill out the Login name (NT AUTHORITY\NETWORK SERVICE), and set the Default database to SUSDB.
- На странице роли сервера убедитесь, что выбраны Общие и sysadmin . On the Server Roles page, ensure public and sysadmin are selected.
- На странице Сопоставление пользователей : On the User Mapping page:
- В разделе Пользователи, сопоставленные с этим именем входа выберите SUSDB . Under Users mapped to this login: select SUSDB
- В разделе членство в роли базы данных для: SUSDB убедитесь, что установлены следующие флажки: Under Database role membership for: SUSDB, ensure the following are checked:
- publicpublic
- WebService
webService
- Нажмите кнопку ОК. Click OK
Теперь в разделе имена входа будет отображаться NT Authority\Network Service . You should now see NT AUTHORITY\NETWORK SERVICE under Logins.
Разрешения базы данных Database Permissions
- Щелкните правой кнопкой мыши SUSDB Right-click the SUSDB
- Выберите пункт Свойства. Select Properties
- Щелкните разрешения . Click Permissions
Должна быть указана учетная запись NT Authority\Network Service . The NT AUTHORITY\NETWORK SERVICE account should be listed.
Если это не так, добавьте учетную запись. If it is not, add the account.
В текстовом поле Login name (имя входа) введите компьютер WSUS в следующем формате: On the Login name textbox, enter the WSUS machine in the following format:
[Полное доменное имя] \ [Всускомпутернаме] $ [FQDN]\[WSUSComputerName]$
Убедитесь, что для базы данных по умолчанию задано значение SUSDB. Verify that the Default database is set to SUSDB.
В следующем примере полное доменное имя — Contosto.com , а имя машины WSUS — всусмачине: In the following example, the FQDN is Contosto.com and the WSUS machine name is WsusMachine:
На странице Сопоставление пользователей выберите базу данных SUSDB в разделе Пользователи, сопоставленные с этим именем входа . On the User Mapping page, select the SUSDB Database under Users mapped to this login
Проверьте веб- службу в разделе членство в роли базы данных для: SUSDB: Check webservice under the Database role membership for: SUSDB:
Нажмите кнопку ОК , чтобы сохранить параметры. Click OK to save settings.
Чтобы изменения вступили в силу, может потребоваться перезапустить службу SQL. You may need to restart the SQL Service for the changes to take effect.
Измените реестр, чтобы указать WSUS на экземпляр SQL Server Edit the registry to point WSUS to the SQL Server Instance
Внимательно выполните действия, описанные в этом разделе. Follow the steps in this section carefully. Неправильное изменение реестра может привести к серьезным проблемам. Serious problems might occur if you modify the registry incorrectly. Перед внесением изменений создайте резервную копию реестра для его восстановления в случае возникновения проблем. Before you modify it, back up the registry for restoration in case problems occur.
Нажмите кнопку Пуск, выберите пункт Выполнить, введите regedit и нажмите кнопку ОК. Click Start, click Run, type regedit, and then click OK.
Откройте следующий раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName Locate the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName
В текстовом поле значение введите [SERVERNAME] \ [имя_экземпляра] и нажмите кнопку ОК. In the Value text box, type [ServerName]\[InstanceName], and then click OK. Если имя экземпляра является экземпляром по умолчанию, введите [SERVERNAME]. If the instance name is the default instance, type [ServerName].
Откройте следующий раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabase Locate the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabase
Переименование раздела UpdateServices-Database Rename the Key to UpdateServices-Database
Если не обновить этот ключ, WsusUtil попытается обслуживать WID, а не экземпляр SQL, с которым был осуществлен перенос. If you do not update this key, then WsusUtil will attempt to service the WID rather than the SQL Instance to which you have migrated.
Запуск служб IIS и WSUS на сервере WSUS Start the IIS and WSUS services on the WSUS server
В PowerShell (с повышенными правами) выполните: From PowerShell (elevated), run:
Если вы используете консоль WSUS, закройте и перезапустите ее. If you are using the WSUS Console, close and restart it.
Удаление роли WID (не рекомендуется) Uninstalling the WID role (not recommended)
При удалении роли WID также удаляется папка базы данных (%systemdrive%\Program Files\Update сервицес\датабасе), содержащая скрипты, необходимые WSUSUtil.exe для выполнения задач, выполняемых после установки. Removing the WID role also removes a database folder (%SystemDrive%\Program Files\Update Services\Database) that contains scripts required by WSUSUtil.exe for post-installation tasks. Если вы решили удалить роль WID, убедитесь, что создана резервная копия папки %systemdrive%\Program Files\Update сервицес\датабасе . If you choose to uninstall the WID role, make sure you back up the %SystemDrive%\Program Files\Update Services\Database folder beforehand.
С помощью PowerShell: Using PowerShell:
После удаления роли WID убедитесь в наличии следующего раздела реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database After the WID role is removed, verify that the following registry key is present: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database