OVH Cloud OVH Cloud

Erreur SQL Msg 170

3 réponses
Avatar
hanibale
Bonjour,
g passé un script sur une de mes bdd pour une reconstruction des index et un
update statistics. Sur le rapport, il me renvoit l'erreur Serveur:msg 170
niveau 15 Etat 1 Ligne 1
ligne 1 syntaxe incorrecte vers sample

Quelqu'un a t il une idée?

Merci de votre concours

Antoine

3 réponses

Avatar
Philippe T [MS]
Bonjour,

Un script de ce genre ?

<<
SET NOCOUNT ON

DECLARE @CurObjectName nvarchar(200) -- Table or view name

----
-- Tables and Views recompilation
----
DECLARE My_TableCursor CURSOR FAST_FORWARD FOR
SELECT name FROM SysObjects WHERE xtype = 'U' AND status >= 0 ORDER BY
name

OPEN My_TableCursor
FETCH NEXT FROM My_TableCursor INTO @CurObjectName
WHILE (@@fetch_status = 0)
BEGIN
EXEC( N'update statistics ' + @CurObjectName)
EXEC (N'exec sp_recompile ' + @CurObjectName)

FETCH NEXT FROM My_TableCursor INTO @CurObjectName
END
CLOSE My_TableCursor
DEALLOCATE My_TableCursor

----
-- Procedures and Triggers recompilation
----
DECLARE My_ProcCursor CURSOR FAST_FORWARD FOR
SELECT name FROM SysObjects WHERE (xtype = 'P' OR xtype = 'TR') AND status
= 0 AND name <> 'tp_RecompileAndUpdate' ORDER BY name



OPEN My_ProcCursor
FETCH NEXT FROM My_ProcCursor INTO @CurObjectName
WHILE (@@fetch_status = 0)
BEGIN
EXEC (N'exec sp_recompile ' + @CurObjectName)

FETCH NEXT FROM My_ProcCursor INTO @CurObjectName
END
CLOSE My_ProcCursor
DEALLOCATE My_ProcCursor







Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france

"hanibale" wrote in message
news:
Bonjour,
g passé un script sur une de mes bdd pour une reconstruction des index et


un
update statistics. Sur le rapport, il me renvoit l'erreur Serveur:msg 170
niveau 15 Etat 1 Ligne 1
ligne 1 syntaxe incorrecte vers sample

Quelqu'un a t il une idée?

Merci de votre concours

Antoine


Avatar
hanibale
pas tout à fait, en fait de ce style la:
USE ma bdd
set ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT,
QUOTED_IDENTIFIER,ANSI_NULLS on
set NUMERIC_ROUNDABORT off
declare ctables CURSOR LOCAL FOR Select name FROM sysobjects where xtype='U'
declare @sNameTable varchar(100)
declare @FreeSpace int
SET NOCOUNT ON
SET @FreeSpace
PRINT '-----------RECONSTRUCTION DES INDEX et UPDATE STATISTICS'
PRINT '-----------DE TOUTES LES BASES DE DONNEES'
OPEN cTABLES
FETCH NEXT FROM cTables INTO @sNameTable
WHILE @@FETCH_STATUS=0
BEGIN
PRINT 'Table:'+@sNameTable
DBCC DBREINDEX (@sNameTable,'',@FreeSpace)
EXEC ('UPDATE STATISTICS'+@sNameTable+'WITH SAMPLE 10PERCENT')
FETCH NEXT FROM cTables INTO @sNameTable
END
CLOSE cTables
DEALLOCATE cTables
PRINT '-----------VERICATION INTEGRITE DE LA BD'
DBCC CHECKDB('ma bdd')
Go


"Philippe T [MS]" a écrit :

Bonjour,

Un script de ce genre ?

<<
SET NOCOUNT ON

DECLARE @CurObjectName nvarchar(200) -- Table or view name

----
-- Tables and Views recompilation
----
DECLARE My_TableCursor CURSOR FAST_FORWARD FOR
SELECT name FROM SysObjects WHERE xtype = 'U' AND status >= 0 ORDER BY
name

OPEN My_TableCursor
FETCH NEXT FROM My_TableCursor INTO @CurObjectName
WHILE (@@fetch_status = 0)
BEGIN
EXEC( N'update statistics ' + @CurObjectName)
EXEC (N'exec sp_recompile ' + @CurObjectName)

FETCH NEXT FROM My_TableCursor INTO @CurObjectName
END
CLOSE My_TableCursor
DEALLOCATE My_TableCursor

