[SQL SERVEUR 2000] creation de compte URGENT!

creation de compte URGENT! [SQL SERVEUR 2000] - SQL/NoSQL - Programmation

Marsh Posté le 06-06-2005 à 09:33:39    

heuuu je vais peut être passée pour un boulet mais c'est pas grave j'ai besion d'information au plus rapide.
Je travail sous windows 2k advanced serveur et j'ai un projet sous SQL serveur 2000 à faire et je me prend la tête sur la connexion d'un client a la base de donnée.
 
j'ai 2 problème :
-le premier c'est la creation d'un compte user en ligne de commande sous avec l'analyeur de requete, malgrès que l'on puisse en créé avec l'interface graphique.  
j'ai tester ça:" create user toto identified "1234";
                 grant connect toto; "  
mais il me dit :" syntaxe incorrecte vers le mot clé "user" ". je suis donc preplexe car en SQL pour créé un user c'est bien le mot clé "user" qu'il faut utiliser.J'ai regardé dans les aides du programme mais ils ne mettent pas les commandes pour créer un user.
 
 
-mon 2ème problème est que je ne comprend pas comment on peut ce connecter avec un utilisateur et non une connexion. Car on peut créer des utilisateurs dans les bases de données mais il n'y a aucun moyen (que je connaisse) pour pouvoir avoir accès à la base avec ceux-ci. J'ai reussi à créer des connexions et j'ai reussi à me connecter avec celle-ci mais pas avec des utilisateurs.
 
je trouve même que le système est est assez bizzare car pour créer un connexion il faut que le compte soit créé avant dans les comptes de windows, m'enfin c'est pas le sujet.
 
si quelqu'un a des sites ou je peut trouver du codes SQL serveur 2000 ou des informations ou besions d'autres informations sur mon problème n'hesiter pas à me demander.
merci d'avances

Reply

Marsh Posté le 06-06-2005 à 09:33:39   

Reply

Marsh Posté le 06-06-2005 à 09:37:48    

1/ F1 est ton ami.
2/ F1 est ton ami.
 
Pfffffff... Posez au moins des questions qui ne sont pas détaillées à 25 endroits de l'aide en ligne de SQL Server :o
 
Et SQL Server, c'est pas Oracle, l'aide est on ne peut plus accessible et limpide !

Reply

Marsh Posté le 06-06-2005 à 09:45:43    

Démarche :
 
Dans le query analyser, je fais F1.
Ensuite, je clique sur "rechercher".
Puis je tapes "create user".
 
Dans "Emplacement", je cherche les articles qui sont "Référence de Transact-SQL" et...
 
Là, j'ai le choix entre "GRANT", "USER" et "PERMISSIONS" qui semblent pas mal.
 
Pour grant, y'a tout ce qu'il faut (explications, exemples...)
 
Et pour user, là y'a rien. Allons dans "permissions". Là, t'a tout ce qu'il te faut pour afiner le grant... Mais sans tout ça, où est le truc pour créer les users ?
 
Hmmm... Faut dire que chercher "create user" alors que j'ai une aide en français, c'est pas malin... Allez, "créer utilisateur", voyons ce que ça donne...
 
Tiens, y'a des fonctions système qui semblent pas mal là dis-donc...
 
sp_addrole
 
sp_addrolemember
 
sp_adduser  
 
sp_defaultdb
 
sp_defaultlanguage
 
sp_droplogin
 
sp_grantlogin  
 
sp_helpuser  
 
sp_password
 
sp_revokelogin  
 
xp_logininfo
 
C'est pourtant pas compliqué...
 
PS: sinon, encore plus simple, tu crées une base bidon dans Entreprise Manager, avec des users et des droits.
Puis tu fais "Générer le script SQL", en vérifiant de bien cocher "utilisateur", "rôles" et "permissions".
T'auras tout ce que tu veux dedans...

Reply

Marsh Posté le 06-06-2005 à 12:27:00    

je ne sais pas ou tu a trouver sa mais J'ai regardé dans les aides du programme mais ils ne mettent pas les commandes pour créer un utilisateur, j'ai refais la manipe et il me met tourjours pas ce que je chercher.
j'ai tester tes mots clé et sa ne fonctionne pas.
et quand je fait j'utilise le generateur de script:
if not exists (select * from dbo.sysusers where name = N'tot' and uid < 16382)
 EXEC sp_grantdbaccess N'toto', N'toto'
GO
il me dit que la connexion toto n'existe pas, je ne veut pas créer une connexion je veut créer un utilisateur.
j'appelle pas sa du SQL.m'enfin je pense que je vais pas me prendre la tête la dessus trop lontemps je vais pas avoir le temps car c'etait pas sa qui etait important c'etait surtout l'autre prolbème pour la conexion d'un utilisateur.

Reply

Marsh Posté le 06-06-2005 à 12:38:05    

:heink:
 
T'as testé ces fonctions système ? sp_adduser / sp_addlogin
 
Elles coulent pourtant de source...
 
Quant à moi, quand je crée une base et que je fais exporter convenablement, j'obtiens ça :
 

