MS SQL Server в .NET
MS SQL Server — одна из наиболее популярных систем управления базами данных, а при работе с фреймворком .NET, возможно, наиболее часто выбираемая СУБД. И в этой части руководства рассмотрим подключение к MS SQL Server.
Строка подключения для MS SQL Server
Для работы с MS SQL Server естественно нам потребуется MS SQL Server. Можно выбрать как полноценный MS SQL Server (в весиях Enterprise, Developer), так и MS SQL Server Express.
Про установку MS SQL Server в выпусках Developer или Express можно почитать в статье Установка MS SQL Server
Также можно использовать специально предназначенный для целей разработки и тестирования легковесный движок MS SQL Server Express LocalDB, про установку которого можно почитать в статье Установка SQL Server Express LocalDB.
Вначале необходимо определить строку подключения, которая содержит набор параметров сервера MS SQL Server. Строка подключения представляет набор параметров в виде пар ключ=значение , которые отделяются друг от друга точкой с запятой.
Прежде всего, определение строки подключения зависит от типа подключения: либо мы подлючаемся по логину и паролю, либо мы используем доверенное подключение (trusted connection), где не требуются логин и пароль (например, при подключении к локальному серверу SQL Server).
Если подключение производится по логину и паролю, то общий вид строки подключения выглядит следующим образом:
Server=адрес_сервера;Database=имя_базы_данных;User >В данном случае строка подключения состоит из четырех параметров:
- Server : указывает на название сервера
- Database : указывает на название базы данных на сервере
- User Id : логин
- Password : пароль
Если мы используем так называемое доверенное подключение (trusted connection) и применяем аутентификацию Windwows, например, при подключении к локальному серверу, который запущен на том же компьютере, то строка подключения в общем виде выглядит следующим образом:
Server=адрес_сервера;Database=имя_базы_данных;Trusted_Connection=True;
Вместо параметров User Id и Password , здесь применяется параметр Trusted_Connection=True . Значение True указывает, что будет применяться аутентификация на основе учетных записей Windows.
Список основных параметров строки подключения, которые могут использоваться:
- Application Name : название приложения. Может принимать в качестве значения любую строку. Значение по умолчанию: «.Net SqlClient Data Provide»
- AttachDBFileName : хранит полный путь к прикрепляемой базе данных
- Connect Timeout : временной период в секундах, через который ожидается установка подключения. Принимает одно из значений из интервала 0–32767. По умолчанию равно 15. В качестве альтернативного названия параметра может использоваться Connection Timeout
- Server : название экземпляра SQL Servera, с которым будет идти взаимодействие. Это может быть название локального сервера, например, «./SQLEXPRESS», «localhost», либо сетевой адрес. В качестве альтернативного названия параметра можно использовать Data Source , Address , Addr и NetworkAddress
- Encrypt : устанавливает шифрование SSL при подключении. Может принимать значения true , false , yes и no . По умолчанию значение false
- Database : хранит имя базы данных В качестве альтернативного названия параметра можно использовать Initial Catalog
- Trusted_Connection : задает режим аутентификации. Может принимать значения true , false , yes , no и sspi . По умолчанию значение false Если значение true , то для аутентификации будет использоваться текущая учетная запись Windows. Подходит для подключения к локальному серверу. В качестве альтернативного названия параметра может использоваться Integrated Security
- Packet Size : размер сетевого пакета в байтах. Может принимать значение, которое кратно 512. По умолчанию равно 8192
- Persist Security Info : указывает, должна ли конфиденциальная информация передаваться обратно при подключении. Может принимать значения true , false , yes и no . По умолчанию значение false
- Pooling : если значение равно true , любое новое подключение при его закрытии добавляется в пул подключений. В следующий раз при создании такого же подключения (которое имеет ту же самую строку подключения) оно будет извлекаться из пула. Может принимать значения true , false , yes и no . По умолчанию значение true
- Workstation ID : указывает на рабочую станцию — имя локального компьютера, на котором запущен SQL Server
- Password : пароль пользователя
- User ID : логин пользователя
В данном случае мы будем использовать к локальному серверу. Если мы подключаемся к полноценному серверу MS SQL Server (например, версия Developer Edition), то в качестве адреса сервера, как правило, выступает localhost :
string connectionString = "Server=localhost;Database=master;Trusted_Connection=True;"; // альтернатива // string connectionString = "Server=.;Database=master;Trusted_Connection=True;";
Если установлен MS SQL Server Express , то адрес сервера — «.\SQLEXPRESS»
string connectionString = "Server=.\SQLEXPRESS;Database=master;Trusted_Connection=True;";
Для подключения к localdb применяется адрес (localdb)\mssqllocaldb :
string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True"
Sqllocaldb как проверить работу
Кроме полноценного MS SQL Server в версиях Developer или Express мы также можем установить облегченную легковесную версию SQL Server Express — движок LocalDB , который предназначен специально для целей разработки. Например, LocalDB может применяться для разработки программ на различных языках программирования для тестирования их работы с базой данных MS SQL Server, когда нет необходимости в большинстве возможностей стандартного MS SQL Server. И в этих условиях естественно проще установить небольшой легковесный движок, чем полноценный MS SQL Server.
Формально SQLLocalDB представляет компонент MS SQL Server Express, тем не менее есть несколько вариантов, как можно установить LocalDB.
Установка через программу усстановки SQL Server Express
Первый вариант представляет установка LocalDB через программу усстановки SQL Server Express. Так, загрузим с адреса https://www.microsoft.com/en-us/sql-server/sql-server-downloads установщик для SQL Server Express. На стартовом экране установщика выберем пункт «Скачать носитель»:

Нам откроется окно для выбора компонентов для установки. Выберем на нем пункт LocalDB :

После нажатия на кнопку «Скачать» в указанную в окне папку будет загружен файл SqlLocalDB.msi . И после запуска этого файла будет установлен LocalDB.
Установка через мастер установки Visual Studio
Если вы вдруг работаете с Visual Studio, в частности, с платформой ASP.NET, то вы можете установить LocalDB через программу установки Visual Studio. В частности, на вкладке «Отдельные компоненты» можно выбрать соответствующий пункт (конкретная версия LocalDB может отличаться):

Подключение к LocalDB
После установки LocalDB к этой версии SQL Server также можно подключиться из SQL Server Management Studio. Для этого при запуске программы в окне подключения к серверу в поле «Server name» в качестве имени сервера необходимо указать (localdb)\MSSQLLocalDB

Если в этом поле выпадающий список не содержит «(localdb)\MSSQLLocalDB», однако LocalDB тем не менее был ранее установлен, то можно просто ввести в это поле «(localdb)\MSSQLLocalDB».
И после этого мы сможем работать с LocalDB в SQL Server Management Studio в рамках установленых для этого движка ограничений:
Скачать Microsoft SQL Server Express LocalDB (x86/x64)
Для работы с программами ДНД Софт Вы можете использовать бесплатный Microsoft SQL Server Express LocalDB . Express LocalDB — SQL Server Express выпуск без сетевых возможностей ( Express LocalDB не позволяет подключаться к БД по локальной сети). Этой версии полностью хватает для работы в нашей программе (ДНД ЭТЛ Профессионал .Нет и др.) на локальном ПК. Преимуществ у LocalDB два — это быстрая установка и маленький размер программы, что позволит сильно сэкономить место на жестком диске.
Если нужно чтобы к БД подключались и работали сразу с нескольких ПК по сети, то можно использовать бесплатный Microsoft SQL Server Express выпуск. Express выпуск — обрезанная версия платных версий. Основное отличие от платных версий — это ограниченный размер БД в 8 ГБ (для наших программ этого хватит на примерно 7-20 лет, если размер БД закончится, то можно будет создать новую БД). Перейти к загрузке и установке Microsoft SQL Server Express →
Теперь поговорим об установке LocalDB на Вашу операционную систему. Сначала Вам надо будет определить разрядность операционной системы, которую можно посмотреть в параметрах системы, см. рисунок 1.

Если у Вас 64-разрядная Windows 7, то скачайте и становите этот дистрибутив:
Если у Вас 64-разрядная Windows 8 (8.1) , то скачайте и становите этот дистрибутив:
Если у Вас 64-разрядная Windows 10 — 11 , то скачайте и становите этот дистрибутив:
Если у Вас 32-разрядная (x86) операционная система Windows 7 — 10, то устанавливайте версию SQL LocalDB 2014 x86. SQL LocalDB версии 2016 и выше уже не поддерживают 32-битные операционные системы.
В некоторых случаях при установке дистрибутива SQL LocalDB 2019 (или 2022) установщик останавливается на запуске служб и дальше установка не идет. В этом случае рекомендуем устанавливать 2017 или 2016 дистрибутивы SQL LocalDB:
После установки СУБД SQL Server LocalDB, вы можете использовать его в наших программах для создания базы данных. Для этого в реквизите «Выберите экземпляр SQL Server» введите «(localdb)\MSSQLLocalDB» и выберите Windows Аутентификацию. MSSQLLocalDB — это экземпляр который создается по умолчанию при установке LocalDB. См. рисунок 2.

Если у Вас возникли проблемы с работой SQL Server LocalDB, то запустите командную строку от имени администратора (как запустить командную строку от имени администратора →). В строке введите следующую команду:
Должен появится список всех экземпляров, в этом списке должен быть экземпляр MSSQLLocalDB. Если его нет или выводятся ошибки, то пересоздайте экземпляр командами:
SqlLocalDB.exe stop MSSQLLocalDB
SqlLocalDB.exe delete MSSQLLocalDB
SqlLocalDB.exe create MSSQLLocalDB
SqlLocalDB.exe start MSSQLLocalDB
После этой операции попробуйте снова команду:
Проверьте присутствует ли экземпляр MSSQLLocalDB и если он там есть, то пробуйте использовать его для создания БД в наших программах.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Как решить проблему при подключении к sql server(ADO.NET)?
Connection string: Data Source=(localdb)\mssqllocaldb;Initial Catalog=SimpleLogin;Integrated Security=True;Pooling=False.
На моем компе все работает, но при запуске на другом компе выходит следующая ошибка:
«При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: SQL Network Interfaces, error: 52 — Не найден компонент Local Database Runtime. Проверьте, что сервер SQL Server Express правильно установлен и использование компонента Local Database Runtime включено»
Я так понимаю что чтобы решить проблему, мне необходимо проверить установлен ли в системе Microsoft sql server local db и если нет, установить его?
- Вопрос задан более трёх лет назад
- 2221 просмотр
Комментировать
Решения вопроса 2

Константин Цветков @tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
мне необходимо проверить
Да. На другом компьютере должна быть LocalDB. Документация.
что чтобы решить проблему
Вам нужно создать пакет установки.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
idedize @idedize Автор вопроса
Мне было необходимо, чтобы приложение хранило данные и работало без предварительной установки. Заменил Sql Server на Sqlite
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 1

Владимир Коротенко @firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Установите
SQL Server Express
Или измените строку на
Data Source=MSSQL_SERVER_NAME;Initial Catalog=SimpleLogin;Integrated Security=True;Pooling=False