Je souhaite créer un serveur lié dans MS SQL Server 2000 sur un serveur MS SQL 2005 qui fonctionne sur le port X (pas le port par défaut 1433). Mais cela ne fonctionne pas, car je ne peux pas spécifier le port n'importe où! P>
Utilisation SQLCMD (Spécification du port x), je peux me connecter au serveur sans problèmes - mais je ne peux pas la configurer en tant que serveur lié. P>
Comment cela peut-il être fait? P>
5 Réponses :
Dans la nouvelle boîte de dialogue du serveur lié, choisissez "Autre source de données", sélectionnez "Microsoft Ole DB Fournisseur pour SQL Server" comme nom de fournisseur, puis utilisez-le comme votre chaîne de fournisseur: Remplacez l'IP et "1433" avec votre numéro IP et votre numéro de port. P> Plus d'informations sur les chaînes de connexion: http://support.microsoft.com/kb/238949 p> p>
Ça marcherait! Savez-vous cependant qu'il y a un moyen de faire ce travail avec le fournisseur SQLNCLI?
Je n'ai pas essayé moi-même, mais vous pouvez essayer d'utiliser le "SQL Server Configuration Manager" pour créer un alias, définir le numéro IP et Port ici. Utilisez ensuite cet alias dans votre chaîne de connexion SQLNCLI. L'inconvénient est que chaque ordinateur client devra avoir ceci. Si ce n'est que deux serveurs liés, cela devrait fonctionner.
Une autre façon d'y parvenir (en supposant que vous ayez configuré 8080 dans SQL Server) est avec le code suivant:
EXEC sp_addlinkedserver 'myserver', '', 'SQLNCLI', 'xx.xx.xx.xx,8080' EXEC sp_addlinkedsrvlogin 'myserver', 'FALSE', NULL, 'user', 'pwd'
Basé sur la suggestion de Shane, l'ajout d'un alias a fonctionné pour moi. P>
(SQL Server 2008 R2): P>
(Répétez les étapes de "Configuration du client native SQL Native 10.0" (moins le texte "32 bits") p>
Ajout d'un alias de cette façon m'a permis d'ajouter un serveur lié avec le type de serveur comme "SQL Server", sans configurer les options du fournisseur, etc. P>
Notez que les requêtes en 4 parties sembleront similaires à celles-ci:
SELECT * FROM [SQLSERVER,14333].[DATABASE].[dbo].[Table1]
Je devais le faire aujourd'hui également (ajoutez un serveur lié avec un port non par défaut). Dans mon cas, il s'agissait d'un serveur lié SQL Server 2014 à un serveur SQL 2016. P>
Étapes à l'aide de SQL Server Management Studio: P>
Utilisez ce format pour le serveur lié
Sélectionnez SQL Server pour Type de serveur P> Li>
Même chose utilisant T-SQL: P>
adresse IP-Adresse-of-Server \ Nom d'instance, port non par défaut code> ou, 192.168.10.5 \ dev-SQL, 25250 code>. L'instance Name n'est requise que si cette instance n'est pas l'instance par défaut sur le serveur Linked cible. De plus, vous pouvez remplacer l'adresse IP par nom d'hôte si le serveur lié est sur votre réseau local. P> li>
exec maître.dbo.sp_addlinkedserver @server = N'192.168.10.5 \ dev-sql, 25250 ', @ srvProduct = N'SQL Server' Code> P>
exec maître.dbo.sp_addlinkedsrvlogin @ rmtsrvname = N'192.168.10.5 \ dev-SQL, 25250 ', @ ELEMPERYELF = N'FAlSe', @ LOCALLOGIN = NULL, @ RMTUser = N'MY_USERNAME ', @ rmtpassword = 'my_pswd' code> p>