Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1331 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL Server 2000 : migration vers un nouveau server

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL Server 2000 : migration vers un nouveau server

n°1216585
ineluki
Posté le 06-10-2005 à 14:21:46  profilanswer
 

Bonjour,
 
notre serveur SQL Server 2000 se fait vieux. Nous avons donc acheté un tout nouveau serveur. J'ai installé SQL Server 2000 sur le nouveau serveur, et à présent il me reste la tâche délicate de migrer toutes les databases (une centaine) de l'ancien, vers le nouveau serveur. Je dois également recuperer les Logins, users, etc etc ...
 
Helas, je suis assez nouveau dans la boite, et je n'ai encore jamais fait ça. Quelqu'un peut me dire quelle est la procédure la plus simple et la plus sûre pour effectuer cette migration ??
 
Merci d'avance !!

mood
Publicité
Posté le 06-10-2005 à 14:21:46  profilanswer
 

n°1216647
Slash-
Posté le 06-10-2005 à 14:53:51  profilanswer
 

Salut,
 
pour migrer les bases de données je pense qu'un simple detach de chaque base sur l'ancien, copie des fichiers sur le nouveaux server, puis attach de chaque base sur le nouveau sql server devrait suffire.
 
Pour les logins je sais pas trop, vaut mieux que quelqu'un d'autre reponde
 
a+

n°1216654
ineluki
Posté le 06-10-2005 à 14:56:41  profilanswer
 

Ok merci :)
 
Sinon, si je veux garder l'ancien serveur au cas où, un Import / Export Data avec l'option "Copier tous les objets" activée, ça marche aussi, mais c'est plus long non ?

n°1216668
Slash-
Posté le 06-10-2005 à 15:03:48  profilanswer
 

Oula! Les DTS je deteste ca, je veux pas en entendre parler. Je saurai donc pas trop t'aider avec cette technique

n°1217199
Arjuna
Aircraft Ident.: F-MBSD
Posté le 07-10-2005 à 00:39:58  profilanswer
 

Plusieurs solutions :
1/ Tu restores les backups de l'ancien serveur sur le nouveau
2/ Tu fais un lot DTS de récupération des objets. Sauf qu'au lieu de l'exécuter, tu l'enregistre. Après, tu le modifies pour qu'il boucle sur toutes tes bases.
 
Slash- > Qu'est-ce qui t'ennuie avec DTS ?

n°1219401
ineluki
Posté le 10-10-2005 à 12:11:57  profilanswer
 

Dois-je inclure les bases system (Master, etc etc) dans ma migration ?
 

n°1219759
Arjuna
Aircraft Ident.: F-MBSD
Posté le 10-10-2005 à 17:26:36  profilanswer
 

Non, les bases systèmes sont toujours présentes sur une instance de SQL Server. Les données qu'elles contiennent dépendent des autres bases, il ne faut en aucun cas les "forcer". Contente-toi de prendre les tables que tu as créé toi-même.

n°1220260
ineluki
Posté le 11-10-2005 à 11:12:37  profilanswer
 

Voilà ! La migration s'est bien déroulée, et m'a occupé une bonne partie de la nuit ...
 
J'ai coupé l'ancien serveur, copié l'intégralité des fichiers MDF/LDF sur le nouveau serveur (toutes les bases utilisateurs, pas les bases systèmes), puis j'ai fait un Attach Database sur chacune des bases. Cependant, il subsiste un problème et non des moindres :
 
- Tous nos sites attaquaient la base de données avec Iusr / Iusr comme User / Pwd. Ce login etait présent dans la partie Logins / Security de SQL Server, mais dans les permissions, aucune base ne lui était attaché. Lorsque je tentais de lui attacher une DB via la petite Checkbox, il me disait que ce login existait déjà. J'étais donc obligé de supprimer le login user, présent cette fois dans la partie Users de chaque DB, pour pouvoir lui assigner la DB en question, ce qui a eu pour effet de recréer le iusr précédemment effacé, mais sans aucune permission d'accès !!! Donc, dans chaque DB, j'ai du réactiver toutes les permissions (stored procedures, Select des tables, etc etc ...), ce qui équivaut à environ 150 check par DB, et il y a 150 DB. Pa rmanque de temps, donc, j'ai preferé dans un premier temps changer l'identifiant de connexion sur tous nos sites, en utilisant le sa qui lui par défaut, donne accès à tout.
 
Donc voici ma question : Y a t il une possibilité de réassigner toutes les bases au login iusr sans avoir à les effacer un par un dans chaque DB et recréer toutes les permissions d'acces ? Sinon, y a t il un réel risque de configurer ses sites avec le login sa ?
 
Voilà, désolé si ce message est un peu confus, et merci d'avance de m'éclairer :)


Message édité par ineluki le 11-10-2005 à 11:13:53
n°1220314
Arjuna
Aircraft Ident.: F-MBSD
Posté le 11-10-2005 à 12:46:48  profilanswer
 

