salut
j'utilise pour la premiere fois microsoft SQL Server 2005 Express Edition
une fenêtre connect to server dés que j'ouvre sql server
donc qu'est ce que je dois ecrire comme server name ??
salut
j'utilise pour la premiere fois microsoft SQL Server 2005 Express Edition
une fenêtre connect to server dés que j'ouvre sql server
donc qu'est ce que je dois ecrire comme server name ??
Bonjour,
Si vous avez spécifié une instance par défaut durant l'installation, vous pouvez mettre localhost.
Si vous avez nommé l'instance, vous devrez mettre nomDuPC\nomInstance.
Si vous ne vous en rappelez plus ou que vous ne ne savez pas, la popup de connexion vous permet de parcourir les instances locales.
Vous pouvez également utiliser le Gestionnaire de Configuration pour trouver le nom de l'instance SQL Server, dans la page "Services SQL Server".
@++![]()
Par défaut, SQL Server Express installe toujours une instance nommée (SQLExpress) à moins d'avoir spécifié explicitement une instance par défaut. C'est la petite particularité de cette édition
Essayez ceci :
nomPc\SQLExpress ou .\SQLExpress
++
Salut
j'ai essayé d'ecrire : nompc\SQLExpress comme server name mais ce message s'affiche dés que je clique sur connect
" une erreure s'est produite lors de l'établissement d'une connexion au serveur
lors de la connexion SQL server 2005 Cet echec peut etre dù au fait que les paramétres par défaut de sql server n'autorisent pas les connexions à distances error 26 ERREUR lors de localisation du serveur
alors comment je peux savoir le nom de l'instance??
Avec SQL Server Express il faut :
- Activer les connexions à distance (sp_configure 'remote access' ...)
- Activer le protocole TCP dans le gestionnaire de configuration
- Vérifier que le service SQLBrowser soit démarré
++
Bonjour tout le monde,
je me permet de répondre car j'ai le même problèmeque hajer_salhi et je comprends mal les étapes que vous expliquez mikedavem.
Tout ce que je vois, c'est qu'en ouvrant SQL Server Configuration, dans SQL Server 2005 Services, il y a :
- SQL Server (SQLEXPRESS)
- SQL Server Browser
Aussi, je ne comprends pas bien la différence entre les identhification windows et SQL expliquée simplement :p
Merci beaucoup !
Il n'y a pas de souci. Je vais expliciter un peu mieux mes propos.je me permet de répondre car j'ai le même problèmeque hajer_salhi et je comprends mal les étapes que vous expliquez mikedavem.
1.
En ce qui concerne le gestionnaire de configuration j'ai joint une image :
- En rouge : ce que vous allez trouver chez vous
- En vert : La configuration des protocoles réseaux utilisés par le serveur
(Avec l'édition Express vous devez avoir en principe que le protocole "Mémoire partagée" d'activé. Il faut activer TCPIP pour que les clients distants puissent se connecter (ou éventuellement les canaux nommés)
2.
Après avoir activé le protocole TCPIP, il faut dire à SQL Server Express d'autoriser les connexions depuis les postes / serveurs distants.
C'est une option de serveur qui vous permet de faire cela :
sp_configure 'remote access'
3.
Sur SQL Server vous avez le choix entre 2 modes d'authentifications.
Windows seulement : Dans ce mode seuls les connexions de type Windows sont autorisées à se connecter au serveur. Dans ce mode la sécurité liée aux mots de passe par exemple est confié au système d'exploitation.
Authentification mixte (on emploie souvent le terme authentification SQL mais ce n'est pas que cela) : Dans ce mode, les connexions de type Windows sont autorisés mais aussi les connexions de type SQL. Dans le 2ème cas c'est SQL Server qui gère la sécurité des comptes (mots de passe etc ...). Ce mode est utilisé lors que vous ne pouvez pas vous connecter avec un compte de connexion de type Windows (station linux par exemple) ou parce que vous voulez vous affranchir de ce mode de connexion (Imaginez un fournisseur d'application qui veut pouvoir gérer ces comptes de connexion et être indépendant de l'insfrastructure du client ...).
SQLPro a écrit un très bon article à ce sujet.
++
Merci mikedavem pour toutes ces informations.
-> Je comprends pour les 2 modes d'identhification possible mais donc pour me connecter si je met authentification windows je dois mettre les identifiants que j'utilise pour lancer mon OS ?
-> Mais à la base, on créé pas vraiment un nouveau serveur local si ?
-> Aussi, étant débutant, j'ai du mal à voir ce que tu appelles TCPIP :s
-> Aussi, je ne comprends pas ou vous pouvez changer ceci :
"Express vous devez avoir en principe que le protocole "Mémoire partagée" d'activé"
-> Enfin, ou peut-on changer ce paramètre : "C'est une option de serveur qui vous permet de faire cela :
sp_configure 'remote access' " ?
Merci encore !
Bonjour,
Si vous utilisez SQL Server Management Studio, il sont automatiquement collectés-> Je comprends pour les 2 modes d'identhification possible mais donc pour me connecter si je met authentification windows je dois mettre les identifiants que j'utilise pour lancer mon OS ?
Plus précisément une instance SQL Server locale à votre PC.-> Mais à la base, on créé pas vraiment un nouveau serveur local si ?
Il s'agit du protocole réseauAussi, étant débutant, j'ai du mal à voir ce que tu appelles TCPIP :s
Parce que si nous n'avez pas d'autre client qui va se connecter à votre instance SQL Server, il n'est pas nécessaire d'activer le protocole TCP/IP.Aussi, je ne comprends pas ou vous pouvez changer ceci :
"Express vous devez avoir en principe que le protocole "Mémoire partagée" d'activé"
Seule la mémoire partagée suffit
Il vous faut ouvrir SQL Server Management Studio, puis une nouvelle fenêtre de requête, et exécuter celle-ciEnfin, ou peut-on changer ce paramètre : "C'est une option de serveur qui vous permet de faire cela :
sp_configure 'remote access' " ?
Pour les protocoles, lisez le billet que j'ai écrit à ce sujet
@++![]()
Merci beaucoup pour toutes ces explications, ça devient plus clair !
Toutefois, je rencontre un petit soucis.
Je me suis conencté à l'instance du server SQL et j'ai créé une nouvelle BDD nommé Database1
J'ai donc deux BDD, à savoir :System Databases & Database1
Ensuite, quand j'essai de faire une requête toute simple :
ensuite, F5+ctrl puis F5, execution sans problème...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 use Database1 CREATE TABLE dotnet ( chaine [int] )
Seulement voila, quand je regarde à gauche, dans ma Database1, il n'y a aucune table créée, et quand je quitte Microsoft SQL Server Management Studio sans sauvegarder, et que je le relance, la table est bien là ...
Pourquoi ça ne se met pas à jour automatiquement et pourquoi même sans sauvegarder les modiifications avant de quitter SQL Server, la table est quand même créée ?
(Même remarque en faisant après DROP TABLE dotnet)...
Merci encore !
Non, vous avez deux groupes de bases de données :J'ai donc deux BDD, à savoir :System Databases & Database1
- System Databases en regroupe au moins quatre : master, TempDB, model, msdb. Vous verrez éventuellement distribution si l'instance participe à une réplication et est distributeur.
- vos bases de données utilisateur, une seule pour l'instant
Parce que SQL Server Management Studio n'est pas à l'écoute de toutes les modifications de schéma qui peuvent être faites dans une base de données.Seulement voila, quand je regarde à gauche, dans ma Database1, il n'y a aucune table créée, et quand je quitte Microsoft SQL Server Management Studio sans sauvegarder, et que je le relance, la table est bien là ...
Pourquoi ça ne se met pas à jour automatiquement et pourquoi même sans sauvegarder les modiifications avant de quitter SQL Server, la table est quand même créée ?
(Même remarque en faisant après DROP TABLE dotnet)...
Donc quand vous venez d'ajouter ou de supprimer une table de votre base de données, il "suffit" de choisir la node "Tables" et d'appuyer sur F5 pour rafraîchir.
Il en va de même sur une table sur laquelle vous ajoutez ou supprimez une colonne, une contrainte, un index, ...
@++![]()
Merci elsuket pour la rectification et l'explication :-)
J'ai une nouvelle petite question en ce qui concerne la destruction de table.
En fait, j'ai rempli une table avec un INSERT INTO ...
Et lorsque je veux la détruire avec DROP TABLE, que ce soit avec DELETE FROM ...; ou TRUNCATE TABLE ... ; , un message d'erreur apparait en me disant :
Ma table fournisseur est :Impossible de tronquer la table fournisseur parce qu'elle est actuellement référencée par une contrainte FOREIGN KEY.
Voila ! merci pour votre aide :-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 create table fournisseur ( numfournisseur integer primary key );
Après avoir cherché un peu, j'ai essayé le code suivant :
mais évidemment cela ne marche pas car j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER TABLE fournisseur DROP CONSTRAINT numfournisseur
Je ne sais pas vraiment comment m'y prendre :s j'attends vos conseils ! merci !Msg 3728, Level 16, State 1, Line 1
'numfournisseur' n'est pas une contrainte.
Msg 3727, Level 16, State 0, Line 1
Impossible de supprimer la contrainte. Consultez les erreurs précédentes.
Si vous essayez de supprimer les lignes d'une table qui est référencée par au moins une autre table à l'aide d'un DELETE et que la valeur de clé primaire des lignes candidates à la suppression sont référencées dans la table référençante, vous obtenez une erreur qui évite un défaut d'intégrité des données.Et lorsque je veux la détruire avec DROP TABLE, que ce soit avec DELETE FROM ...; ou TRUNCATE TABLE ... ; , un message d'erreur apparait en me disant :
Impossible de tronquer la table fournisseur parce qu'elle est actuellement référencée par une contrainte FOREIGN KEY.
Supposons dans votre cas que vous avez une table de tous les produits vendus par vos fournisseurs.
Celle-ci référence donc la table des fournisseurs.
Si vous supprimez un fournisseur de la table (avec un DELETE), il faut que la table des produits vendus par ce fournisseur n'en contienne aucun.
Si le moteur de base de données ne fait pas cette vérification, alors les lignes de la table des produits vendus par vos fournisseurs pour le fournisseur que vous tentez de supprimer n'ont plus de sens.
Dans le cas d'un TRUNCATE, même s'il existe une clé primaire sur la table, mais que celle-ci n'est pas référencée, vous pouvez exécuter le TRUNCATE.
Dès lors qu'elle est référencée par une autre table, même si la table référençante ne contient aucune valeur de clé de la table "maître", le moteur de base de données refusera de tronquer la table.
Et il a bien raison !
Lorsque vous avez exécuté :Ma table fournisseur est [...] j'attends vos conseils ! merci !
Vous avez créé une table fournisseur, avec une colonne numfournisseur, mais vous n'avez pas précisé le nom de clé primaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE TABLE fournisseur ( numfournisseur integer PRIMARY KEY );
SQL Server en a donc généré un pour vous : rafraîchissez comme je vous l'ai dit le nœud, dans l'explorateur d'objets, qui correspond à votre table.
En ouvrant le nœud Clés, vous verrez que votre contrainte est bien là, avec un nom PK_fournisseur_XXXXXXXXXX, où les X représentent un hexadécimal.
Au passage : de la même façon, il a créé un index cluster sur la colonne (jetez un œil au nœud index de votre table)
Donc en toute logique, quand vous exécutez :
Le moteur vous a répondu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER TABLE fournisseur DROP CONSTRAINT numfournisseur
Alors que vous auriez du exécuter :Msg 3728, Level 16, State 1, Line 1
'numfournisseur' n'est pas une contrainte.
Msg 3727, Level 16, State 0, Line 1
Impossible de supprimer la contrainte. Consultez les erreurs précédentes.
Cela fonctionnera si la contrainte PK_fournisseur_XXXXXXXXXX n'est pas référencée par une autre table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE fournisseur DROP CONSTRAINT PK_fournisseur_XXXXXXXXXX
Et ensuite :
@++
Code : Sélectionner tout - Visualiser dans une fenêtre à part TRUNCATE TABLE fournisseur![]()
Merci beaucoup elsuket ! c'est très clair et ça marche :-)
(A part le TRUNCATE TABLE qui après raffraichissement ne semble pas avoir effacé les tables alors que DROP TABLE le fait c'est bizarre :s)
Par contre, comment je fais pour que le nom de la clé ou contrainte ne soit pas donné par défaut ? Comment je nomme moi même les contraintes FK et PK ?
Merci
Bon j'ai essayé quelques trucs, mais pourquoi quand je fais :
J'ai l'erreur lors de la création de la table musicien suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE representation( numrepresentation int NOT NULL CONSTRAINT pk_numrepresentation PRIMARY KEY, titre_representation varchar(20) NOT NULL, lieu varchar(15) NOT NULL ) CREATE TABLE musicien( nom varchar(20) NOT NULL CONSTRAINT pk_nom PRIMARY KEY, numrepresentation int NOT NULL CONSTRAINT fk_numrepresentation FOREIGN KEY REFERENCES representation(pk_numrepresentation) )
Merci encore !Msg 1770, Level 16, State 0, Line 1
La clé étrangère 'fk_numrepresentation' fait référence à la colonne non valide 'pk_numrepresentation' dans la table référencée 'representation'.
Msg 1750, Level 16, State 0, Line 1
Impossible de créer la contrainte. Voir les erreurs précédentes.
Partager