Partager via


Vue d'ensemble des paramètres de projet de base de données

Vous utilisez des paramètres de projet de base de données pour contrôler des aspects de vos configurations de build et de bases de données. Ces paramètres sont répartis en plusieurs catégories :

  • Paramètres de projet

  • Événements de build

  • Références

  • Génération

  • Déploiement

Les paramètres de projet, les événements de build et les propriétés de déploiement sont stockés dans le projet de base de données et partagés par le biais d'un contrôle de version.

Notes

Les paramètres spécifiques à l'utilisateur sont stockés dans le fichier .dbproj.user. Les paramètres spécifiques au projet sont stockés dans le fichier .dbproj.

Paramètres de projet

Les paramètres du tableau suivant s'appliquent à toutes les configurations de ce projet de base de données.

Champ

Valeur par défaut

Description

Version du projet

Version de SQL Server que vous avez spécifiée lorsque vous avez créé le projet de base de données.

Spécifie la version de SQL Server que vous ciblez avec ce projet de base de données.

Classement pour le modèle de base de données

Anglais (États-Unis) (1033) - CI

Spécifie les règles par défaut selon lesquelles les données sont triées et comparées dans la base de données SQL Server Compact Edition sous-jacente qui stocke le modèle de votre base de données. Vous devez spécifier une valeur pour ce paramètre aussi proche que possible de votre classement de base de données cible. Il est possible que vous souhaitiez procéder à des adaptations relatives à la casse. Par exemple, vous pouvez utiliser un classement qui ne respecte pas la casse pour le modèle et un classement qui respecte la casse pour votre base de données. Vous pouvez substituer le classement par défaut dans des définitions d'objets.

RemarqueRemarque
Le classement par défaut est le même pour toutes les plateformes.La valeur par défaut ne change pas pour correspondre aux paramètres régionaux actuels.Vous devez définir manuellement le classement approprié pour vos paramètres régionaux.

Schéma par défaut

dbo

Spécifie le schéma par défaut dans lequel les objets sont créés. Vous pouvez substituer ce paramètre lorsque vous modifiez une ou plusieurs des définitions d'objets.

Inclure le nom du schéma dans le nom de fichier

Oui

Spécifie si les noms de fichiers incluent le schéma en tant que préfixe (par exemple, dbo.Products.table.sql). Si cette case à cocher est désactivée, les noms de fichiers des objets prennent la forme NomObjet.ObjectType.sql.

Fichier des propriétés du catalogue

Propriétés\CatalogProperties.catalogproperties

Contient des paramètres de propriétés détaillés pour la base de données cible. Toutes les propriétés correspondent à celles d'une base de données SQL Server. Pour plus d'informations, consultez cette rubrique sur le site Web Microsoft : Database Properties (Page Options).

Paramètres des événements de build

Vous pouvez utiliser ces paramètres pour spécifier une ligne de commande à exécuter avant le début de l'opération de génération et une ligne de commande à exécuter à la fin de l'opération de génération.

Champ

Valeur par défaut

Description

Ligne de commande de l'événement pré-build

Aucune

Spécifie la ligne de commande à exécuter avant la génération du projet. Cliquez sur Modifier pré-build pour modifier la ligne de commande.

Ligne de commande de l'événement post-build

Aucune

Spécifie la ligne de commande à exécuter après la génération du projet. Cliquez sur Modifier post-build pour modifier la ligne de commande.

Exécuter l'événement post-build

En cas de génération réussie

Spécifie si la ligne de commande post-build doit être exécutée toujours, uniquement en cas de génération réussie ou uniquement lorsque la génération a mis à jour la sortie de projet (le script de compilation).

Pour plus d'informations, consultez Comment : spécifier des actions personnalisées qui s'exécutent avant ou après génération et Ligne de commande de l'événement pré-build/post-build, boîte de dialogue (projets de base de données).

Références

Vous pouvez utiliser cette page pour définir les variables de serveur et de base de données associées à une référence entre bases de données. En outre, vous pouvez spécifier les valeurs de ces variables. Pour plus d'informations, consultez Utilisation de références dans les projets de base de données.

Paramètres de génération

