инстансы sql что это
SQL Server: именованный экземпляр и экземпляр по умолачнию
Андрей Васенин
Что называется именованным экземпляром (named instance) экземпляром по умолчанию (default instance) в СУБД Microsoft SQL Server? В чем разница между ними? Почему и когда следует их использовать? Давайте разберемся.
Согласно официальной документации Microsoft относительно разницы между именованным (named) и экземпляром по умолчанию (default instance) имеем следующее:
Клиентские приложения подключаются к экземпляру Microsoft SQL Server для работы с базой данных SQL Server. Каждый экземпляр SQL Server состоит из отдельного набора служб, которые могут иметь уникальные настройки. Структура каталогов, структура реестра и имя службы отражают имя конкретного экземпляра, которое вы идентифицируете (указываете) во время установки.
Именованный экземпляр идентифицируется сетевым именем компьютера плюс имя экземпляра, указанное во время установки. При подключении клиент должен указать имя сервера и имя экземпляра.
По умолчанию SQL Server устанавливается в экземпляре по умолчанию, если вы не укажете имя экземпляра. Однако SQL Server Express всегда устанавливается в именованном экземпляре, если вы не установили установку по умолчанию во время установки.
Таким образом, вы можете установить только один экземпляр по умолчанию (unnamed instance), либо же вы можете установить сколько угодно именованных экземпляров.
Многие сторонние программы обычно используют именованный экземпляр по умолчанию, хотя они могут и не упоминать об этом. Причина в том, что из приведенных выше ответов ясно, стандартные версии сервера устанавливают неименованный экземпляр по умолчанию, а экспресс-версия устанавливает именованный экземпляр по умолчанию.
Важно знать о различии с этой точки зрения, поскольку, если у вас есть 2 или 3 сервера баз данных, вы никогда не сможете подключиться к нужному. Поскольку стороннее программное обеспечение ищет экземпляр по умолчанию (default instance), пока вы думаете, что ПО ищет экземпляр для SQL EXPRESS версии (т.е. именованный), к которому он пытается подключиться. Это может значительно увеличить время устранения неполадок, если вы не знаете, как подключаться к именованному, и как подключаться к не именованному экземпляру.
Поэтому, если вы хотите подключиться к Named или Default instance, используйте следующие рекомендации:
Обратите внимание, что хотя экземпляр по умолчанию имеет имя, на его имя нельзя ссылаться по его имени!
Что такое экземпляр sql server?
Я разрабатываю приложение на C# в Visaul Studio 2015, которое работает с sql базой данной. Я программист самоучка, практик без какого-либо теоретического образования, все вопросы которые возникают просто гуглю, а тут бьюсь какую неделю и ни как не могу разобраться. Помогите, пожалуйста.
Была база данных sql и проект, по моему в 2012 студии. Базу данных делал в какой-то sql management studio, не помню какая версия. И вот пришлось вернуться к заводским настройкам компьютера и все, что было устанавливать заново. Установил 2015 Visual Studio, sql express 2014 и sql management studio 2014. Все устанавливал «по умолчанию» просто нажимал кнопку далее, так как мало что во всем этом понимаю. После запуска старого проекта в Visual Studio 2015, она видит файл базы данных, но с красным крестиком, и когда я нажимаю «проверить подключение» выдает ошибку:
«Значение источника данных в строке подключения указывает на неустановленный экземпляр SQL Server. Для устранения этой проблемы установите соответствующий экземпляр SQL Server или измените значение источника данных в строке подключения.»
что такое экземпляр SQL Server? как его узнать и как установить? я установил еще SQL Server 2012, но все равно выдает ошибку.
Заранее большое спасибо за помощь.
Скорей всего после установки у вас поменялся Хост или имя БД. Вам нужно найти в вашем коде описанные реквизиты и исправить их на корректные.
Значение источника данных в строке подключения указывает на неустановленный экземпляр SQL Server. Для устранения этой проблемы установите соответствующий экземпляр SQL Server или измените значение источника данных в строке подключения.
Ошибка ведь сама за себя говорит: когда пытаетесь открыть БД в студии, настройку подключения она «подхватывает» из файла app.config (web.config, если web-приложение). Сейчас, видимо, у вас указана неверная строка, которая ссылается на SQL Server другой версии.
Вот как примерно должен выглядеть параметр строки подключения:
В основном, обычно, в разных версиях SQL Server меняется только параметр «Data Source» в этой строке.
Создание базы данных Microsoft SQL Server и подключение к ней
с помощью Amazon RDS
Введение
Из этого учебного пособия вы узнаете, как создавать инстансы базы данных Microsoft SQL Server (они называются инстансы), подключаться к БД и удалять инстансы БД. Эти операции будут выполнены с помощью сервиса Amazon Relational Database Service (Amazon RDS). Все действия, описанные в данном учебном пособии, доступны на уровне бесплатного пользования.
Уровень бесплатного пользования
Управление ресурсами AWS
Реализация
Щелкните здесь, и в новом окне браузера откроется Консоль управления AWS. При этом руководство останется открытым. После загрузки экрана нажмите RDS в разделе База данных, чтобы открыть консоль Amazon RDS.
На этом шаге с помощью Amazon RDS будет создан инстанс БД Microsoft SQL Server класса db.t2.micro с хранилищем на 20 ГБ и активацией автоматического резервного копирования (срок хранения копий равен одному дню). Напоминаем, что все эти операции доступны на уровне бесплатного пользования.
a) В правом верхнем углу консоли Amazon RDS выберите регион, в котором требуется создать инстанс БД.
Примечание. Ресурсы AWS Cloud расположены в высокодоступных центрах обработки данных по всему миру. Вы можете самостоятельно выбирать регион, в котором будут работать ресурсы Amazon RDS.
б) В разделе создания базы данных выберите Create database.
в) Теперь можно выбрать ядро СУБД. Чтобы выполнить задание этого учебного пособия, щелкните значок Microsoft SQL Server. Выберите SQL Server Express Edition, оставьте указанные по умолчанию версию движка и лицензию без изменений и щелкните на шаблоне Уровень бесплатного пользования.
г) Теперь необходимо настроить инстанс БД. Примените перечисленные ниже настройки конфигурации:
д) Вы находитесь на странице Возможности подключения, где можно указать дополнительную информацию, необходимую RDS для запуска инстанса БД Microsoft SQL Server. Чтобы просмотреть примеры настроек для инстанса БД, разверните раскрывающееся окно ниже.
Сеть и безопасность
Дополнительная настройка подключения
В разделе Дополнительные настройки:
Настройки базы данных
Защита от удаления
Отключите параметр Включить защиту от удаления для выполнения заданий этого учебного пособия. Если этот параметр включен, базу данных невозможно удалить.
е) Идет создание инстанса БД. Щелкните View Your DB Instances (Просмотреть инстансы БД).
Примечание. В зависимости от класса инстанса БД и присвоенного ему хранилища, новый инстанс БД может стать доступным через несколько минут.
Новый инстанс БД появится в списке инстансов БД в консоли RDS. Пока инстанс БД не будет создан и готов к использованию, он будет иметь статус creating (создается). Когда статус изменится на available (доступен), к базе данных можно будет подключиться через инстанс БД.
Можно не дожидаться доступности инстанса БД и перейти к следующему этапу.
По завершении создания инстанса базы данных и изменения статуса на available (доступен) можно подключиться к базе данных через инстанс БД с помощью любого стандартного клиента SQL. На этом шаге будет выполнена загрузка Microsoft SQL Server Management Studio Express, популярного клиента для Microsoft SQL Server.
Примечание. SQL-клиент следует загрузить на то же устройство, с которого был создан инстанс БД с помощью RDS. Подключение к группе безопасности, к которой относится база данных, возможно только с того устройства, с помощью которого был создан инстанс БД.
б) Пользователю будет предложено зарегистрироваться на сайте Microsoft. Для загрузки это не обязательно. Чтобы пропустить регистрацию, выберите вариант Нет, я не хочу регистрироваться. Перейти к загрузкеи нажмите Далее во всплывающем модальном окне.
Затем выберите нужную версию SQL Management Studio и нажмите Далее, чтобы начать загрузку.
На этом шаге будет выполнено подключение к созданной базе данных с помощью SQL Server Management Studio.
а) После завершения загрузки установите и запустите программу. Откроется диалоговое окно. Укажите в нем следующие данные.
б) Подключение к базе данных выполнено. В SQL Server Management Studio будут отображаться различные объекты схем, присутствующие в базе данных. Теперь можно создавать таблицы, вставлять данные и делать запросы.
Операция удаления инстанса БД Microsoft SQL Server из консоли Amazon RDS очень проста. Рекомендуется удалять все неиспользуемые инстансы, чтобы за них не взималась плата.
б) Вам будет предложено сделать окончательный снимок состояния и подтвердить удаление. В нашем примере не нужно делать последний снимок экрана, просто подтвердите, что вы хотите удалить инстанс и нажмите Удалить.
Примечание. Для удаления инстанса БД может потребоваться несколько минут.
Пользовательские экземпляры SQL Server, экспресс-выпуск
Возможности пользовательского экземпляра
пользовательские экземпляры полезны для пользователей, работающих Windows с учетной записью пользователя с минимальными правами доступа (LUA). каждый пользователь имеет права SQL Server системного администратора ( sysadmin ) для экземпляра, работающего на своем компьютере, без необходимости запуска от имени администратора Windows. Программное обеспечение, выполняемое в пользовательском экземпляре с ограниченными разрешениями, не может вносить изменения на уровне системы, так как экземпляр SQL Server Express работает под учетной записью пользователя Windows без прав администратора, а не как служба. Каждый пользовательский экземпляр изолирован от родительского и любых других пользовательских экземпляров, выполняющихся на том же компьютере. Базы данных, запущенные в пользовательском экземпляре, открываются только в однопользовательском режиме. Таким образом несколько пользователей не могут подключаться к базам данных, запущенным в пользовательском экземпляре. Репликация и распределенные запросы также отключены для пользовательских экземпляров.
Пользовательские экземпляры не требуются для пользователей, которые уже являются администраторами на своих компьютерах, или для сценариев, включающих несколько пользователей базы данных.
Включение пользовательских экземпляров
Для создания пользовательских экземпляров требуется запуск родительского экземпляра SQL Server Express. Пользовательские экземпляры по умолчанию включаются, если установлен SQL Server Express, и они могут быть явно включаться или отключаться системным администратором, выполняющим системную хранимую процедуру sp_configure в родительском экземпляре.
Для пользовательских экземпляров поддерживается только сетевой протокол локальных именованных каналов. Пользовательский экземпляр невозможно запустить на удаленном экземпляре SQL Server, а учетные данные SQL Server запрещено использовать.
Соединение с пользовательским экземпляром
Обратите внимание на следующие сведения о приведенном ниже примере строки подключения.
Ключевое слово строки подключения AttachDbFileName используется для приподключения файла базы данных-источника (MDF) и должно включать полный путь. AttachDbFileName также соответствует ключам «Расширенные свойства» и «Исходное имя файла» в строке подключения SqlConnection.
Для создания строки подключения во время выполнения можно также использовать свойства SqlConnectionStringBuilderUserInstance и AttachDBFilename.
Использование строки подстановки |DataDirectory|
Свойство AttachDbFileName в ADO.NET 2.0 было расширено, в нем появилась строка подстановки |DataDirectory| (заключается в символы прямой черты). Строка подстановки DataDirectory в сочетании со свойством AttachDbFileName позволяет указать относительный путь к файлу данных, тем самым позволяя разработчикам создавать строки соединения относительно пути к источнику данных.
При использовании DataDirectory путь к результирующему файлу не может быть выше в структуре каталога, чем каталог, на который указывает строка подстановки. Например, если полностью развернутая строка DataDirectory — C:\AppDirectory\app_data, то показанный выше пример строки подключения подойдет, так как он ниже c:\AppDirectory. Но попытка задать DataDirectory как |DataDirectory|\..\data завершится ошибкой, потому что \data не является подкаталогом \AppDirectory.
Если строка подключения имеет неверно отформатированную строку подстановки, будет вызвано исключение ArgumentException.
System.Data.SqlClient разрешает строки подстановки в полные пути в файловой системе локального компьютера. Исходя из сказанного выше, имена путей удаленного сервера, HTTP и UNC не поддерживаются. Если сервер не находится на локальном компьютере, во время открытия подключения вызывается исключение.
При открытии подключения SqlConnection оно перенаправляется с экземпляра SQL Server Express по умолчанию на экземпляр, запущенный во время выполнения, который выполняется под учетной записью вызывающего объекта.
В некоторых случаях может потребоваться увеличить значение ConnectionTimeout, так как для загрузки пользовательских экземпляров может потребоваться больше времени, чем для обычных экземпляров.
Время существования соединения пользовательского экземпляра
Если в строке подключения используется Min Pool Size со значением больше нуля, то пул подключений всегда будет поддерживать несколько открытых подключений, и пользовательский экземпляр не завершит работу автоматически.
Работа пользовательских экземпляров
По умолчанию всем участникам группы Builtin\Users Windows предоставляются разрешения на подключение к локальному экземпляру, а также разрешения на чтение и выполнение для двоичных файлов SQL Server. После проверки учетных данных вызывающего пользователя, размещающего пользовательский экземпляр, этот пользователь станет sysadmin на этом экземпляре. Для пользовательских экземпляров включена только общая память, то есть возможны только операции на локальном компьютере.
Пользователи должны иметь разрешения на чтение и запись для файлов MDF и LDF, указанных в строке подключения.
MDF и LDF представляют файлы базы данных и журнала соответственно. Эти два файла являются сопоставленным набором. Таким образом во время операций резервного копирования и восстановления необходимо соблюдать осторожность. Файл базы данных содержит сведения о точной версии файла журнала. База данных не будет открываться, если она связана с неверным файлом журнала.
Чтобы избежать повреждения данных, база данных в пользовательском экземпляре открывается с монопольным доступом. Если два разных пользовательских экземпляра совместно используют одну и ту же базу данных на одном компьютере, пользователь первого экземпляра должен закрыть базу данных, прежде чем ее можно будет открыть во втором экземпляре.
Сценарии пользовательских экземпляров
Пользовательские экземпляры предоставляют разработчикам приложений баз данных хранилище данных SQL Server. Это хранилище не зависит от разработчиков, имеющих административные учетные записи на компьютерах разработки. Пользовательские экземпляры основаны на модели Access/Jet, где приложение базы данных просто подключается к файлу и пользователь автоматически получает полный набор разрешений на все объекты базы данных без необходимости предоставления разрешений администратором. Эта модель предназначена для ситуаций, когда пользователь работает с учетной записью с минимальными правами (LUA) и не имеет прав администратора на сервере или на локальном компьютере, но требует создания объектов базы данных и приложений. Благодаря пользовательским экземплярам пользователи могут создавать экземпляры во время выполнения, которые запускаются в собственном контексте безопасности, а не в контексте безопасности более привилегированной системной службы.
Пользовательские экземпляры следует использовать только в сценариях, где все использующие их приложения являются полностью доверенными.
Ниже приведены поддерживаемые сценарии пользовательских экземпляров.
Любое приложение с одним пользователем, в котором не требуется совместное использование данных.