|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 54 ![]() |
Bonjour,
Je cherche des infos sur la gestion de la ram sur SQL2005. Faut il envisager plusieurs instances sur un serveur W2003 de 16 Go de RAM pour optimiser l'utilisation de la ram avec un sql 2005 voire 2008 ? Faut il 1 instance avec x bdd ? Y a t-il un choix à faire si SQL gére bien la ram ? Merci de vos retours d'expert en la matière. |
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() |
SQL SERVER à son propre OS intégré (SQLOS), comme tout bon SGBDR qui se respect son fonctionnement tend à utiliser toute la RAM dont il dispose pour garder le plus de pages de données en mémoire afin de pouvoir répondre le plus efficacement possible aux requêtes...
C'est pourquoi il est conseillé d'installer SQL SERVER sur son propre serveur (ressources physiques dédiées). Vous pouvez bien sûr paramétrer l'utilisation de la RAM (limitation de la taille max etc.). Conclusion: il gère bien la RAM Citation:
NON
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#3 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 668 ![]() |
Bonjour,
Pour compléter les propos de Iberserk : Citation:
SQL Server gère bien mieux que n'importe quel utilisateur la RAM, faites-lui confiance @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Le choix de plusieurs instances peut se faire sur plusieurs critères :
- Problème d'isolation de la sécurité - Problème de collations - Problème de collisations de nom de bases de données (2 applications qui ont le même nom de bases de donnnées par exemple) ++ |
|
00
|
|
|
#5 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 668 ![]() |
Mikedavem,
- Problème d'isolation de la sécurité : cela peut être géré au niveau du schéma - Problème de collations : cela peut être géré au niveau table - Problème de collisations de nom de bases de données (2 applications qui ont le même nom de bases de donnnées par exemple) : pas compris @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#6 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Citation:
Problème d'isolation de la sécurité Les solution qui existent aujourd'hui en matière de sécurité dans 2008 sont largement suffisantes pour ne pas devoir utiliser plusieurs isntances. Problème de collations Totalement réglé si les créations des tables temporaires explicites (et non en SELECT ... INTO) se font avec COLLATE database_default Problème de collisations de nom de bases de données Il suffit de jouer sur les schémas SQL et de prévoir le ou les SQL user qui vont bien avec le schéma par défaut associé. Il n'y a donc aucune raison sérieuse pour placer plusieurs instances sur une même machine. En revanche : le demandeur n'a pas dit s'il était en 32 ou 64 bits et cela change tout !!!!! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
|
00
|
|
|
#7 | ||||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
Citation:
Citation:
Citation:
Il y a encore bon nombre de cas où l'installation de plusieurs instances s'impose mais comme vous, si je peux éviter d'avoir plusieurs instances je le fais systématiquement. ++ |
||||
|
00
|
|
|
#8 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 668 ![]() |
Citation:
Ne me réponds pas que ça coûte cher ! Outre les exemples de contrôle sur le schéma que je comprend tout à fait (bon nombre de participants viennent sur ce forum avec cette contrainte), les autres exemples que tu donnes me semblent être des cas particuliers. Je pense qu'il y a peu de chances pour que deux applications : - éditées par deux entreprises différentes - crées par la même entreprise aient le même nom de bases de données. Mais peu de chances signifie que c'est possible Ici je crois que ce que met en avant SQLPro est l'ignorance terriblement répandue et très difficile à combattre des schémas de base de données. Il m'est actuellement impossible de faire comprendre au DBA principal que si l'on organisait logiquement les tables à travers des schémas, ce serait un peu plus simple de gérer 4000 tables ... Au lieu de cela, chacune est précédée par une abréviation qui aurait du en fait être le nom du schéma ... Je ne vois aucun avantage à avoir plusieurs instances sur la même machine, si ce n'est satisfaire une certaine radinerie, dont les entreprises sont particulièrement friandes (quelle que soit leur taille). Si elles regardaient le temps que leurs DBAs perdent à chercher la petite bête pour faire qu'un tout petit serveur tienne tout juste la charge de l'entreprise, elles changeraient peut-être d'avis. En revanche, avoir plusieurs bases de données sur un seule instance SQL Server me semble avoir du sens si l'on souhaite avoir des fichiers de journaux de transaction séparés, en considération d'un plan de reprise d'activité et éventuellement de haute disponibilité. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
10
|
|
|
#9 | |||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
Citation:
Citation:
++ |
|||
|
00
|
|
|
#10 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Citation:
1) base qui bosse pas à plein régime 2) économie de licence : 1 seule licence pour les 2 instances puis que le pris est fonction des CPU physiques.... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Effectivement sur le coût on y gagne tu as raison mais alors après il faudra aussi prendre en compte les problématiques de performances qu'amène la virtualisation ... surtout si le paramétrage en amont est mal fait.
On peut se demander alors quel est le mieux : Avoir un serveur physique et 2 instances ou 2 serveurs virtuels avec une instance propre ? ++ |
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 54 ![]() |
Merci à tous pour ces réponses.
Je vois que la solution est à trouver en fonction de son cas et des principes de la gestion des BDD En l'occurence, nous souhaitons utiliser MS Query qui requiert que l'utilisateur précisé soit SYSADMIN. Et donc admin de toute l'instance. Cet utilisateur est un utilisateur Editeur auquel nous ne souhaitons pas donner ce droit. Il y a peut être un moyen de gérer ce cas ?? Comment faire autrement que de créer 1 instance dédié pour notre base Editeur ? Concernant mon serveur C'est un 64 Bits Merci |
|
|
00
|
|
|
#13 |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 158 ![]() |
J'ai une question concernant la logique 1 DB avec plusieurs schemas pour differents clients et la securite au niveau des schemas.
Lorsqu'un client demande un restore, comment fait on pour restaurer un seul schema ? Si vous avez des references la dessus je suis prenneur a 100% ! Je suis d'accord aussi avec Mikedavem concernant plusieures instances sur un serveur comme je l'ai deja explique brievement dans d'autres posts. D'autant plus si on considere 3 voir 4 environnements (DEV/INT/QA/PROD), il va vite falloir investir dans un datacenter complet. Pour ce qui est du DBA et de l'organisation des tables - Il n'est pas toujours demande au DBA de savoir ce que contienne les DBs. Juste de gerer des boites, des sous boites et des sous-sous-boites (serveurs, instances et dbs + disques et tout le tralala qui va avec...). Le cote applicatif et le reste etant gerer par d'autres equipes. Cote securite des donnees, je en veux absolument pas qu'une application qui necessite un SA puisse acceder aux donnees d'autres bases sur la meme instance. Comment je fais ? Est ce que le deny fonctionne sur un SA (jamais teste...) ? Dans ce cas pourquoi pas mettre directement 2 instances sur un serveur physique plutot que sur un host de VM ? On a une couche a gerer en moins et qui plus est, on charge pas en memoire 2 OS complets (windows...) avec bien entedu segregations des ressources... |
|
|
00
|
|
|
#14 | ||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
Citation:
++ |
||
|
00
|
|
|
#15 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Vous ne pouvez pas restaurez un seul schéma. Mais si vous mettez toutes les tables d'un même schéma dans un seule et même filegroup alors vous pouvez faire des sauvegardes partielles.
En revanche vous ne pouvez pas faire des restaurations partielles car cela n'a pas de sens. Mais rien de vous empêche de restaurer sous une autre base et importer les données de l'autre base dans la base de production.... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#16 | |
|
Membre Expert
![]() ![]() |
Citation:
J'avais évoqué cette problématique dans mon commentaire à cet article de sqlpro Il me semble que sous ORACLE le backup/restore de schema d'une instance est possible |
|
|
00
|
|
|
#17 | |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 158 ![]() |
Citation:
Niveau recovery time, je ne pense pas que les clients soient tres heureux. De plus, cela necessite d'avoir un espace de storage disponible en tout temps. De plus si l'on part dans cette direction, on egare dans la notion de schema qui permet d'organiser les tables (ie dans un datawarehouse en fonction des differents datamarts) qui deviendrait plus une notion de "base de donnees" au sens SQL server du terme. Comment alors organiser ces tables ? Utiliser des naming conventions au niveau des schemas genre <schema>_<sous-schema> ? Je pense personellement que ca devient complique a gerer. |
|
|
|
00
|
|
|
#18 |
![]() ![]() ![]() |
Restaurer un fichier de 200 Mo ne prend que quelques secondes sur un serveur dédié. Le seul problème reste l'organisation du stockage des données des differents shémas.
Cordialement;
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
|
|
00
|
|
|
#19 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Citation:
D'autre part vous confondez deux notions : haute disponibilité et besoin de sauvegardes... Je vais en reparler... Citation:
De toute façon la nécessité d'une norme de nommage est plus qu'importante. Elle est à mon sens impérative... Pour ce qui est de la sauvegarde : celle-ci ne doit être utilisée qu'en dernier recours et ce dans deux cas de figure bien distinct : 1) la récupération de données ancienne 2) le sinistre majeur (incendie, dégâts des eaux....) Dans les deux cas, vous consommerez beaucoup plus de temps dans l'organisation du scénario de reprise qu'au temps réel de la restauration ! Prenons le premier cas : restauration de données anciennes, avec un exemple.... Suppression malencontreuse d'un client et ses factures suite à une fausse manœuvre. Il vous faudra beaucoup de temps pour reprendre les données de la sauvegarde et les remettre dans la base de prod. En effet, vous ne devez pas arrêter la base de prod pour ce faire, mais restaurer à côté et faire quelques requêtes de réinsertion. Pour peu que les clefs primaires aient été réutilisées, alors vous allez passer quelques heures, voir quelques jours à retrouver vos petits. Prenons le second cas : sinistre majeur, là il vous faudra retrouver un local, racheter des machines.... Vous confondez reprise des données et haute dispo.... Si vos exigences sont de n'avoir pas d'interruption de service lors d'un sinistre mineur (perte d'une disque, d'une alim, d'une mémoire, d'un CPU... ) alors la solution est la haute dispo qui ne se fait pas avec des sauvegardes mais avec du clustering, du mirroring, voir du log shipping, tout dépend de la perte des données envisageable entre une synchro absolue (0 perte) et quelques minutes. A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||
|
10
|
|
|
#20 | |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 158 ![]() |
Citation:
Il n'est pas possible de restaurer une base de donnees partiellement. Donc pour restaure un schema de 200MO il faut restaurer l'entierete de la base de donnees (qui pourrait au total faire plusieurs GO/TO) sous un autre nom. Une amelioration a apporter a SQL Server (pour rebondir sur ce sujet) serait donc de pouvoir effectuer une restauration d'un "contained schema" d'une base de donnee individuellement. La notion de "contained schema" se rapproche de l'idee des contained databases de Denali, dans le sens ou le schema a lui seul est independant de la base de donnee dans laquelle il se trouve et peut etre restaurer en standalone. (Pas de FK referencee vers un autre schema, pas de stored procedures utilisant un autre schema, pas de vue referencant un autre schema, ...). On pourrait aller plus loin avec des "Partial contained schema" qui pourrait avoir une relation avec un ou plusieurs schemas et pour restaurer l'un de ces schema, les autres schemas necessite d'etre restaure aussi. C'est juste une idee ainsi... |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com