Comment référencer un serveur SQL avec une barre oblique inverse (\) dans son nom?
Givens:
- SQL Server est nommé:
DevServerA
- Un autre est nommé:
DevServerB\2K5
Problème:
De DevServerA
comment puis-je écrire une requête qui fait référence à DevServerB\2K5
?
J'ai essayé un échantillon, le mannequin de la requête (courir à partir de DevServerA
):
SELECT TOP 1 *
FROM DevServerB\2K5.master.sys.tables
Et j'obtiens l'erreur:
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '\.'.
Cependant, je sais que ma syntaxe est presque correct, puisque l'autre manière autour des œuvres (l'exécution de cette requête de DevServerB\2K5
):
SELECT TOP 1 *
FROM DevServerA.master.sys.tables
Merci de m'aider à comprendre comment de référence DevServerB\2K5
de DevServerA
. Merci.
source d'informationauteur Bill Paetzke | 2010-03-30
Vous devez vous connecter pour publier un commentaire.
En 4 noms de partie, la première partie, si le nom d'un serveur lié (ie. un objet de métadonnées), et non pas le nom d'un serveur (ie. un nom d'hôte). Si vous pouvez le nom de votre serveur lié TOTO et lui avons point à la BARRE d'accueil, ou à l'instance FOO\BAR. Et même si vous avez le nom du serveur lié objet doit contenir une barre oblique, vous pouvez toujours l'utiliser dans un environnement multi-nom de la pièce par le simple fait de citer le nom:
Essayez d'utiliser des crochets:
Sur SQL SERVER 2005, les suivants s'est produit:
Entrée:
Est changé à
par le système de SQL Server et vous obtenez toujours le message d'erreur:
Syntaxe incorrecte près de '.'.
Je l'ai essayé avec un serveur lié nommé de deux façons différentes:
'[DevServerB\2K5] " et "DevServerB\2K5'
Quelqu'un at-il d'autres idées?
Merci Alan Robertson
CORRECTION ajoutée le lendemain: je me suis trompé, en partie. Quand on essaie de créer une vue à l'aide d'une instruction SQL comme:
puis les [ et ] sont supprimés et on ne peut pas enregistrer la vue,
MAIS si l'on écrit une requête à l'aide de la même chaîne SQL, alors il fonctionne correctement.
J'ai aussi été en mesure d'exécuter une instruction SQL comme:
Je peux faire ce que je voulais, mais il aurait été beaucoup mieux si je pouvais avoir enregistré un affichage et utilisé un point de vue qui pourrait ensuite être utilisé pour SELECT, INSERT et UPDATE de la table dans la [DevServerB\2K5].TestDB base de données
à partir du serveur d'origine où j'ai essayé et échoué à créer une vue en raison de l' '\' .
-ASR-