Vous pouvez utiliser ces paramètres pour affecter le script de compilation et la base de données cible. Ces paramètres sont spécifiques à la configuration et à la plateforme que vous spécifiez, et ils varient en général d'un utilisateur à l'autre.

Champ

Valeur par défaut

Description

Chemin de sortie de la génération

. \sql\

Spécifie où le script de compilation sera généré lorsque vous générez ou déployez le projet de base de données. Si vous spécifiez un chemin d'accès relatif, vous devez le faire par rapport au chemin d'accès de projet de base de données. Si le chemin d'accès n'existe pas, il est créé.

Nom du fichier de sortie de la génération

NomProjetBaseDeDonnées.sql

Spécifie le nom que vous souhaitez donner au script qui est créé lorsque vous générez le projet de base de données. Si vous avez activé la case à cocher Générer automatiquement le nom de fichier de sortie de la génération, le nom de fichier qui est généré automatiquement remplace toute valeur que vous spécifiez dans ce champ.

Considérer les avertissements comme des erreurs

Non

Spécifie si un avertissement doit provoquer l'annulation du processus de génération et de déploiement. Si cette case à cocher est désactivée, des avertissements apparaissent mais le processus de génération et de déploiement se poursuit.

Ce paramètre est spécifique au projet et non à l'utilisateur, et est stocké dans le fichier .dbproj.

Supprimer les avertissements

Vide

Spécifie une liste de nombres, délimitée par des virgules ou des points-virgules, qui identifient des avertissements supprimés. Les avertissements supprimés n'apparaissent pas dans la fenêtre Liste d'erreurs et n'affectent pas le succès de la génération, même si vous activez la case à cocher Considérer les avertissements comme des erreurs.

RemarqueRemarque
Vous pouvez également supprimer un type d'avertissement pour un fichier spécifique si vous ne souhaitez pas supprimer ce type pour l'ensemble du projet de base de données.Pour plus d'informations, consultez Comment : supprimer un ou plusieurs types d'avertissements.

Déploiement

Vous pouvez utiliser ces paramètres pour contrôler le déploiement de votre projet de base de données.

Champ

Valeur par défaut

Description

Configurer les paramètres de déploiement pour

Paramètres de mon projet

Spécifie si vous souhaitez modifier les paramètres de déploiement du projet partagé avec d'autres développeurs ou si vous préférez ne modifier que les paramètres de votre environnement de développement isolé.

Action de déploiement

Créer un script de déploiement (.sql) et déployer dans la base de données

Spécifie si vous souhaitez déployer le script .sql créé sur le serveur cible ou créer le script sans le déployer.

Nom du script de déploiement

NomProjet.sql

Spécifie le nom que vous souhaitez utiliser pour le script de déploiement.

Connexion cible

vide

Spécifie les informations de connexion du serveur de base de données que vous souhaitez cibler pour la configuration de build spécifiée.

Nom de la base de données cible

NomProjetBaseDeDonnées

Spécifie le nom de la base de données à créer ou à mettre à jour par le biais de la connexion que vous spécifiez dans le champ Connexion cible.

Fichier de configuration de déploiement

Le fichier de configuration de déploiement contient des détails spécifiques à chaque cible de déploiement, comme le décrit le tableau suivant.

Champ

Valeur par défaut

Description

Classement de la comparaison de déploiement

Utiliser le classement de mon projet

Spécifie quel classement utiliser lors de la comparaison des modèles source et cible pendant le déploiement. Si vous cliquez sur Utiliser le classement de mon projet, le classement source est utilisé. Si vous cliquez sur Utiliser le classement du serveur, le classement cible est utilisé.

Déployer les propriétés de la base de données

Oui

Spécifie si les paramètres CatalogProperties.catalogproperties sont déployés lorsque vous déployez le projet de base de données.

Toujours recréer la base de données

Non

Spécifie si la base de données sera supprimée et recréée au lieu d'effectuer un déploiement incrémentiel. Il est possible que vous souhaitiez activer cette case à cocher si vous désirez exécuter des tests unitaires de bases de données par rapport à un déploiement propre de la base de données, par exemple. Si cette case à cocher est désactivée, la base de données existante sera mise à jour au lieu d'être supprimée et recréée.