----
-- Procedures and Triggers recompilation
----
DECLARE My_ProcCursor CURSOR FAST_FORWARD FOR
SELECT name FROM SysObjects WHERE (xtype = 'P' OR xtype = 'TR') AND status
>= 0 AND name <> 'tp_RecompileAndUpdate' ORDER BY name

OPEN My_ProcCursor
FETCH NEXT FROM My_ProcCursor INTO @CurObjectName
WHILE (@@fetch_status = 0)
BEGIN
EXEC (N'exec sp_recompile ' + @CurObjectName)

FETCH NEXT FROM My_ProcCursor INTO @CurObjectName
END
CLOSE My_ProcCursor
DEALLOCATE My_ProcCursor

>>

Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france

"hanibale" wrote in message
news:
> Bonjour,
> g passé un script sur une de mes bdd pour une reconstruction des index et
un
> update statistics. Sur le rapport, il me renvoit l'erreur Serveur:msg 170
> niveau 15 Etat 1 Ligne 1
> ligne 1 syntaxe incorrecte vers sample
>
> Quelqu'un a t il une idée?
>
> Merci de votre concours
>
> Antoine





Avatar
Sylvain Lafontaine
Le nom de la base de donnée « ma bdd » tel qu'utilisé dans la commande USE
contient-elle vraiment un espace blanc?

S. L.

"hanibale" wrote in message
news:
pas tout à fait, en fait de ce style la:
USE ma bdd
set ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT,
QUOTED_IDENTIFIER,ANSI_NULLS on
set NUMERIC_ROUNDABORT off
declare ctables CURSOR LOCAL FOR Select name FROM sysobjects where
xtype='U'
declare @sNameTable varchar(100)
declare @FreeSpace int
SET NOCOUNT ON
SET @FreeSpace
PRINT '-----------RECONSTRUCTION DES INDEX et UPDATE STATISTICS'
PRINT '-----------DE TOUTES LES BASES DE DONNEES'
OPEN cTABLES
FETCH NEXT FROM cTables INTO @sNameTable
WHILE @@FETCH_STATUS=0
BEGIN
PRINT 'Table:'+@sNameTable
DBCC DBREINDEX (@sNameTable,'',@FreeSpace)
EXEC ('UPDATE STATISTICS'+@sNameTable+'WITH SAMPLE 10PERCENT')
FETCH NEXT FROM cTables INTO @sNameTable
END
CLOSE cTables
DEALLOCATE cTables
PRINT '-----------VERICATION INTEGRITE DE LA BD'
DBCC CHECKDB('ma bdd')
Go


"Philippe T [MS]" a écrit :

Bonjour,

Un script de ce genre ?

<<
SET NOCOUNT ON

DECLARE @CurObjectName nvarchar(200) -- Table or view name

----
-- Tables and Views recompilation
----
DECLARE My_TableCursor CURSOR FAST_FORWARD FOR
SELECT name FROM SysObjects WHERE xtype = 'U' AND status >= 0 ORDER BY
name

OPEN My_TableCursor
FETCH NEXT FROM My_TableCursor INTO @CurObjectName
WHILE (@@fetch_status = 0)
BEGIN
EXEC( N'update statistics ' + @CurObjectName)
EXEC (N'exec sp_recompile ' + @CurObjectName)

FETCH NEXT FROM My_TableCursor INTO @CurObjectName
END
CLOSE My_TableCursor
DEALLOCATE My_TableCursor

----
-- Procedures and Triggers recompilation
----
DECLARE My_ProcCursor CURSOR FAST_FORWARD FOR
SELECT name FROM SysObjects WHERE (xtype = 'P' OR xtype = 'TR') AND
status
>= 0 AND name <> 'tp_RecompileAndUpdate' ORDER BY name

OPEN My_ProcCursor
FETCH NEXT FROM My_ProcCursor INTO @CurObjectName
WHILE (@@fetch_status = 0)
BEGIN
EXEC (N'exec sp_recompile ' + @CurObjectName)

FETCH NEXT FROM My_ProcCursor INTO @CurObjectName
END
CLOSE My_ProcCursor
DEALLOCATE My_ProcCursor

>>

Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france

"hanibale" wrote in message
news:
> Bonjour,
> g passé un script sur une de mes bdd pour une reconstruction des index
> et
un
> update statistics. Sur le rapport, il me renvoit l'erreur Serveur:msg
> 170
> niveau 15 Etat 1 Ligne 1
> ligne 1 syntaxe incorrecte vers sample
>
> Quelqu'un a t il une idée?
>
> Merci de votre concours
>
> Antoine