rycodepsyco
Goto Top

MS SQL Server Express 2014 - Der Zugriff auf die Datenbank ist nicht möglich. (ObjectExplorer) - Rechnername ändern - Kein Zugriff auf Datenbank

Hallo liebe Leuts,

Vorwort: ich bin kein Experte, versuche nur mein Glück.

Es geht um eine SQL von Microsoft, das der Rechnername geändert werden soll und das dies in der SQL hinterlegt werden muss.
Das SQL Management Studio sowie auch der Windows Benutzer ist mit Administratorrechten gestartet worden.
Auf die Datenbank wurde sich mit SA angemeldet. (Alternativ auch Windowsanmeldung getestet.)


Wie oben geschrieben wird sich mit dem MS sich mit SA angemeldet.

Der Rechnername soll in der SQL umgemeldet werden, sonst funktioniert der SQL Aufruf nicht mehr, was ja normal ist.
Hierzu nutze ich den Befehl zum löschen des Rechnernamens:
sp_dropserver 'alterRECHNERNAME\SQLNAME'   

Dabei kommt die Fehlermeldung:
  • Der Zugriff auf die Datenbank ist nicht möglich. (ObjectExplorer)

Das war es, nicht mehr, nicht weniger.
Das ganze ist mehrfach getestet.

Leider kann ich damit nur so viel anfangen das ich wohl als SA und Admin nicht genügend Rechte habe, das diese irgendwo, vllt in Gruppenrichtlinien oder so gesperrt sind/worden?
Leider weiß ich aber auch nicht wo ich dies prüfen und ändern kann, wo, was, wie?

Könnt Ihr mir hier weiter helfen?

Schon mal großen Dank im Voraus.
Ryco

Content-ID: 452698

Url: https://administrator.de/contentid/452698

Ausgedruckt am: 15.11.2024 um 17:11 Uhr

wiesi200
wiesi200 17.05.2019 um 08:57:30 Uhr
Goto Top
Hallo,

wieso muss beim SQL Server was hinterlegt werden wenn du den Rechnernamen änderst?
Du muss doch nur den Clients sagen Sie müssen sich mit dem neuen Server verbinden.
sabines
sabines 17.05.2019 um 09:01:22 Uhr
Goto Top
Moin,

so richtig schlau werde ich aus deinem Post nicht; was genau willst Du machen?

Mit
sp_dropserver
werden Verbindungsserver etc gelöscht, nicht mehr und nicht weniger.

Gruss
Grinskeks
Lösung Grinskeks 17.05.2019 um 09:49:32 Uhr
Goto Top
Hallo,

führ mal folgendes aus bitte:

SELECT @@SERVERNAME;


das Ergebnis ist Host + Instanzname.
Ein Rename erfolgt über

EXEC sp_DROPSERVER 'AlterName\Instanzname'
EXEC sp_ADDSERVER 'NeuerName\Instanzname', 'local'

Der Instanzname muss bestehen bleiben.

Falls es nicht geht, versuch mal die Datenbanken offline zu schalten (Kontextmenü) - evtl. ist eine dabei, die Probleme verursacht.

Gruss Grinskeks
Grinskeks
Grinskeks 17.05.2019 um 09:54:28 Uhr
Goto Top
Oder die Umbenennung wurde bereits durchgeführt, der Serverdienst aber noch nicht neugestartet?
RycoDePsyco
RycoDePsyco 17.05.2019 um 14:46:08 Uhr
Goto Top
Danke für dein Beitrag, genau das mache ich ja, allerdings komme ich ja nur bis EXEC sp_DROPSERVER 'AlterName\Instanzname', denn wenn ich diesen ausführen möchte, dann kommt die obige Fehlermeldung.

Und genau darum geht es.

Irgend etwas blockiert die Funktion, was könnte das sein, Gruppenrichtlinie, Rechte, welche?

Vielen Dank
GrueneSosseMitSpeck
GrueneSosseMitSpeck 17.05.2019 aktualisiert um 15:28:05 Uhr
Goto Top
und im Himmel ist Jahrmarkt.

Ein alleinstehender SQL Server 2014 liest den Rechnernamen per Getenv in Windows aus und ist (anders als Oracle) nicht an irgendwelche Rechnernamen gebunden... @@servername ist eine Read only property, logisch?

