Comment générer un script SQL dans SQL SERVER 2008 R2 sans l'aide de l'INTERFACE utilisateur?
Salut, je suis à l'aide de SQL SERVER 2008 R2, quelqu'un peut-il m'aider à générer un script comme de créer, de modifier, sans l'aide de l'INTERFACE utilisateur.
- ce que tous les objets dans sql server, vous devez générer un script?
- Create Table & Create Schema
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
Scripter
classe dans SQL server Management Objects (SMO) pour ce faire.par exemple: http://www.mssqltips.com/sqlservertip/1833/generate-scripts-for-database-objects-with-smo-for-sql-server/
Scripter Class msdn
msdn.microsoft.com/en-us/library/ms162153.aspxProcédures stockées, vues, fonctions, etc. peuvent tous être inclus dans le script de
sys.sql_modules
tant qu'ils ne sont pas chiffrés:Ou si vous souhaitez script multiples:
Ou tous:
(Bien sûr, ce sont tous condamnés si vous exécutez dans Management Studio et tout dépasse la longueur maximale d'une chaîne de sortie y, ~8K dans les résultats de texte. Mais il semble que vous voulez consommer ailleurs.)
Noter que ce ne sera pas de script l'ENSEMBLE des paramètres qui étaient en vigueur au moment de la création de l'objet, mais vous pouvez prolonger cette requête pour inclure les paramètres comme
ANSI_NULLS
etQUOTED_IDENTIFIER
- que vous pouvez obtenir à partir du même point de vue.Les Tables sont un peu plus délicat. Si vous générez le script dans SSMS pendant que le profileur est en cours d'exécution, vous verrez qu'il le fait à travers un tas de requêtes et de constructions créer la table de script dans le code (en d'autres termes, vous ne pouvez renifler il out). Il peut être assez complexe, selon les options que vous utilisez pour votre tableau, si vous avez besoin d'un script toutes les clés étrangères et les objets dépendants, etc. Pour cela, je préfère la méthode SMO mis en évidence dans podiluska réponse.
Si vous êtes déjà à l'aide de SSMS, alors je ne comprends pas le but de PAS à l'aide de la génération de scripts éléments de menu. Vous pouvez le faire pour plusieurs objets à l'aide de l'Explorateur d'Objets de Détails à la place de l'Explorateur d'Objets, si le singleton approche est le problème:
Essayez ceci:
Créer une procédure stockée avec les étapes suivantes.
1.De la première à obtenir tous les noms de table pour laquelle vous avez besoin de créer une table de script.
2.boucle sur chaque table et obtenir l'info ci-dessous:
3.Maintenant dans la boucle elle-même essayez de remplir dynamiquement le script de table créer.
J'ai écrit un open source utilitaire de ligne de commande nommé SchemaZen qui fait cela. C'est beaucoup plus rapide que les scripts de gestion de studio et elle est sortie plus de contrôle de version conviviale. Il prend en charge les scripts à la fois un schéma et des données.
Pour générer les scripts d'exécution:
Alors pour recréer la base de données de l'exécution des scripts: