SQL Server Native Client, erreur de serveur lié uniquement lors de suppressions
-
03-07-2019 - |
Question
Nous utilisons un client SQL Native pour nous connecter à un serveur SQL Server 2005 local à partir d’une application Borland. Cela conviendra pour les sélections, les insertions et les mises à jour. Lorsque nous supprimons, nous obtenons l'erreur:
Impossible de trouver le serveur
SERVERNAME \ SQLEXPRESS
dans sys.servers. Vérifiez que le bon Le nom du serveur a été spécifié. Si nécessaire, exécutez le procédure sp_addlinkedserver à ajouter le serveur à sys.servers
L'instance par défaut, la seule instance, est SERVERNAME \ SQLEXPRESS
et nous n'utilisons pas de serveurs liés. Des idées? Je pense que nous avons déplacé les fichiers MDF et LDF vers un nouveau serveur pour cette base de données, puis que nous l'avons attaché de nouveau.
Mise à jour 1
Il n'y a pas de SQL. Tout cela se passe via une interaction programmatique avec des curseurs. C'est un pilote ODBC utilisant ADO. Vous exécutez TableObj- > Supprimer pour supprimer l'enregistrement.
La solution
Compris. J'ai couru
SELECT @@servername
Cela a renvoyé l'ancien nom d'hôte de la boîte. J'ai couru
sp_dropserver 'OLDHOSTNAME\SQLEXPRESS'
go
sp_addserver 'NEWHOSTNAME\SQLEXPRESS', local
Je me suis alors
Le serveur 'NEWHOSTNAME \ SQLEXPRESS' n'est pas configuré pour DATA ACCESS
j'ai couru
sp_serveroption 'ICS-POS3-NEW\SQLEXPRESS', 'data access' , 'true'
Cela m'a donné l'erreur
Contexte de transaction utilisé par un autre session
Ce qui est dû aux serveurs liés. J'ai constaté que l'option locale sur le serveur d'ajout n'a pris effet que lorsque j'ai redémarré le serveur. J'ai redémarré, alors ça a juste marché.