Comment faire pour modifier une colonne sans la suppression d'une table dans SQL server 2008
Pourquoi SQL 2008 tout d'un coup envie de déposer mes tables quand je vais pour changer le type de la colonne de dire int pour de vrai? Ce n'est jamais arrivé dans SQL 2005, à ma connaissance. Aucune information serait utile s'il vous plaît.
- Cette réponse sur SF réponses correctement [stackoverflow.com/a/11035353/1711106][1] [1]: stackoverflow.com/a/11035353/1711106
Vous devez vous connecter pour publier un commentaire.
Dans SQL Server 2008, allez dans Outils >> Options. Dans la petite fenêtre, cliquez sur "Designer". Décochez la case "Empêcher l'enregistrement des modifications qui exigent ..."
=====
Édité sur Septembre 4th, 2015.
J'ai ajouté cette réponse ici un long, long time ago décrivant la façon dont je voudrais résoudre la situation décrite sur la question ci-dessus. Depuis lors, les utilisateurs sur les fils ci-dessous ont exposé plusieurs préoccupations à faire les choses à la façon dont je l'ai recommandé à l'époque. Fondamentalement, la solution que j'ai décrite pourrait être problématique sur certains scénarios. Ensuite, je vous suggère de continuer à lire pour vérifier d'autres utilisateurs les commentaires et choisissez la meilleure solution pour vous.
Je ne peux pas croire que la réponse sommet a été assis ici pendant si longtemps - il est très dangereux de conseils!
Il y a quelques activités que vous pouvez faire en place, sans renoncer à votre table:
Si vous vous trouvez dans la situation où la modification d'une colonne n'est pas possible sans la suppression de la table, vous pouvez généralement utiliser un
SELECT INTO
requête de projet vos données dans une nouvelle table, puis la chute de l'ancien tableau (de désactiver temporairement les contraintes) puis le renommer la projection de la table. Vous aurez besoin de prendre votre base de données hors ligne pour maintenance dans ce cas.Voici ce que j'utilise:
J'ai le même problème. Même si mon compte a sa droits si j'ai essayer d'utiliser un autre compte sa il fonctionne. Il semble que d'une certaine façon mon compte n'a pas la possibilité de la modifier. toujours en train d'enquêter, mais c'est un problème d'autorisation.
mise à jour:
Je ne expain il. mais c'est ce que j'ai fait. il y a deux groupes de domaine de mon compte appartenait à. L'un était une nouvelle ANNONCE de groupe de domaine et l'autre était une NT legay groupe de domaine. Une fois que j'ai enlevé l'héritage de groupe de domaine, j'ai été en mesure de modifier la table. Vous l'esprit les deux groupes ont eu "sa" privilèges.
Le problème a été que les alter commandes de résultat en cas de succès, mais rien n'a changé sur la table. Puis quand j'ai essayé manuellement pour modifier les champs par les concepteur il se plaint que je n'étais pas autorisé à faire des changements si nécessaire pour supprimer et recréer la table. J'ai trouvé le réglage des outils et j'ai été en mesure de désactiver cette fonction. Mais ce tableau est énorme et n'est pas une bonne idée de le faire. Je woud conseiller les autres contre elle.
donc c'était un problème d'autorisation. Je ne peux pas expliquer comment, mais j'espère que cela aide quelqu'un d'autre
Une autre façon de sans totalement la suppression de la table est
De rendre la colonne nullable si ce n'est pas déjà autoriser les valeurs null. Définissez les valeurs de la colonne nulle par
faire