Bloquer le déploiement incrémentiel si une perte de données peut se produire

Oui

Spécifie si le déploiement s'arrête si une mise à jour entraîne la perte de données. Si cette case à cocher est activée, les modifications susceptibles de créer une perte de données entraînent l'arrêt du déploiement avec une erreur, ce qui empêche toute perte des données. Par exemple, le déploiement s'arrête si une colonne varchar(50) a été remplacée par une colonne varchar(30).

RemarqueRemarque
Le déploiement est bloqué uniquement si les tables dans lesquelles une perte de données peut se produire contiennent des données.Le déploiement se poursuit si aucune donnée n'a été perdue.

Exécuter le script de déploiement en mode mono-utilisateur

Non

Spécifie si la base de données doit être utilisée en mode mono-utilisateur pendant le déploiement. Si vous effectuez un déploiement sur un serveur de base de données partagé, vous devez placer la base de données en mode mono-utilisateur lorsque vous déployez des modifications de base de données. Cette étape empêche les autres utilisateurs d'apporter des modifications pendant que vous déployez le projet. Cette option n'est pas disponible si vous avez activé la recherche en texte intégral dans l'onglet Paramètres du projet des propriétés du projet de base de données.

Remarque importanteImportant
Lorsque la base de données est utilisée en mode mono-utilisateur, toutes les autres connexions existantes à la base de données sont supprimées dès que vous déployez des modifications vers la base de données.La clause ROLLBACK IMMEDIATE est spécifiée afin que les transactions en attente prennent fin dès que la base de données est placée en mode mono-utilisateur.

Sauvegarder la base de données avant le déploiement

Non

Spécifie si la base de données doit être sauvegardée avant de la déployer. Si cette case à cocher est désactivée, aucune sauvegarde n'est automatiquement exécutée. Si la case à cocher est activée, des instructions sont ajoutées au script de prédéploiement pour sauvegarder votre base de données. Une opération de sauvegarde peut être lente. Si vous effectuez une build et un déploiement dans un environnement de développement isolé, il se peut que vous décidiez de ne pas sauvegarder la base de données avant de la générer et de la déployer.

Remarque importanteImportant
Avant le déploiement vers un serveur de production, vous devez toujours sauvegarder la base de données.Si vous ne sauvegardez pas automatiquement la base de données dans le cadre du processus de génération et de déploiement, vous devez la sauvegarder manuellement avant de déployer des modifications.

Générer des instructions DROP pour les objets qui se trouvent dans la base de données cible mais pas dans le projet de base de données

Non

Spécifie si les objets qui sont dans la base de données cible, mais pas dans le projet de base de données, doivent être supprimés dans le cadre du script de déploiement. Vous pouvez exclure des fichiers de votre projet pour les supprimer temporairement de votre script de compilation. Toutefois, il est possible que vous souhaitiez laisser les versions existantes de ces objets dans la base de données cible. Cette case à cocher n'a aucun effet si la case à cocher Toujours recréer la base de données est activée, car la base de données sera supprimée.

Ne pas utiliser d'instructions ALTER ASSEMBLY pour mettre à jour les types CLR

Non

Spécifie si les instructions ALTER ASSEMBLY permettent de mettre à jour des types CLR (Common Language Run-time) ou si l'objet qui instancie le type CLR doit plutôt être supprimé et recréé lors du déploiement de modifications.

Le tableau suivant décrit les paramètres de déploiement avancés.

Champ

Valeur par défaut

Description

AbortOnFirstError

True

Spécifie si le déploiement doit être annulé lorsque la première erreur se produit.

BuildtimeContributorsMustExist

True

Spécifie si les collaborateurs de déploiement (inscrits lors de la création du projet de base de données) doivent être enregistrés lors du déploiement du projet.

CheckNewConstraints

True

