C'est l'un de ceux "Je devrais probablement le savoir, mais je ne fais pas" questions ". Comment faire une copie d'une table dans Enterprise Manager? Ne pas exporter les données dans une base de données différente, effectuez une copie de la table dans la même base de données la même base de données em>. À ce stade, je me soucie de si les données sont livrées avec ou non, mais la définition de la table doit certainement être dupliquée. P>
Si je fais CTRL + C sur une table sélectionnée et collez les résultats dans un éditeur de texte, cela me donne une déclaration de table Créer une image prometteuse, mais je ne peux pas pour la vie de moi trouver un endroit pour exécuter cette déclaration . p>
Edit: Notez que je vous pose des questions sur SQL Server Enterprise Manager. strong> Ce n'est pas la même chose que "SQL Server Management Studio". Il n'y a pas de bouton "nouvelle requête", ni dans le coin supérieur gauche ni nulle part ailleurs. En fait, le mot «requête» ne se produit nulle part dans EM sauf dans le menu Outils, et il existe un lien vers Analyzer de requête. P>
6 Réponses :
Essayez ceci:
SELECT * INTO new_table_name FROM old_table_name
@Marth - Cliquez avec le bouton droit de la souris sur la table, ouvrez-la-> Retourner les lignes TOP (100), puis cliquez sur le bouton SQL de la barre d'outils. Remplacez l'instruction SELECT avec celle-ci, puis appuyez sur la touche! bouton.
SELECT * INTO MyNewTable FROM MyOldTable The new table will be created without primary keys, foregin keys nor anything else
1. J'ai spécifiquement besoin des clés et des index, pas tant les données. 2. Où pourrais-je mettre cette déclaration afin de l'exécuter?
Copier une table avec tout le contenu (sans clés et contraintes) copier une table sans contenu (sans clés et contraintes) p> pour le peupler. P> EDIT: Si ce que vous demandez réellement est un endroit pour exécuter SQL dans le gestionnaire d'entreprise, essayez l'analyseur de requête ou le studio de gestion. P> p>
Utilisation de TSQL ...
SELECT * INTO MyTableCopy FROM MyTable WHERE 1=2
Générez un script SQL ... et alors quoi? Cela me donne une fenêtre avec presque rien n'a été activé et rien de tout cela n'a de sens.
Sur la troisième onglet, vérifiez les quatre options "Script de table", puis appuyez sur "OK".
Si vous parlez de 2000 Enterprise Manager: Outils -> Analyseur de requêtes Vous donnera un endroit pour exécuter la requête. P>
Merci, cela a travaillé! Étapes complètes pour la personne suivante: sélectionnez la table que vous souhaitez copier et appuyez sur CTRL + C (ou utilisez le menu contextuel). Dans le menu Outils, sélectionnez Analyseur de requête SQL. Cela rapporte QA avec la bonne base de données sélectionnée et tout. Ctrl + V pour coller l'instruction Create Table. Modifiez la déclaration pour modifier le nom de la table et le nom de toutes les contraintes / touches / etc. Appuyez sur la flèche verte. Ta-da! (Vous devrez peut-être rafraîchir la liste de tables après la fermeture de QA et revenir à EM.)
Vinko: Pas moi. Donc, vous vous expliquez.
FeiHTthief: Je parlais de quelqu'un qui a baissé votre réponse (sans raison valable, Afaict), je ne vous ai pas accusé de descendre de moi ou de personne d'autre.
Vinko: mon apologie. J'ai mal compris. Je suppose que la réponse était de se briser pour eux.
Si vous voulez des clés primaires, etc., cliquez avec le bouton droit de la souris sur la table, sélectionnez "Table de script comme", puis "Créer à", puis "Nouvelle fenêtre". Changez le nom de la table au nom de la copie et exécutez le script. Ensuite, vous pouvez sélectionner selon les autres réponses si vous souhaitez les données. P>
Non seulement le nom doit être modifié, s'il y a des contraintes, ils doivent être renommés également
Un clic droit ne donne pas une option "Table de script comme". Êtes-vous sûr que vous parlez de gestionnaire d'entreprise?
Utilisez Nouveau> Query dans le menu Fichier et collez votre relevé de création. Changez ensuite le nom de la table pour créer et exécuter la requête.
Le gestionnaire d'entreprise (c'est-à-dire pas le studio de gestion) a la nouvelle option de requête?
Si vous ne dites pas la version SQL Server que vous utilisez, personne ne le saura, et vous obtiendrez des réponses que vous ne pouvez pas utiliser avant de mettre à niveau.
Il dit "SQL Server Enterprise Manager", juste dans le titre de la question.
Cela appartient presque à Serverfault, car il n'est pas très en programmation.