Адміністрування 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 користувачам не доступна.

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

Основні особливості Windows Internal Database:

  • База даних WID передбачає тільки локально використання, віддалено до неї підключитися не вийде
  • Відсутні обмеження на розмір файлів БД (на відміну від тієї ж редакції SQL Express)
  • Не вимагає для свого використання ліцензії.

Управління базою Windows Internal Database

За задумом розробників база WID призначена тільки для консольної або скриптовой установки, а всі операції з нею повинні виконуватися через командний рядок. Але на щастя базою WID можна управляти і через GUI за допомогою SQL Management Studio.

Для цього потрібно:

  1. Завантажити та встановити SQL Server Management Studio Express 2012 (входить до складу Microsoft SQL Server 2012 Express, але її можна завантажити і окремо, вибравши ENU \ x64 \ SQLManagementStudio_x64_ENU.exe)
  2. Запустити консоль Management Studio з правами адміністратора
  3. Підключитися до бази, вказавши таке ім'я сервера:
    • в Windows Server 2008 / R2  - \\. \ Pipe \ mssql $ microsoft ## ssee \ sql \ query
    • в Windows Server 2012 / R2 - \\. \ Pipe \ MICROSOFT ## WID \ tsql \ query

Для підключення через 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