Erstellen Sie einen Alias ​​für den SQL-server, der in der Abfrage verwendet werden soll

Mein SQL server Instanz Name ist im Format: 'My-server \ InstanceName'

Ich möchte dem server den Alias ​​'InstanceName' geben. Ich habe das im configurationsmanager gemacht. Wenn ich eine Verbindung zum server herstelle, kann ich diesen Aliasnamen anschließen. Wenn ich jedoch objecte in einer Abfrage vollständig qualifizieren möchte (zB select * von InstanceName.Database.dbo.Table), funktioniert es nicht. Es sagt, dass es diesen server nicht in sys.servers finden kann. Warum ist das? Es scheint, als ob es den Aliasnamen nicht in die Abfrage hinein trägt, nachdem es verbunden ist.

Vielen Dank!

Instanzname und Alias ​​sind zwei verschiedene Dinge.

Für den lokalen server verwenden Sie Database.dbo.Table

Um eine Verbindung zu einem anderen server (oder einer anderen Instanz) herzustellen, sollten Sie Linked server https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/linked-servers-database-engine hinzufügen.

Normalerweise brauchst du keinen Alias, aber wenn du das wirklich verwenden willst,

EXEC sp_addlinkedserver @server=N'S1_instance1', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'S1\instance1'