Ah oui, la migration des droits, c'est toujours le bordel...
 
Bon, vu ce que tu racontes, ça tombe bien, y'avais un sacré boulot de mise en place d'une réelle politique de sécurité dans vos bases !
 
Dans un premier tems :

Code :
  1. Sinon, y a t il un réel risque de configurer ses sites avec le login sa ?


 
sa, comme son nom l'indique ("super administrateur" ), ben... c'est l'équivalent d'un point de vue logique du compte "administrateur" de NT.
En admin système avisé, vas-tu permettre à tes utilisateurs d'utiliser le compte admin du domaine pour lire leurs mails ? Voilà, t'as ta réponse ;)
 
C'est d'autant plus vrai que le compte sa est un synonyme du compte Administrateur local de la machine. Ainsi, avec ce compte, on peut faire un sacré paquet de conneries, style éxécuter des instructions CMD depuis la base, ou autres joyeusetés qui peuvent rapidement guider à un point de non retour.
 
Ensuite, donner le même login/pass à toutes les bases, c'est archi-moyen... J'en déduis vu le nom, que vous faites de l'hébergement de site internet (ou intranet). Je ne sais pas si ce sont des clients interne ou non, mais même en interne, je doute que vos clients trouvent ça sympa qu'un concurrent (même entre services ça arrive, plus que sur le marché d'ailleurs) vienne trifouiller dans le base. Utiliser des comptes un peu plus sécurisés est donc un peu plus safe...
 
Ensuite, IIS permet d'authentification à SQL Server via le compte NT. SQL Server support les connections avec des login NT, donc autant en profiter.
 
Vous avez deux choix distincts :
- la non-restriction de lecture/écriture d'une base à l'autre ne vous dérange pas du tout (autres systèmes de sécurité, données absolument pas importantes, client unique, etc.)
=> Créez un groupe de droits dans SQL Server. Donnez des droits à ce groupe (ou rôle) dans les bases. Dans IIS, vérifiez que vous utilisez le compte "IUSR_nommachine" pour faire tourner chaque site. Si c'est sur la même machine que SQL Server, alors laisse comme ça. Sinon, mettez un nouveau compte :
login: tôt¤_l@~prà|iñ€
passe : QbAâ-p2_}¨=Ât|5,ˆ0ˆ§äÛH$FE8Îd>¨RJ¡¨A’dÛmoÛq3
=> c'est c'est du mdp ou je ne m'y connais pas :D (prendre un divx ou un mp3 dans notpad, copier une ligne, et virer tous les caractères pas faisables au clavier / le code barre du de la carte mère, c'est pas mal aussi, mais les suites numériques à 13 chiffres ça se carck en moins d'une heure sur un PC récent). Sur le serveur SQL Server, créer le même compte (sauf si c'est IUSR_xxx).
Dans SQL Server, attribuer à ce compte le rôle que vous avez créé juste avant.
- Vous ne voulez pas qu'un site puisse se connecter à une autre base que la sienne
=> Créez pour chaque site un compte NT et faite tourner chaque site avec son propre compte
Sur le serveur SQL, recréez ces mêmes comptes, et donnez leur l'accès à la base correspondante.
 
Avantage pour une migration : il suffit de répliquer les droits NT sur le nouveau serveur. Si vous bossez en domaine, c'est aisé, mais malheureusement non recommandé par Microsoft.
 
Ensuite, la chaîne de connection SQL Server depuis les sites :
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=NOM_DE_LA_BASE;Data Source=NOM_OU_IP_DE_SQL_SERVER (local si en local)"
 
Sinon, pour en revenir à la question de départ, malheureusement, je ne vois pas de solution miracle à moins d'écrire un script T-SQL qui fasse le boulot.


Message édité par Arjuna le 11-10-2005 à 12:48:32
n°1220380
ineluki
Posté le 11-10-2005 à 14:14:09  profilanswer
 

Merci beaucoup pour ton aide :)
 
Je vois que le boulot est encore loin d'être terminé donc ;) Surtout que notre IIS n'est pas sur la même machine !!
 

mood
Publicité
Posté le 11-10-2005 à 14:14:09  profilanswer
 

n°1220711
Arjuna
Aircraft Ident.: F-MBSD
Posté le 11-10-2005 à 19:41:08  profilanswer
 

Là ça risque d'être chiant. En effet, je ne suis pas certain que créer les mêmes comptes sur les deux machines soit suffisant... Si possible, essayez de mettre en domaine les deux machines afin d'éviter tout problème...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL Server 2000 : migration vers un nouveau server

 

Sujets relatifs
Extraire le résultat d'un commande dos vers un fichierjaponais, unicode et SQL Server
SQL Recursif ?????conversion japonais vers code unicode
chemin dynamique vers un clip: _root["carre"+i+"_mc"]Migration Access => Mysql : changement code asp ??
SQL Server 2000, fonctions, procedures stockes et exec 
Plus de sujets relatifs à : SQL Server 2000 : migration vers un nouveau server


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR