Précédent   Forum des professionnels en informatique > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2007, 11h57   #1
Membre du Club
 
Inscription : mars 2007
Messages : 248
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 248
Points : 46
Points : 46
Par défaut [ASE 15.2] Suppression schema dbo (contraintes d'intégrité)

Bonjour
Lors de nos tests, nous avons besoin de supprimer l'ensemble des tables d'une base (schéma dbo) avec des contraintes d'intégrités.
Est-il possible de forcer cette suppression en masse sans tenir compte de l'ordre des contraintes ?

Je rencontre des problèmes (plantage session) lors de la suppression manuelle des contraintes.

Merci de votre aide
msomso

PS
Avec Oracle, la méthode consiste à supprimer le compte et le recréer, mais avec dbo, je crois que ce n'est pas possible ....
msomso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 18h24   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Soit vous suivez l'ordre des contraintes
Soit vous jouez voter script de drop tables en boucle tant qu'il y a des tables
Soit vous générez avant tout un script de suppression de toutes les IR, ce qui est le plus élégant.

Il y a aussi l'option déconseillée de flinguer les RI directement via les tables système.
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 10h15   #3
Membre du Club
 
Inscription : mars 2007
Messages : 248
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 248
Points : 46
Points : 46
Bonjour,

le problème est que, sans parler du script que je ferais volontiers, je n'arrive pas à supprimer certaines contraintes manuellement: ma session reste bloquée.
Pour certaines tables, l'ordre "drop table" fait planter la session sans aucun message d'erreur et sans qu'il n'y ait aucune contrainte FK référençant cette table dans sysconstraints.

J'ai trouvé un message d'erreur dans le log du serveur :
Citation:
server Failed to allocate memory for column level datachange counters for database 'xxx' (5), object 'yyy' (12425365zz), data partition 'yyy_1242536529' (12425365zz). Column level datachange counters will not be tracked. Increase the config parameter 'procedure cache size' to allocate more memory.
J'ai augmenté alors le paramètre indiqué ci-dessus, mais le problème a continué. Et curieusement, il semblerait que seulement la suppression des index a permit de supprimer les tables restantes (action entreprise par mon collègue).

Quelqu'un aurait rencontré/résolu ce problème ?

-------------------------------------------------------
J'en profite pour poser quelque questions concernant les procédures sp_primarykey, sp_foreignkey et sp_dropkey. La documentation est un peu confuse à ce sujet (et au sujet de contraintes FK en général).
  1. Pourquoi faut-il utiliser ces procédures ?
  2. Pourquoi les contraintes PK ne figurent pas dans sysconstraintes (dans quelle table sys sont-elles alors) ?
  3. Pourquoi les contraintes FK sont bien recensées dans sysconstraintes sans que la procédure sp_foreignkey ne soit exécutée?

Un exemple de création de nos tables:

Code :
1
2
3
4
5
6
7
8
9
10
CREATE TABLE DR_xxx (
    DIR_xxx         date                   NOT NULL,
    DIR_yyy        date                   NULL,
    idDateIxxx     int                      NOT NULL,
    UTI_ccc        char(3)               NOT NULL,
    constraint PK_DR_DATE_ggg PRIMARY KEY nonclustered (idDateIxxx)
 
ALTER TABLE DR_xxx
    ADD constraint FK_xxx__zzz FOREIGN KEY (UTI_ccc)
    REFERENCES UTI (UTI_ccc)

Merci
msomso
msomso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 13h23   #4
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
syskeys est référencée à titre informatif afin que certains logiciels l'utilisant puissent le faire correctement. Par contre elle n'a que valeur informationnelle. Il en va tout autre de syscontraints
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h54   #5
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
On pourra ajouter que sp_primarykey et consoeur dates de la version 4.0 (env 1989, peut-être même la 3.5?) de Sybase, alors que les contraintes référentielles déclaratives date de la version 10 (env 1995, si mes souvenirs sont bons)

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2007, 08h49   #6
Membre du Club
 
Inscription : mars 2007
Messages : 248
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 248
Points : 46
Points : 46
Bonjour,

Compte tenu de vos remarques, voici mes dernières questions
  1. En pratique, utilisez-vous uniquement les déclarations des contraintes via create/alter table ?
  2. Dans quelle table système puis-je trouver la liste des PK ?
  3. Avez-vous testé l'influence sur les performances de type de déclaration des FK (au niveau de colonne/table )?
    Nous générons nos scripts avec Power AMC ainsi toutes les FK sont au niveau de table (via cde "Alter table ... add FK).
    Pensez-vous que cela peut dégrader les performances ?

Merci
msomso
msomso est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h22.


 
 
 
 
Partenaires

Hébergement Web