2009-07-03 6 views
7

Par curiosité, est-il possible de éditer un synonyme existant? C'est-à-dire, changer la table vers laquelle pointe le synonyme ...Modifier les synonymes dans MS SQL Server 2005

Jusqu'à présent, il semble que je devais les supprimer et les recréer, car ils ne peuvent pas être édités. Ce n'est pas une grosse affaire, mais en même temps, c'est un peu irritant. GUI ou scripting, mais de préférence GUI

+0

Le script DROP/CREATE est la seule approche que j'ai trouvée qui fonctionne. : - \ – deadbug

+0

Comme un point d'intérêt, certains Googling arrêté http://www.sqlmaestro.com/products/mssql/maestro/help/03_09_00_synonymes/ - il semble qu'il existe des produits tiers qui le permettent. Qu'ils valent le prix d'achat est un problème différent ... – Margaret

+1

Ironique qu'un synonyme [* "Fournit une couche d'abstraction qui protège une application cliente contre les changements apportés au nom ou à l'emplacement de l'objet de base" * (http : //msdn.microsoft.com/en-us/library/ms187552.aspx), et vous ne pouvez pas modifier le synonyme lorsque des changements se produisent. Vous avez besoin d'un synonyme pour votre synonyme afin de protéger votre synonyme des modifications apportées à son synonyme. –

Répondre

10

Il n'y a pas

ALTER SYNONYM 

Vous devez supprimer et recréer le synonyme. Voir this article.

1

Malheureusement, il n'y a pas d'ALTER SYNONYM. Il y a cependant un retour d'information dans Microsoft Connect demandant cette fonctionnalité. La réponse de Microsoft n'est cependant pas très claire. Ils parlent de certaines fonctionnalités supplémentaires dans katmai, mais je ne suis pas capable de comprendre cela. Check this link

Je pense que les synonymes sont largement sous-évalués et sous-utilisés. Considérez ce scénario. Vous utilisez SQL Express avec une limite de 4 Go par base de données. Lorsque votre base de données est presque à 4 Go, il suffit de déplacer les tables les plus volumineuses vers une autre base de données et de créer un synonyme dans la base de données d'origine. Vous avez ainsi augmenté la taille de la base de données à plus de 4 Go.

Bien que la réponse à la question de l'OP soit NON, je pensais juste que je devais partager cela avec la communauté pour que ceux d'entre nous qui utilisent SQL Express puissent se retrouver avec la limite de 4 Go.

Raj

Questions connexes