Und ist er Bestandteil einer Replikation, dann macht man die platt und baut sie mit dem Replikations-Assistenten neu wieder auf. Das ist im SQL2014 meiner Meinung nach sehr gut gelöst.
Grinskeks
Grinskeks 20.05.2019 um 07:47:49 Uhr
Goto Top
Irgend etwas blockiert die Funktion, was könnte das sein, Gruppenrichtlinie, Rechte, welche?

Vielen Dank


Das Umbenennen funktioniert nicht bei clustered Servern, installierten Reporting Services oder Replication.

GrueneSosseMitSpeck ist da mit der Replication auf dem richtigen Weg, auch wenn ich nicht verstehe, was er mit den Sätzen davor sagen will face-wink

Gruss
Grinskeks
MadMax
MadMax 20.05.2019 um 18:57:49 Uhr
Goto Top
Moin,

hast Du mal geschaut, ob der Server trotzdem gelöscht wurde? Das geht mit:
select * from sys.servers

Wenn da kein Server mit server_id = 0 dabei ist, dann war das Löschen trotzdem erfolgreich.

Alternativ kannst Du auch einfach mal probieren, ob das sp_addserver trotzdem erfolgreich ist.

Für mich sieht die Fehlermeldung nämlich danach aus, als ob nur der Object Explorer vom SSMS irgendwo nicht zugreifen kann. Das hat aber erstmal nichts mit der Datenbank zu tun.

Gruß, Mad Max
RycoDePsyco
RycoDePsyco 21.05.2019 aktualisiert um 09:40:20 Uhr
Goto Top
Hallo, komm erst wieder Donnerstag an den Rechner ran, bin unterwegs, werde mich dann melden.

Nach meiner Einschätzung und soweit im Gedächtnis verblieben, zeigt mir der Befehl: select * from sys.servers den alten Rechnernamen an.

Im Prinzip ist mir das schon so bekannt:
Und an Punkt 2 scheitert es eben... melde mich noch mal...

  • select * from sys.servers (prüfen)
  • sp_dropserver 'alterRECHNERNAME\SQLNAME' löschen
  • sp_addserver 'neuerRECHNERNAME\SQLNAME', local
  • select * from sys.servers (prüfen)


Danke euch soweit.
GrueneSosseMitSpeck
GrueneSosseMitSpeck 22.05.2019 aktualisiert um 07:18:53 Uhr
Goto Top
GrueneSosseMitSpeck ist da mit der Replication auf dem richtigen Weg, auch wenn ich nicht verstehe, was > er mit den Sätzen davor sagen will face-wink

Gruss
Grinskeks


ein alleinstehender MS SQL Server hat keine Bindung an einen Rechnernamen, das gibts nur bei Oracle und da meine ich auch nur bis 11GR2. Der MS SQL Server ermittelt den Rechnernamen im Betriebsystem über das Auslesen einer Umgebungsvariable oder durch einen API Aufruf. GetEnv() ist ein Api Aufruf, um Umgebungsvariablen auszulesen.

Bei einer Merge Replikation ist es best practice, diese komplett abzubauen wenn der Distributor oder der Publisher umbenannt wird.

Subscriber verlassen die Replikation und treten ihr mit neuem Namen bei damit der Distributor keine verweiste Abonnements mit Inkrementen versorgt, der speichert die nämlich 2 Wochen lang oder bis die Platte voll ist.
RycoDePsyco
RycoDePsyco 24.05.2019, aktualisiert am 11.09.2019 um 10:16:20 Uhr
Goto Top
Hallo Ihrs,

also ich weiß nicht was das Problem war, ich habe es einfach am Donnerstag nochmals versucht, es gab keine Fehlermeldung.

Dabei habe ich es an zwei Tagen versucht und bin immer an der Fehlermeldung gescheitert.

Was habe ich anders gemacht:
Den alten Rechnernamen habe ich nicht manuell eingegeben sondern diesmal kopiert.
(Wobei ich damals das mind. 5x zu zweit!, geprüft habe.)


Den Befehl habe nicht mit sp_dropserver 'alterRECHNERNAME\SQLNAME' sondern mit EXEC sp_DROPSERVER 'AlterName\Instanzname' ausgeführt.
Denke aber das jemand die Rechte am Rechner (nicht meiner) geändert hat, bin mir hier aber nicht sicher.

Das war es.
Manchmal ist es zum verrückt werden. face-smile