Je dois maintenir et étendre un ancien système hérité contenant des méthodes WebService et des tables de base de données qui ne sont plus utilisées. Comme je ne suis pas tout à fait sûr que les tables sont vraiment redondantes, j'ai peur de les laisser tomber.
Y a-t-il un autre moyen d'atteindre le même effet (les tables ne peuvent plus être utilisées) sans les laisser tomber? Mon idée était de les transférer à un schéma différent (par exemple, Deleted
) à partir de la valeur par défaut actuelle, dbo
.
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'Deleted')
BEGIN
EXEC('CREATE SCHEMA Deleted')
END
ALTER SCHEMA Deleted TRANSFER dbo.TableName;
Y a-t-il une autre option ou existe-t-il des inconvénients à l'approche de schéma?
Y a-t-il une autre façon d'atteindre les mêmes (les tables ne peuvent plus être utilisées) sans les laisser tomber?
Un changement de schéma est une opération très rapide - il est nécessaire de changer de métadonnées. L'idée originale que j'ai obtenue était de Blog d'Aaron Bertrand - Schema Switch-A-Roo .
Vous pouvez suivre les étapes de ma réponse ici
Évidemment, il existe d'autres méthodes telles que SP_RENAME N'OLD Table ', N'New Table' ou nier simplement les autorisations à la table.
Quelques autres options doivent simplement renommer les tables ou si elles ont des index clusters, vous pouvez désactiver l'index en cluster.
Supprimer les Autorisations sur la table du (s) rôle (s)/compte (s)/compte (s) qui [pourrait] l'utiliser.
Si quelque chose souffle, mettez-les en arrière [rapidement].
Astuce: Utiliser un script pour faire ces changements serait une bonne idée de ces changements, vraiment bonne idée.