SQL Server, przekonwertować nazwane wystąpienie na wystąpienie domyślne?

135

Muszę przekonwertować nazwane wystąpienie programu SQL Server 2005 na wystąpienie domyślne.

Czy można to zrobić bez ponownej instalacji?


Problem polega na tym, że 2 na 6 programistów zainstalowało nazwaną instancję. Staje się więc bólem zmieniającym łańcuchy połączeń dla pozostałych czterech z nas. Szukam ścieżki najmniejszego oporu, aby przywrócić tę dwójkę z powrotem do standardowej konfiguracji naszych zespołów.

Każdy z nich stwierdził, że będzie to zbyt duży problem i że zabierze im to czas na rozwój. Założyłem, że rozwiązanie zajmie trochę czasu, w najlepszym interesie wszystkich zaangażowanych, próbowałem przeczesywać zainstalowane aplikacje konfiguracyjne i nic nie widziałem, więc pomyślałem, że będzie tutaj ktoś z większą wiedzą na temat wewnętrznego działania.

RozwójChris
źródło
12
Jeśli chcesz uzyskać dostęp do nazwanej instancji z dowolnego ciągu połączenia bez używania nazwy instancji i tylko przy użyciu nazwy serwera : Spójrz na moją odpowiedź poniżej.
Zasz

Odpowiedzi:

20

O ile wiem, nie. Jednym z powodów jest struktura folderów na dysku twardym; będą miały nazwę taką jak MSSQL10. [nazwa instancji]

SQLMenace
źródło
4
Właściwie to jest odpowiedź na to pytanie, ale jeśli potrzebujesz zmienić nazwę swojej instancji, zobacz odpowiedź Zasz. Nie głosuj negatywnie, ponieważ nie jest to, czego szukasz, najpierw sprawdź pytanie.
Leandro
7
Źle. Zobacz odpowiedź poniżej.
Tomas Beblar
naprawdę miał nadzieję, że Tomas Beblar jest autorem poniższego
Jared
388

Chciałem również przekonwertować nazwaną instancję na domyślną - moim powodem było uzyskanie do niej dostępu tylko za pomocą nazwy komputera z różnych aplikacji.

Jeśli chcesz uzyskać dostęp do nazwanej instancji z dowolnego ciągu połączenia bez używania nazwy instancji i używając tylko nazwy serwera i / lub adresu IP, możesz wykonać następujące czynności:

  • otwarty SQL Server Configuration Manager
  • Kliknij SQL Server Network Configuration
  • Kliknij, Protocols for INSTANCENAMEktóre chcesz udostępnić (np. SQLExpress)
  • Kliknij prawym przyciskiem myszy TCP/IPi kliknijEnabled
  • Kliknij prawym przyciskiem myszy TCP/IPi przejdź doProperties
    • Przejdź do IP Addresseszakładki
    • Przewiń w dół do IPAllsekcji
    • Wyczyść pole TCP Dynamic Ports(tj. Puste / puste )
    • Ustaw TCP Portna1433
    • Kliknij Ok
  • Iść do SQL Server Services
  • Kliknij prawym przyciskiem myszy SQL Server (INSTANCENAME)i kliknijRestart

Menedżer konfiguracji programu SQL Server

Spowoduje to, że nazwana instancja będzie nasłuchiwać na porcie domyślnym. Uwaga: Możesz mieć tylko jedną skonfigurowaną w ten sposób instancję - żadne dwie instancje nie mogą mieć tego samego portu w sekcji IP All, chyba że instancja jest klastrem pracy awaryjnej.

Zasz
źródło
3
Właśnie tego potrzebowałem.
TheXenocide
9
To nie jest bezpośrednią odpowiedzią na pierwotne pytanie, ale odpowiada na moje pytanie z Google.
pb.
47
Różnica między odpowiedzią na pytanie a rozwiązaniem problemu. Wielkie dzięki kolego.
IvanP
1
Uwaga dla użytkowników systemu Windows 8, menedżer konfiguracji nie jest dostępny z menu Start. Należy go uruchomić z konsoli poleceń jako SQLServerManager11.msc ( technet.microsoft.com/en-us/library/ms174212.aspx )
CGK
3
To jedna z najsłodszych sztuczek, jakie kiedykolwiek widziałem w życiu.
Saeed Neamati
14

Dlatego wiele firm przechowuje parametry połączeń swoich aplikacji na poziomie komputera, a nie aplikacji.

Po prostu usuń parametry połączenia z kodu źródłowego. Potem już wszyscy umieścić swój ciąg połączenia w ich machine.config.

Ma to dodatkową zaletę polegającą na uniknięciu niepotrzebnej logiki środowiska specyficznej dla aplikacji, tj. Kiedy kopiujesz aplikację na serwer pomostowy, serwer pomostowy już „wie” jakiej bazy danych użyć.

Portman
źródło
2

Jedynym sposobem zmiany nazwy instancji jest ponowna instalacja - odinstalowanie i instalacja jako domyślna instancja.

Booji Boy
źródło
Poprawny. Ale to nie było pytanie.
Tomas Beblar
2

Wiele razy będę używał aliasu klienta do wskazywania aplikacji na innym serwerze sql niż ten, do którego są przeznaczone jej parametry połączenia, zwł. przydatne podczas pracy z DTS lub aplikacją z zakodowanymi na stałe parametrami połączenia. Niech wszyscy używają powszechnie nazwanego aliasu, używają aliasu w parametrach połączenia i skieruj alias na każdym polu dev do różnych instancji. W ten sposób nie będziesz musiał się martwić, czy serwer jest instancją domyślną, czy nie.

Booji Boy
źródło
0

Naprawdę nie powinieneś tego robić. Większość oprogramowania, które twierdzi wymaga instancji domyślnej (np. Great Plains lub Dynamics), w rzeczywistości nie wymaga.

Jeśli ponownie opublikujesz swoją sytuację (zainstalowano X, a następnie Y, ale musisz wykonać Z), założę się, że uzyskasz dobre obejścia.

Portman
źródło
0

Myślę, że możesz migrować swoje dane z Sql Server bez zainstalowania domyślnej instancji. Możesz po prostu określić numer portu swojej instancji Sql Server w Oracle Sql Developer i możesz połączyć się tylko przy użyciu nazwy serwera, a nie przy użyciu nazwy serwera i instancji. W ten sposób: połącz się z „MYSERVER, 1433”

Dryaev N.
źródło