Des conseils sur la façon dont je peux obtenir programmation exactement le même code source de procédure stockée de SQL Server 2005, comme lorsque je clique droit sur cette procédure stockée dans SQL Server Management Studio et sélectionne modifier?
J'essaie d'utiliser SMO, mais il y a des différences textuelles. La procédure a toujours CREATE, pas ALTER, et il y a des différences dans l'en-tête, telles que des GO manquants dans la version que j'obtiens de manière programmatique. Je peux arranger ça, mais peut-être y a-t-il une meilleure façon?
Encore une fois, je suis dans SQL Server 2005, en utilisant SMSE. Utilisation de SMO via Visual Studio 8 2008.
Mise à jour: J'ai reçu quelques réponses qui expliquent les bases de la façon de récupérer la procédure stockée. Ce que je cherche, c'est la récupération du texte identique (ou presque identique) à ce que génère l'interface graphique.
Exemple : pour sp_mysp, clic droit dans Management Studio, sélectionnez modifier. Cela génère :
USE \[MY\_DB\]
GO
/\*\*\*\*\*\* Object: StoredProcedure \[dbo\].\[sp\_mysp\] Script Date: 01/21/2009 17:43:18 \*\*\*\*\*\*/
SET ANSI\_NULLS ON
GO
SET QUOTED\_IDENTIFIER ON
GO
-- =============================================
-- Author:
-- Create date:
-- Description:
-- =============================================
ALTER PROCEDURE \[dbo\].\[sp\_mysp\]
J'aimerais obtenir de manière programmatique la même chose (remarquez les GOs dans l'en-tête, et le fait que c'est un ALTER PROCEDURE. Idéalement, j'aimerais obtenir cela avec un minimum de correction programmative du code source récupéré.
Je serais heureux d'obtenir quelque chose qui diffère dans les détails de la date du script . . .
0 votes
Si vous êtes concerné par l'entrée des résultats dans un système de contrôle de source, il me semble que la seule contrainte réelle est qu'elle doit être la même chaque fois qu'elle est générée avec les mêmes procédures stockées. Pourquoi voulez-vous que les choses ressemblent à la sortie générée par l'interface utilisateur ?
0 votes
Bonne question. J'ai toute une série de sp qui ont été initialement acquis en enregistrant à partir de l'interface graphique. Je vais juste devoir les modifier. Je pensais que s'il y avait un moyen d'obtenir la même sortie que l'interface graphique, pourquoi ne pas utiliser cela, mais il semble que sp_helptext ou smo (cur. mthd) sont les seuls moyens. Merci!
0 votes
De rien et merci d'avoir choisi ma réponse comme la réponse. Au fait : j'ai eu la même expérience ici sur SO - je pose une question et je me retrouve sans réponse mais, au lieu de cela, une résolution pour prendre une direction différente.
0 votes
Oh oui - et n'oubliez pas de consulter le MS Database Publishing Wizard. C'est particulièrement utile si vous avez des informations "essentielles" dans votre base de données que vous voulez également sauvegarder!