J'ai un petit probleme avec une SP de maintenance.
J'ai une DB "d'admin" qui contient toutes mes SP de maintenance, aisni
qu'une table de stockage des parametres. J'utilise ces SP pour operer des
operation telles que log shipping, etc etc.
Mon probleme est le suivant : Depuis une SP de cette DB, j'essaie de
"shrinker" un fichier d'une autre. Mon problme : DBCC ne fonctionne que sur
la DB sur laquelle la session est connectee... et USE <DB> ne fonctionne pas
dans une SP. (est <DBName>.dbo.DBCC est impossible.
Comment pourrais je faire ??
Merci,
Chris
--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
bonjour
Chris V. a écrit:
Bonjour,
J'ai un petit probleme avec une SP de maintenance.
J'ai une DB "d'admin" qui contient toutes mes SP de maintenance, aisni qu'une table de stockage des parametres. J'utilise ces SP pour operer des operation telles que log shipping, etc etc.
Mon probleme est le suivant : Depuis une SP de cette DB, j'essaie de "shrinker" un fichier d'une autre. Mon problme : DBCC ne fonctionne que sur la DB sur laquelle la session est connectee... et USE <DB> ne fonctionne pas dans une SP. (est <DBName>.dbo.DBCC est impossible.
Comment pourrais je faire ??
Implémentez une procédure du genre :
***********************
CREATE PROCEDURE P_ADMIN_DBCC_SHRINK @FILE_ID INT, @MAX_SIZE INT, @SPEC INT AS
IF @FILE_ID IS NULL OR @MAX_SIZE IS NULL OR @SPEC IS NULL RETURN
CASE @SPEC WHEN 1 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, EMPTYFILE) WHEN 2 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, NOTRUNCATE) WHEN 3 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, TRUNCATEONLY) END
***********************
Dans toutes les bases de données visées.
Dans votre base de données d'admin et votre code pilotant les opérations de maintenances, appellez de la sorte vos SP :
EXECUTE MaBase.dbo.P_ADMIN_DBCC_SHRINK 1, 1800, 3
et voila
A +
Merci, Chris
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
bonjour
Chris V. a écrit:
Bonjour,
J'ai un petit probleme avec une SP de maintenance.
J'ai une DB "d'admin" qui contient toutes mes SP de maintenance, aisni
qu'une table de stockage des parametres. J'utilise ces SP pour operer des
operation telles que log shipping, etc etc.
Mon probleme est le suivant : Depuis une SP de cette DB, j'essaie de
"shrinker" un fichier d'une autre. Mon problme : DBCC ne fonctionne que sur
la DB sur laquelle la session est connectee... et USE <DB> ne fonctionne pas
dans une SP. (est <DBName>.dbo.DBCC est impossible.
Comment pourrais je faire ??
Implémentez une procédure du genre :
***********************
CREATE PROCEDURE P_ADMIN_DBCC_SHRINK @FILE_ID INT,
@MAX_SIZE INT,
@SPEC INT
AS
IF @FILE_ID IS NULL
OR @MAX_SIZE IS NULL
OR @SPEC IS NULL
RETURN
CASE @SPEC
WHEN 1 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, EMPTYFILE)
WHEN 2 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, NOTRUNCATE)
WHEN 3 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, TRUNCATEONLY)
END
***********************
Dans toutes les bases de données visées.
Dans votre base de données d'admin et votre code pilotant les opérations de
maintenances, appellez de la sorte vos SP :
EXECUTE MaBase.dbo.P_ADMIN_DBCC_SHRINK 1, 1800, 3
et voila
A +
Merci,
Chris
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
J'ai un petit probleme avec une SP de maintenance.
J'ai une DB "d'admin" qui contient toutes mes SP de maintenance, aisni qu'une table de stockage des parametres. J'utilise ces SP pour operer des operation telles que log shipping, etc etc.
Mon probleme est le suivant : Depuis une SP de cette DB, j'essaie de "shrinker" un fichier d'une autre. Mon problme : DBCC ne fonctionne que sur la DB sur laquelle la session est connectee... et USE <DB> ne fonctionne pas dans une SP. (est <DBName>.dbo.DBCC est impossible.
Comment pourrais je faire ??
Implémentez une procédure du genre :
***********************
CREATE PROCEDURE P_ADMIN_DBCC_SHRINK @FILE_ID INT, @MAX_SIZE INT, @SPEC INT AS
IF @FILE_ID IS NULL OR @MAX_SIZE IS NULL OR @SPEC IS NULL RETURN
CASE @SPEC WHEN 1 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, EMPTYFILE) WHEN 2 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, NOTRUNCATE) WHEN 3 THEN DBCC SHRINKFILE (@FILE_ID, @MAX_SIZE, TRUNCATEONLY) END
***********************
Dans toutes les bases de données visées.
Dans votre base de données d'admin et votre code pilotant les opérations de maintenances, appellez de la sorte vos SP :
EXECUTE MaBase.dbo.P_ADMIN_DBCC_SHRINK 1, 1800, 3
et voila
A +
Merci, Chris
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************