Lorsque des contraintes sont créées ou recréées, spécifie si elles sont créées avec l'option NOCHECK activée par défaut. À la fin du script de déploiement, un bloc d'instructions est ajouté et vérifie toutes les contraintes sous la forme d'un seul ensemble. En affectant la valeur True à cette propriété, vous pouvez déployer votre schéma sans rencontrer d'erreur de données (en raison d'un contrôle ou d'une contrainte de clé étrangère) en plein milieu du processus de déploiement en différant la vérification des données à la fin de votre script de déploiement.

CommentOutSetVarDeclarations

False

Spécifie si la déclaration de variables SetVar doit être commentée dans le script de déploiement généré. Vous pouvez décider de le faire si vous envisagez de spécifier les valeurs sur la ligne de commande lorsque vous effectuez un déploiement à l'aide d'un outil tel que SQLCMD.EXE.

DisableAndReenableDdlTriggers

True

Spécifie si les déclencheurs DDL (Data Definition Language) sont désactivés au début du processus de déploiement et sont réactivés à la fin de ce même processus.

DropConstraintsNotInSource

True

Spécifie si les contraintes qui n'existent pas dans votre projet de base de données sont supprimées de la base de données cible lorsque vous déployez des mises à jour sur une base de données.

DropIndexesNotInSource

True

Spécifie si les index qui n'existent pas dans votre projet de base de données sont supprimées de la base de données cible lorsque vous déployez des mises à jour sur une base de données.

EnforceMinimalDependencies

False

Spécifie si les corps des procédures, des fonctions scalaires et des fonctions table sont analysés et interprétés. Si vous activez ce paramètre, les dépendances dans les corps ne sont pas identifiées, mais les modifications apportées à la définition de l'objet seront identifiées. En affectant la valeur True à cette option, il se peut que vous amélioriez les performances, mais les dépendances manquées peuvent provoquer des problèmes lors du déploiement.

GenerateDeployStateChecks

True

Spécifie si les instructions sont générées dans le script de déploiement pour vérifier que les noms de la base de données et du serveur correspondent à ceux spécifiés dans le projet de base de données.

IgnoreAnsiNulls

False

Spécifie si les différences dans le paramètre Valeurs ANSI NULL doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreAuthorizer

False

Spécifie si les différences dans l'Autorisateur doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreColumnCollation

False

Spécifie si les différences dans les classements de colonnes doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreComments

False

Spécifie si les différences dans les commentaires doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreCryptographicProviderFilePath

False

Spécifie si les différences dans le chemin d'accès de fichier du fournisseur de services de chiffrement doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreDdlTriggerOrder

False

Spécifie si un ordre différent des déclencheurs DDL (Data Definition Language) doit être ignoré ou mis à jour lorsque vous déployez des mises à jour sur une base de données ou un serveur.

IgnoreDdlTriggerState

False

Spécifie si les différences à l'état activé ou désactivé des déclencheurs DDL (Data Definition Language) doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreDefaultSchema

False

Spécifie si le paramètre de schéma par défaut pour l'utilisateur doit être mis à jour, s'il est différent, lorsque vous déployez des mises à jour sur une base de données.

IgnoreDmlTriggerOrder

False

Spécifie si les différences de l'ordre des déclencheurs DML (Data Manipulation Language) doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreDmlTriggerState

False

Spécifie si les différences à l'état activé ou désactivé des déclencheurs DML doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreExtendedProperties

False

Spécifie si les différences dans les propriétés étendues doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreFilegroupPlacement

True

Spécifie si les différences dans le positionnement d'objets dans des groupes de fichiers doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreFillFactor

True

Spécifie si les différences dans le taux de remplissage du stockage d'index doivent être ignorées ou si un avertissement doit être émis lorsque vous déployez des mises à jour sur une base de données.

IgnoreIdentitySeed

False

Spécifie si les différences dans la valeur de départ d'une colonne d'identité doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreIncrement

False

Spécifie si les différences dans l'incrément d'une colonne d'identité doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreIndexOptions

False

Spécifie si les différences dans les options d'index doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreIndexPadding

True

Spécifie si les différences dans le remplissage d'index doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreKeywordCasing

True

Spécifie si les différences dans la casse des mots clés doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreLockHintsOnIndexes

False

Spécifie si les différences dans les indicateurs de verrous sur les index doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreLoginSids

False

