Вспомнились прыжки с бубном вокруг компьютера, потому решил законспектировать раз и навсегда производимые действия. А-то постоянно что-нибудь забываю…

Постановка задачи: Установить MSSQL Express для личных целей. MSSQL должен подцепить существующую БД, обеспечивая функцию полнотекстового поиска, и допускать соединения через TCP/IP. При всём при этом желательно затратить минимум времени на поиск ответа, почему та или иная часть требуемого не работает.

  1. Скачиваем SQL Server 2005 Express Edition with Advanced Services SP2 (У меня правда уже есть английская версия, без сервис-паков, потому ориентироваться буду на неё)
  2. Установка:
    1. На странице «Registration Information» снимаем галку с «Hide advanced configuration options»
    2. На странице «Feature Selection» мне требуются следующие дополнительные опции:
      • Full-text search
      • Connectivity Components
      • Management Studio Express
    3. На странице «Instance Name» выбираем «Default instance»
    4. На странице «Service Account» дополнительно ставим запуск сервиса «SQL Browser»
    5. На странице «Authentication Mode» выбираем «Mixed mode» и выставляем пароль для пользователя sa
  3. Настройка:
    Запускаем SQL Server 2005 Surface Area Configuration, пункт «Surface Area Configuration for Services and Connections» ветвь «MSSQLSERVERDatabase EngineRemote Connections» — Ставим «Local and remote connectionsUsing TCP/IP only», перезапускаем сервер.
  4. Импорт БД:
    Запускаем командную строку
    1
    osql -S 127.0.0.1 -U sa -P <font color="red">пароль из пункта 2.5</font>

    И пишем простой SQL-запрос

    1
    2
    3
    4
    5
    6
    7
    USE [master]
    GO
    CREATE DATABASE <font color="red">[ИмяБазыДанных]</font> on
    ( filename = N'<font color="red">Диск</font>:\<font color="red">Путь</font>\<font color="red">к</font>\<font color="red">существующей</font>\<font color="red">базе</font>\<font color="red">данных</font>\<font color="red">ИмяФайлаСДанными</font>.MDF' ),
    ( filename = N'<font color="red">Диск</font>:\<font color="red">Путь</font>\<font color="red">к</font>\<font color="red">существующей</font>\<font color="red">базе</font>\<font color="red">данных</font>\<font color="red">ИмяФайлаСЛогами</font>.LDF' )
    FOR ATTACH ;
    GO

В случае, если полетел каталог полнотекстового поиска:

1
2
3
4
5
exec sp_fulltext_catalog '<font color="red">ИмяКаталога</font>', 'drop'
exec sp_fulltext_database 'enable'
CREATE FULLTEXT CATALOG <font color="red">ИмяКаталога</font> AS DEFAULT;
CREATE FULLTEXT INDEX ON <font color="red">Таблица</font>(<font color="red">КолонкаТаблицы</font>) KEY INDEX PK_<font color="red">Таблица</font>;
GO

В целом, после всех этих телодвижений MSSQL заработал должным образом. Можно, например, открыть в блокноте файл

1
%windir%\system32\drivers\etc\hosts

И дописать

1
127.0.0.1       mysampledomain.example

Тогда можно будет логиниться к своему серверу как к mysampledomain.example