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
- в Windows Server 2008 / R2 —
Для подключения через sqlcmd.exe следует выполнить такую команду:
sqlcmd -S \\.\pipe\MICROSOFT##WID\tsql\query –E
Как удалить базу WID
После удаления роли Windows, которая использует базу Windows Internal Database, сам инстанс SQL с базой WID не удаляется, причем инструментов для ее удаление в системе нет. Деинсталлировать базу Windows Internal Database можно только при помощи Windows Installer.
Для удаления базы WID на Windows Server 2008 нужно:
- на 32 битной системе:
msiexec /x {CEB5780F-1A70-44A9-850F-DE6C4F6AA8FB} callerid=ocsetup.exe
- на 64 битной системе:
msiexec /x {BDD79957-5801-4A2D-B09E-852E7FA64D01} callerid=ocsetup.exe
В Windows Server 2012 базу WID можно удалить гораздо проще — с помощью Powershell:
Remove-WindowsFeature Windows-Internal-DB
Сами файлы базы данных (.mdb и .ldb) придется удалить вручную – пути к ним указаны в начале статьи.
Определить версию установленную версию WID можно по файлу:
- Для Windows Server 2008: %WINDIR%\SYSMSI\SSEE\MSSQL.2005\MSSQL\LOG
- Для Windows Server 2012: %WINDIR%\WID\Log\error.log
Содержит он примерно такую информацию:
2014-03-22 12:38:11.11 Server Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Windows Internal Database (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
2014-03-22 12:38:11.12 Server (c) Microsoft Corporation.
2014-03-22 12:38:11.12 Server All rights reserved.
2014-03-22 12:38:11.12 Server Server process ID is 1644.
2014-03-22 12:38:11.12 Server System Manufacturer: 'VMware, Inc.', System Model: 'VMware Virtual Platform'.
2014-03-22 12:38:11.14 Server Authentication mode is WINDOWS-ONLY.
2014-03-22 12:38:11.14 Server Logging SQL Server messages in file 'C:\Windows\WID\Log\error.log'.
2014-03-22 12:38:11.14 Server The service account is 'NT SERVICE\MSSQL$MICROSOFT##WID'. This is an informational message; no user action is required.
2014-03-22 12:38:11.14 Server Registry startup parameters:
-w 65535
-T 1617
-K
-e C:\Windows\WID\Log\error.log
-l C:\Windows\WID\Data\mastlog.ldf
-d C:\Windows\WID\Data\master.mdf