Spécifie si les différences dans le numéro d'identification de sécurité (SID) doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreNotForReplication

False

Spécifie si les différences dans le paramètre NOT FOR REPLICATION doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreObjectPlacementOnPartitionScheme

True

Spécifie si les différences dans le mappage des partitions pour une table ou un index partitionné avec des groupes de fichiers doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnorePartitionSchemes

False

Spécifie si les différences des schémas et fonctions de partition doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnorePermissions

False

Spécifie si les différences dans les autorisations doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreQuotedIdentifiers

False

Spécifie si les différences dans le paramètre des identificateurs entre guillemets doivent être ignorées ou mises à jour lorsque vous déployez des modifications sur une base de données.

IgnoreRoleMembership

False

Spécifie si les différences dans l'appartenance aux rôles de connexions doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreRouteLifetime

True

Spécifie si les différences dans la durée pendant laquelle SQL Server conserve l'itinéraire dans la table de routage doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreSemicolonBetweenStatements

True

Spécifie si les différences dans les points-virgules entre des instructions Transact-SQL sont ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreStatisticsSample

True

Spécifie si les différences dans l'exemple utilisé pour CREATE STATISTICS sont ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreTableOptions

False

Spécifie si les différences dans les options de table sont ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreUserSettingsObjects

False

Spécifie si les différences dans les objets de paramètres utilisateur sont ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreWhitespace

True

Spécifie si les différences dans les espaces blancs sont ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreWithNocheckOnCheckContraints

False

Spécifie si les différences dans la valeur de la clause WITH NOCHECK pour les contraintes de validation sont ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IgnoreWithNocheckOnForeignKeys

False

Spécifie si les différences dans la valeur de la clause WITH NOCHECK pour les clés étrangères sont ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

IncludeTransactionalScripts

False

Spécifie si les instructions transactionnelles doivent être utilisées lorsque cela est possible lorsque vous procédez à un déploiement sur une base de données.

ScriptDatabaseCollation

True

Spécifie si les différences dans le classement de base de données doivent être ignorées ou mises à jour lorsque vous déployez des mises à jour sur une base de données.

TreatVerificationErrorsAsWarnings

False

Spécifie si les erreurs rencontrées au cours de la vérification du déploiement doivent être considérées comme des avertissements. La vérification est effectuée par rapport au plan de déploiement généré avant l'exécution du plan sur la base de données cible. La vérification de plan détecte des problèmes tels que la perte d'objets cible (tels que les index) qui doivent être supprimés pour apporter une modification. La vérification détecte également des situations où les dépendances, table ou affichage, par exemple, existent en raison d'une référence à un projet composite, mais n'existent pas dans la base de données cible. Vous pouvez choisir d'effectuer cette opération pour obtenir une liste complète de tous les problèmes de déploiement, au lieu que le déploiement ne s'arrête à la première erreur.

UnmodifiableObjectWarnings

True

Spécifie si les avertissements doivent être générés lorsque les différences sont trouvées dans des objets qui ne peuvent pas être modifiés, par exemple, si la taille ou le chemin d'accès du fichier sont différents pour un fichier.

VerifyDeployment

True

Spécifie si les vérifications doivent être effectuées avant le déploiement pour rechercher des problèmes qui empêcheraient un déploiement correct. Par exemple, le déploiement peut s'arrêter si vous disposez de clés étrangères sur la base de données cible qui n'existent pas dans le projet de base de données, ce qui entraînerait des erreurs de déploiement.

Voir aussi

Tâches

Comment : configurer les paramètres de génération pour des projets de base de données et serveur

Comment : configurer les paramètres de déploiement pour des projets de base de données et serveur

Comment : générer un projet de base de données pour générer un fichier de schéma compilé (.dbschema)

Comment : déployer des modifications vers des bases de données nouvelles ou existantes

Procédure pas à pas : création et déploiement d'une nouvelle base de données sous contrôle de version

Procédure pas à pas : déploiement de modifications vers une base de données sous contrôle de version existante

Comment : supprimer un ou plusieurs types d'avertissements

Comment : définir des variables pour les projets de base de données

Concepts

Vue d'ensemble de la génération et du déploiement d'une base de données