SQL Server Express хоть и бесплатен, но обладает некоторыми недостатками. Мне кажется для разработчика один из главных - это то, что он не соответствеут боевым условиям. Ведь мало кто использует Express версию в production. Поэтому разработчики часто ставят SQL Server Developer Edition (опустим вопрос о лицензировании). Вот только тут появляются новые проблемы: скачал новый starter kit, а он в качестве СУБД использует SQL Server Expres. Не ставить же его из-за этого? Хотя можно и поставить...  Но я для себя выбрал другой путь: подключить эту базу к полноценному MS SQL серверу.

 Что мы имеем:

  • Файлы базы данных:
    Localization.mdf и Localization_log.ldf;
  • Приложение, которое использует эту базу данных, подключаемую таким обрахом:
    connectionString="server=(local)\SQLExpress;AttachDbFileName=|DataDirectory|Localization.mdf;Integrated Security=true;User Instance=true".

Исправляем этот недостаток.

Шаг 1.  Подключаем базу к SQL Server Developer Edition (в примере я использую 2005-ю версию, но всё это работект и на SQL Server 2008).

 



Далее под полем "Databases to attach" нажимаем на кнопу Add и указываем свой файл Localization.mdf. Нажимаем ОК.

 



Теперь наша база данных подключена к SQL Server Developer Edition.

Также все вышесказанное можно сделать с помощю SQL скрипта:

USE [master]
GO
CREATE DATABASE Localization ON
( FILENAME = N'D:\db\Localization.mdf' ),
( FILENAME = N'D:\db\Localization_log.ldf' )
 FOR ATTACH
GO
IF exists (SELECT name FROM master.sys.databases sd WHERE name = N'Localization' and SUSER_SNAME(sd.owner_sid) = SUSER_SNAME() ) EXEC [D:\db\NEW\LOCALIZATION_sql.MDF].dbo.SP_CHANGEDBOWNER @loginame=N'user', @MAP=FALSE
GO
 

 

Шаг 2. Меняем ConnectionString.

connectionString="Data Source=localhost;Initial Catalog=Localization;User ID=user;Password=password"

Шаг 3. Запускаем наше приложение.


Comments are closed