Что такое инстансы на сервере
Терминология
Есть много терминов, специфичных для облачной инфраструктуры, которые часто плохо определены. Эта статья предоставляет некоторые подробности об аспектах терминологии, а также некоторых концепциях для лучшего понимания.
Инстанс (Instance)
Термин «инстанс» часто используется для простого разговора о серверах в службе облачных вычислений, которые используются как услуга.
Образ (Image)
Эти образы могут быть «минимальными», то есть операционная система сводится к тому, что строго необходимо для стандартного использования. Они также могут быть оснащены предустановленными приложениями, чтобы пользователь мог избежать их переустановки при каждой перезагрузке инстанса.
Как правило, образы, используемые для облака, включают в себя некоторые инструменты настройки после запуска, которые можно использовать для установки информации, уникальной для экземпляра, например его имени хоста.
Существуют общедоступные образы, предоставляемые VK CS, и частные образы, созданные и загруженные индивидуально в каждом облачном проекте.
Флейвор (Flavor) или Конфигурация виртуальной машины
Например, флейвор «Standard-4-8» в облаке VK CS определяет 4 виртуальных CPU и 8 ГБ RAM.
Диск (Volume)
Размер и тип дисков устанавливается индивидуально при их создании в соответствии с потребностями. Для дисков доступны операции расширения, присоединения, конвертирования, создания снимка или удаления.
Зона доступности (Availability Zone)
Зона доступности — логическое деление и объединение гипервизоров для физической их изоляции и обеспечения отказоустойчивости. MS1 и DP1 — зоны, физически расположены в разных дата-центрах.
Ключевая пара (Key pair)
Ключевая пара используется для входа на виртуальную машину с ОС Linux по протоколу ssh или для расшифровки пароля Windows инстанса. Ключевую пару можно создать в момент запуска инстанса или импортировать уже существующую.
Группа безопасности (Security Group)
Это наборы настраиваемых разрешающих правил, которые регулируют права сетевого доступа (вход по определенному протоколу, через конкретный порт) для определенных IP адресов или групп безопасности.
Гипервизор (Hypervisor)
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, экспресс-выпуск
Возможности пользовательского экземпляра
пользовательские экземпляры полезны для пользователей, работающих 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) и не имеет прав администратора на сервере или на локальном компьютере, но требует создания объектов базы данных и приложений. Благодаря пользовательским экземплярам пользователи могут создавать экземпляры во время выполнения, которые запускаются в собственном контексте безопасности, а не в контексте безопасности более привилегированной системной службы.
Пользовательские экземпляры следует использовать только в сценариях, где все использующие их приложения являются полностью доверенными.
Ниже приведены поддерживаемые сценарии пользовательских экземпляров.
Любое приложение с одним пользователем, в котором не требуется совместное использование данных.
Что такое экземпляр 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» в этой строке.
Что такое Instance (инстансы) в Java?
Как узнать что это за инстансы SQL Server?
Не пойму к каким сервисам относятся эти инстансы (см. аттач). Можно это как-то узнать?
Что такое |= в java?
Уважаемые киберфорумцы, встретил такой код:// ставим флаг, чтобы уведомление пропало после нажатия.
Решение
«Что такое Instance в Java и для чего они вообще нужны»?
Это экземпляры классов.
Есть примитивные типы (boolean, byte, char, short, int, long, float и double), которые не превратили в классы, потому что и без этого программы виснут и бьют рекорды по производительности.
Достаточно объявить переменную примитивного типа и значение может сразу хранится в этой переменной. Поэтому пишут:
int n;
Если нужна переменная типа конкретного класса, то она уже не может вместить в себя все допустимые свойства класса, т.к. в java она хранит некий указатель на область памяти, где хранятся все свойства конкретного экземпляра класса. Поэтому в начале объявляют такую переменную:
Box myBox;
а потом выделяют место в памяти и записывают некую ссылку на эту область в переменную:
myBox = new Box();
И да! java строго типизированный язык. Поэтому требуется указывать тип каждой создаваемой переменной.
Решение
Когда Вы создаете переменную, то в первую очередь намерены использовать конкретное значение, которое будет хранить переменная.
Для int это могут быть простые числа (например 10 или 11), а для переменной типа какого-то класса конкретным значением станет instance(экземпляр) этого класса (в котором уже есть свойства, которые можно менять).
Когда объявляется переменная типа класса:
Box myBox;
то instance еще не существует (и через переменную не возможно поменять свойств). Переменная просто «не связана со значением». Значение нужно создать:
myBox = new Box();