Каковы преимущества именованных экземпляров в SQL Server?

В чем преимущество создания именованного экземпляра в SqlLocalDB вместо использования экземпляра версии 11.0 по умолчанию? В моем сценарии я прикрепляю файл базы данных, используя параметр AttachDbFileName в строке подключения.

Вспомогательный вопрос: возможно ли иметь разные настройки для разных экземпляров LocalDB? Если да, то какие настройки (я читал, что вы не можете изменить, например, сопоставление)?


person Tomasz Grobelny    schedule 07.03.2014    source источник
comment
Какая польза от присвоения имени что угодно? :)   -  person Crono    schedule 07.03.2014
comment
Чтобы можно было назвать его по имени. Совершенно очевидно. Но обратите внимание, что v11.0 тоже названа, но мне не нужно ее создавать (расшаривать, управлять безопасностью и т.д.). Так зачем беспокоиться? Я ожидаю, что MS предоставила функцию по какой-то причине.   -  person Tomasz Grobelny    schedule 07.03.2014


Ответы (3)


Я вижу два возможных преимущества: производительность и возможность управлять вашей конфигурацией.

LocalDB ограничен так же, как и другие экземпляры SQL Express, ограничения ЦП и ОЗУ применяются для каждого экземпляра. Если ваше приложение использует свой собственный экземпляр, оно получит все для себя и не будет нуждаться в совместном использовании с другими приложениями. Использование экземпляра по умолчанию означает, что ваше приложение должно делиться с другими приложениями, используя экземпляр по умолчанию.

Вы также можете использовать именованный экземпляр, если вам нужно выполнить какую-либо специальную конфигурацию для всего экземпляра, которая может нарушить работу других приложений. Или, если вы обеспокоены тем, что какое-то другое некорректно работающее приложение может внести изменения в экземпляр по умолчанию, которые нарушат работу вашего приложения, и ваши клиенты будут винить вас. Работает в обе стороны :-)

person Krzysztof Kozielczyk    schedule 07.03.2014
comment
Первая причина (об ограничениях ресурсов) имеет смысл, спасибо. Что касается второго: могу ли я (или любое другое приложение, использующее общий экземпляр) действительно внести какие-либо изменения в конфигурацию экземпляра в случае LocalDB? - person Tomasz Grobelny; 10.03.2014

Имейте в виду, что вы можете установить только один экземпляр по умолчанию, но вы можете установить несколько именованных экземпляров. Лучше устанавливать только экземпляр по умолчанию на хост, если только у вас нет особой необходимости устанавливать несколько экземпляров SQL Server на одном хосте, например, при одновременном запуске разных версий, кластеризации или других требованиях к изоляции. Любой дополнительный экземпляр должен быть назван (очевидно, в целях дифференциации).

Основная разница между экземпляром по умолчанию и именованным экземпляром в основном связана с сетевым подключением. Клиенты могут подключаться к экземпляру по умолчанию, используя только имя хоста через общеизвестный порт 1433. Чтобы подключиться к именованному экземпляру, клиенты указывают хост и имя экземпляра (например, «MyHost\My_Instance»), а служба браузера SQL Server возвращает порт, который прослушивает именованный экземпляр.

В реальном мире причины наличия нескольких экземпляров варьируются от организации к организации. Вот некоторые из наиболее распространенных причин:

Функциональное или нагрузочное тестирование приложения

  • Нагрузочное тестирование — возможность загрузки нескольких баз кода, координация остановки необходимых экземпляров для выполнения нагрузочного тестирования, проведение нагрузочного тестирования, а затем перезапуск всех экземпляров после завершения. Функциональное тестирование
  • Возможность иметь несколько баз кода и возможность независимого тестирования с предварительно выделенным количеством ресурсов.

Консолидация серверов

  • Одной из последних тенденций является объединение нескольких экземпляров SQL Server на одном сервере. При наличии нескольких экземпляров SQL Server можно выполнять полное резервное копирование и восстановление SQL Server на одном экземпляре, чтобы поддерживать те же функции, что и у исходного сервера.

Внутренний хостинг\Общий доступ к серверу отдела

  • Поскольку SQL Server изначально считался решением для подразделений, можно было иметь несколько экземпляров SQL Server на одном физическом сервере, чтобы поровну распределять ресурсы сервера (большое количество ЦП и памяти).
  • Этот сценарий идеально подходит для возвратных платежей отделам организаций, следующих этой парадигме.

Безопасность

  • Несколько экземпляров идеально подходят для тех надоедливых сторонних приложений, которым требуются повышенные привилегии SQL Server, когда вы не хотите смешивать приложения в одном экземпляре.

Демонстрации

  • Несколько экземпляров идеально подходят для поддержки демонстраций, когда необходимо продемонстрировать конкретное приложение и то, как оно влияет на SQL Server.

Источники:

Приятно читать:

person Moslem Ben Dhaou    schedule 07.03.2014

Если вы хотите, чтобы на одном компьютере работало несколько экземпляров SQL Server, вам нужно было дать им имена, чтобы различать их. Кроме этого, нет никакой реальной «выгоды» при обычном использовании.

Несколько экземпляров полезны, если вам нужны разные конфигурации сервера или даже разные версии. Скажем, например, что у вас есть база данных, созданная для Sql 2008, и вам нужна новая база данных для нового приложения с Sql 2012. Вы можете разместить обе базы данных на одном компьютере и использовать функции для самой продвинутой версии, сохраняя при этом старую, работающую как есть. .

person Crono    schedule 07.03.2014
comment
Под именованным экземпляром я подразумеваю сущность, которую вы создаете с помощью команды sqllocaldb.exe create MyInstance. Позже вы можете использовать его в строке подключения, например, Data Source=(LocalDB)\MyInstance;AttachDbFileName=c:\myfile.mdf - person Tomasz Grobelny; 07.03.2014
comment
Хорошо, так что да, мы говорим об одном и том же. Я отредактировал свой ответ, чтобы предоставить вам более подробную информацию. - person Crono; 07.03.2014
comment
Если вы считаете, что я не ответил на ваш вопрос, не стесняйтесь спрашивать подробности. - person Crono; 07.03.2014
comment
вы собираетесь сэкономить на стоимости лицензии - person Venkat Naidu; 13.08.2020