2008-12-09 6 views

Répondre

1

Eh bien, PowerShell lui-même ne vous donnera pas beaucoup de la manière d'une aide supplémentaire. Vous ne mentionnez pas quelle version de SQL, donc je serai un peu générique. Vraiment, tout ce que vous avez à faire est d'avoir votre fichier de script copier les DLL nécessaires pour vos procs stockés CLR - PowerShell peut copier des fichiers comme un maniaque, donc pas de problème là-bas. Ensuite, vous devez exécuter l'instruction CREATE ASSEMBLY dans SQL. PowerShell nativement ne peut pas aider avec ceci. Si vous utilisez SQL Server 2008, votre script peut-PSSnapin Ajouter le fournisseur de SQL applet de commande, qui vous donnera une applet de commande capable d'exécuter des requêtes SQL - de sorte que vous obtient votre déclaration CREER.

Si vous n'avez pas 2008, vous devrez écrire une courte routine .NET pour créer une SqlConnection et une SqlCommand - pas difficile, et peut-être même dans PowerShell.

Ensuite, utiliser la même technique pour exécuter votre instruction CREATE PROC pour créer réellement la procédure stockée en utilisant l'ensemble précité.

Zat aide? Dommage qu'il n'y ait rien de plus automatisé, c'est vrai. MS n'a pas dépensé beaucoup d'intelligence pour simplifier les choses complexes de déploiement SQL de cette nature, je ne pense pas, et les trucs CLR ajoutent un peu de piment supplémentaire puisque vous devez rendre l'assembly disponible.

+0

Merci Don, J'espérais éviter d'avoir à exécuter CREATE PROC car nous avons beaucoup de procédures stockées CLR et ne voulons pas vraiment avoir à maintenir une liste séparée dans le script de déploiement. Je ne suis pas sûr à quel point il serait simple d'interroger l'assemblée et de retirer automatiquement les procédures –

+0

Non-simple, malheureusement. C'est un domaine dans lequel la SP n'a pas, comme je l'ai dit, beaucoup dépensé. Le scriptage d'une base de données entière et de ses objets est facile jusqu'à ce que les trucs CLR soient impliqués. –

0

L'Assistant de publication SQL Server peut scripts CLR stockées procs sous forme de texte. On dirait qu'il convertit la source binaire des processus stockés CLR en une sorte de texte codé en hexadécimal.

Questions connexes