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 користувачам не доступна.
Примітка. Для великих продуктивних середовищ Microsoft рекомендує розміщувати інфраструктурні БД на повноцінному інстанси SQL. WID - рекомендується використовувати в невеликих організаціях, тестових середовищах (або "від бідності", при високій ліцензійної навантаженням "старших" версій SQL Server).Основні особливості 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 (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