Code :
  1. /****** Objet :  Base de données tstdb    Date du script : 06/06/2005 12:32:14 ******/
  2. IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'tstdb')
  3. DROP DATABASE [tstdb]
  4. GO
  5. CREATE DATABASE [tstdb]  ON (NAME = N'tstdb_Data', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\tstdb_Data.MDF' , SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N'tstdb_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\tstdb_Log.LDF' , SIZE = 1, FILEGROWTH = 10%)
  6. COLLATE SQL_Latin1_General_CP1_CI_AS
  7. GO
  8. exec sp_dboption N'tstdb', N'autoclose', N'false'
  9. GO
  10. exec sp_dboption N'tstdb', N'bulkcopy', N'false'
  11. GO
  12. exec sp_dboption N'tstdb', N'trunc. log', N'false'
  13. GO
  14. exec sp_dboption N'tstdb', N'torn page detection', N'true'
  15. GO
  16. exec sp_dboption N'tstdb', N'read only', N'false'
  17. GO
  18. exec sp_dboption N'tstdb', N'dbo use', N'false'
  19. GO
  20. exec sp_dboption N'tstdb', N'single', N'false'
  21. GO
  22. exec sp_dboption N'tstdb', N'autoshrink', N'false'
  23. GO
  24. exec sp_dboption N'tstdb', N'ANSI null default', N'false'
  25. GO
  26. exec sp_dboption N'tstdb', N'recursive triggers', N'false'
  27. GO
  28. exec sp_dboption N'tstdb', N'ANSI nulls', N'false'
  29. GO
  30. exec sp_dboption N'tstdb', N'concat null yields null', N'false'
  31. GO
  32. exec sp_dboption N'tstdb', N'cursor close on commit', N'false'
  33. GO
  34. exec sp_dboption N'tstdb', N'default to local cursor', N'false'
  35. GO
  36. exec sp_dboption N'tstdb', N'quoted identifier', N'false'
  37. GO
  38. exec sp_dboption N'tstdb', N'ANSI warnings', N'false'
  39. GO
  40. exec sp_dboption N'tstdb', N'auto create statistics', N'true'
  41. GO
  42. exec sp_dboption N'tstdb', N'auto update statistics', N'true'
  43. GO
  44. if( ( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) ) or ( (@@microsoftversion / power(2, 24) = 7) and (@@microsoftversion & 0xffff >= 1082) ) )
  45. exec sp_dboption N'tstdb', N'db chaining', N'false'
  46. GO
  47. use [tstdb]
  48. GO
  49. /****** Objet :  Table [dbo].[tsttbl]    Date du script : 06/06/2005 12:32:16 ******/
  50. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tsttbl]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  51. drop table [dbo].[tsttbl]
  52. GO
  53. /****** Objet :  Nom d'accès interclass_user    Date du script : 06/06/2005 12:32:14 ******/
  54. if not exists (select * from master.dbo.syslogins where loginname = N'interclass_user')
  55. BEGIN
  56. declare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb = N'tstdb', @loginlang = N'Français'
  57. if @logindb is null or not exists (select * from master.dbo.sysdatabases where name = @logindb)
  58.  select @logindb = N'master'
  59. if @loginlang is null or (not exists (select * from master.dbo.syslanguages where name = @loginlang) and @loginlang <> N'us_english')
  60.  select @loginlang = @@language
  61. exec sp_addlogin N'interclass_user', null, @logindb, @loginlang
  62. END
  63. GO
  64. /****** Objet :  Nom d'accès tstcnx    Date du script : 06/06/2005 12:32:14 ******/
  65. if not exists (select * from master.dbo.syslogins where loginname = N'tstcnx')
  66. BEGIN
  67. declare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb = N'tstdb', @loginlang = N'Français'
  68. if @logindb is null or not exists (select * from master.dbo.sysdatabases where name = @logindb)
  69.  select @logindb = N'master'
  70. if @loginlang is null or (not exists (select * from master.dbo.syslanguages where name = @loginlang) and @loginlang <> N'us_english')
  71.  select @loginlang = @@language
  72. exec sp_addlogin N'tstcnx', null, @logindb, @loginlang
  73. END
  74. GO
  75. /****** Objet :  Nom d'accès BUILTIN\Administrateurs    Date du script : 06/06/2005 12:32:14 ******/
  76. exec sp_addsrvrolemember N'BUILTIN\Administrateurs', sysadmin
  77. GO
  78. /****** Objet :  Utilisateur dbo    Date du script : 06/06/2005 12:32:14 ******/
  79. /****** Objet :  Utilisateur tstusr    Date du script : 06/06/2005 12:32:14 ******/
  80. if not exists (select * from dbo.sysusers where name = N'tstusr' and uid < 16382)
  81. EXEC sp_grantdbaccess N'tstcnx', N'tstusr'
  82. GO
  83. /****** Objet :  Table [dbo].[tsttbl]    Date du script : 06/06/2005 12:32:18 ******/
  84. CREATE TABLE [dbo].[tsttbl] (
  85. [id] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
  86. ) ON [PRIMARY]
  87. GO
  88. ALTER TABLE [dbo].[tsttbl] WITH NOCHECK ADD
  89. CONSTRAINT [PK_tsttbl] PRIMARY KEY  CLUSTERED
  90. (
  91.  [id]
  92. )  ON [PRIMARY]
  93. GO
  94. GRANT  SELECT  ON [dbo].[tsttbl]  TO [tstusr]
  95. GO
  96. DENY  DELETE  ON [dbo].[tsttbl]  TO [tstusr] CASCADE
  97. GO


Message édité par Arjuna le 06-06-2005 à 12:39:15
Reply

Marsh Posté le 06-06-2005 à 12:57:32    

oui j'ai tester les 2 fonctions système sp_adduser / sp_addlogin  
 je n'ai pas l'habitude de travailler avec SQL serveur 2000 donc j'ai un peut de mal avec sa syntaxe.
 
merci de ton aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed