SQL Server: Jakie są nazwane i domyślne wystąpienia?


Odpowiedzi:


30

Według Microsoft w odniesieniu do nazwanego vs domyślnego

Aplikacje klienckie łączą się z wystąpieniem Microsoft SQL Server 2005 w celu pracy z bazą danych SQL Server. Każda instancja programu SQL Server składa się z odrębnego zestawu usług, które mogą mieć unikalne ustawienia. Struktura katalogów, struktura rejestru i nazwa usługi odzwierciedlają konkretną nazwę wystąpienia zidentyfikowaną podczas instalacji.

Instancja jest instancją domyślną, nienazwaną lub jest instancją nazwaną. Gdy SQL Server 2005 jest zainstalowany w instancji domyślnej, klient nie musi określać nazwy instancji, aby nawiązać połączenie. Klient musi tylko znać nazwę serwera.

Nazwane wystąpienie jest identyfikowane przez nazwę sieciową komputera plus nazwę wystąpienia podaną podczas instalacji. Podczas łączenia klient musi podać zarówno nazwę serwera, jak i nazwę instancji.

Domyślnie SQL Server instaluje się w instancji domyślnej, chyba że podasz nazwę instancji. Jednak SQL Server Express zawsze instaluje się w nazwanym wystąpieniu, chyba że wymusisz instalację domyślną podczas instalacji.


17

Możesz także zainstalować tylko jedną domyślną (instancję bez nazwy), ale możesz zainstalować wiele nazwanych instancji.

Wiele programów innych firm zwykle używa domyślnej nazwanej instancji, chociaż może o niej nie wspomnieć. Powód jest oczywisty z powyższych odpowiedzi, standardowe wersje domyślnie instalują instancje bez nazw, podczas gdy wersja Express instaluje domyślnie instancje nazwane.

Ważne jest, aby wiedzieć o różnicy z tej perspektywy, ponieważ jeśli masz 2 lub 3 serwery DB, możesz nigdy nie połączyć się z odpowiednią wersją. Ponieważ oprogramowanie innej firmy szuka domyślnej instancji, podczas gdy myślisz, że jest to instancja SQLEXPRESS, z którą próbuje się połączyć. Może to znacznie wydłużyć czas rozwiązywania problemów, jeśli nie wiesz, jak połączyć się z wystąpieniem nazwanym lub nienazwanym.

Więc jeśli chcesz połączyć się z Nazwaną lub Nienazwaną wersją, skorzystaj z następujących wskazówek.

MY-MACHINE-NAME\SQLEXPRESS  /* named version - correct */
MY-MACHINE-NAME             /* unnamed version (default instance) - correct */
MY-MACHINE-NAME\MSSQLSERVER /* unnamed version (default instance) - Wrong */

Pamiętaj, że nawet jeśli instancja domyślna ma nazwę, nie można do niej odwoływać się jej nazwą!


5

Oprócz wyjaśnienia opublikowanego przez Bretta G, oto kilka powodów, dla których warto z nich korzystać:

  • Możesz mieć różne wystąpienia przy użyciu różnych wersji SQL (tj. Domyślnie przy użyciu SQL 2008, nazwane wystąpienie przy użyciu SQL 2005)
  • Oddzielne obawy, czy to coś z aplikacją, bezpieczeństwem czy czymkolwiek
  • Różne środowiska programistyczne
  • Różne środowiska aplikacji (tj. Homegrown vs. osoby trzecie)

Wszelkiego rodzaju powody, aby z nich korzystać. Nie oznacza to jednak, że zawsze jest to dobry pomysł: P


5

Jeszcze jedna praktyczna różnica: SQL2005 i nowsze pozwalają zainstalować 16 lub więcej instancji na system. Ponieważ licencja dotyczy fizycznego procesora , instalacji SQL Server (a nie instancji!), Oznacza to, że możesz uruchomić do 16 instancji SQL Server 2005, nie płacąc ani grosza więcej niż wcześniej.

Biorąc pod uwagę, że licencje na procesory mogą działać do 15000 USD (!) Na gniazdo, jest to obowiązkowe w przypadku dużych instalacji z, powiedzmy, 16 rdzeniami i pamięcią 256 GB.


1

Możesz także ograniczyć pamięć i przypisać ograniczenie użycia procesora na instancję. Możesz także utworzyć instancję dla aplikacji napisanych przez sprzedawcę, które „potrzebują” uprawnień administratora systemu, aby nie narażać innych aplikacji na ryzyko.


0

Jednym z najlepszych powodów jest oddzielenie baz danych. Jeśli tworzysz własną aplikację i pakujesz w nią SQL Express, warto zainstalować ją we własnej instancji. Plus daje użytkownikowi możliwość określenia istniejącej instalacji SQL, jeśli będzie to możliwe.

Jeśli masz bazę danych, która ma krytyczne znaczenie dla zapewnienia, że ​​nikt inny nie ma do niej dostępu, może przejść do swojej instancji z bardzo ograniczoną autoryzacją bezpieczeństwa. Powiedz, że to twoja baza danych produktu, a następnie replikuje się do bazy danych raportowania na tym samym serwerze **, który jest odczytywany tylko dla osób. Jest mniej prawdopodobne, że pomimo błędu użytkownika (administratora) użytkownicy przypadkowo uzyskają dostęp do produkcyjnej bazy danych, ograniczając, kto jest w stanie zaktualizować grupy zabezpieczeń w instancji produkcyjnej tylko do kilku osób.

** dobra praktyka mówi, aby uczynić serwer raportowania osobną maszyną, ale robię to tylko jako przykład.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.