DECLARE @Database CHAR (50)
SET @Database = 'Optima'
USE Master
GO
ALTER DATABASE @Database SET SINGLE_USER
GO
DBCC CHECKDB(@Database, REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE @Database SET MULTI_USER
GO
génère les erreurs :
Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers '@Database'.
Serveur : Msg 137, Niveau 15, État 2, Ligne 1
La variable '@Database' doit être déclarée.
Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers '@Database'.
alors que :
USE Master
GO
ALTER DATABASE Optima SET SINGLE_USER
GO
DBCC CHECKDB('Optima', REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE Optima SET MULTI_USER
GO
passe sans problème !
L'erreur est probablement énorme mais je ne vois pas
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
OokieDookie
L'erreur se produit à cause des GO. Je ne suis pas un grand spécialiste, mais je dirais qu'a priori dès qu'on utilise un GO il faut redéclarer les variables.
HTH,
-----Message d'origine----- Bonjour,
Le script suivant :
DECLARE @Database CHAR (50) SET @Database = 'Optima'
USE Master GO ALTER DATABASE @Database SET SINGLE_USER GO DBCC CHECKDB(@Database, REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE @Database SET MULTI_USER GO
génère les erreurs :
Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'. Serveur : Msg 137, Niveau 15, État 2, Ligne 1 La variable '@Database' doit être déclarée. Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'.
alors que :
USE Master GO ALTER DATABASE Optima SET SINGLE_USER GO DBCC CHECKDB('Optima', REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE Optima SET MULTI_USER GO
passe sans problème !
L'erreur est probablement énorme mais je ne vois pas
Si quelqu'un peut m'aider
Merci d'avance
.
L'erreur se produit à cause des GO.
Je ne suis pas un grand spécialiste, mais je dirais qu'a
priori dès qu'on utilise un GO il faut redéclarer les
variables.
HTH,
-----Message d'origine-----
Bonjour,
Le script suivant :
DECLARE @Database CHAR (50)
SET @Database = 'Optima'
USE Master
GO
ALTER DATABASE @Database SET SINGLE_USER
GO
DBCC CHECKDB(@Database, REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE @Database SET MULTI_USER
GO
génère les erreurs :
Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers '@Database'.
Serveur : Msg 137, Niveau 15, État 2, Ligne 1
La variable '@Database' doit être déclarée.
Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers '@Database'.
alors que :
USE Master
GO
ALTER DATABASE Optima SET SINGLE_USER
GO
DBCC CHECKDB('Optima', REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE Optima SET MULTI_USER
GO
passe sans problème !
L'erreur est probablement énorme mais je ne vois pas
L'erreur se produit à cause des GO. Je ne suis pas un grand spécialiste, mais je dirais qu'a priori dès qu'on utilise un GO il faut redéclarer les variables.
HTH,
-----Message d'origine----- Bonjour,
Le script suivant :
DECLARE @Database CHAR (50) SET @Database = 'Optima'
USE Master GO ALTER DATABASE @Database SET SINGLE_USER GO DBCC CHECKDB(@Database, REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE @Database SET MULTI_USER GO
génère les erreurs :
Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'. Serveur : Msg 137, Niveau 15, État 2, Ligne 1 La variable '@Database' doit être déclarée. Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'.
alors que :
USE Master GO ALTER DATABASE Optima SET SINGLE_USER GO DBCC CHECKDB('Optima', REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE Optima SET MULTI_USER GO
passe sans problème !
L'erreur est probablement énorme mais je ne vois pas
Si quelqu'un peut m'aider
Merci d'avance
.
Fred BROUARD
Le GO n'est pas une instruction. C'est un ordre de séparation de fichier batch à destination de l'outil de lecture des fichiers d'ordre et non de SQL Server.
C'est comme si tu lançait 4 fichiers distincts y compris en parallèle.
A lire : http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#2.7
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / 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 ****************** mailto: ******************
Michel Romieu a écrit:
Bonjour,
Le script suivant :
DECLARE @Database CHAR (50) SET @Database = 'Optima'
USE Master GO ALTER DATABASE @Database SET SINGLE_USER GO DBCC CHECKDB(@Database, REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE @Database SET MULTI_USER GO
génère les erreurs :
Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'. Serveur : Msg 137, Niveau 15, État 2, Ligne 1 La variable '@Database' doit être déclarée. Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'.
alors que :
USE Master GO ALTER DATABASE Optima SET SINGLE_USER GO DBCC CHECKDB('Optima', REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE Optima SET MULTI_USER GO
passe sans problème !
L'erreur est probablement énorme mais je ne vois pas
Si quelqu'un peut m'aider
Merci d'avance
Le GO n'est pas une instruction. C'est un ordre de séparation de fichier
batch à destination de l'outil de lecture des fichiers d'ordre et non de
SQL Server.
C'est comme si tu lançait 4 fichiers distincts y compris en parallèle.
A lire :
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#2.7
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / 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
****************** mailto:brouardf@club-internet.fr ******************
Michel Romieu a écrit:
Bonjour,
Le script suivant :
DECLARE @Database CHAR (50)
SET @Database = 'Optima'
USE Master
GO
ALTER DATABASE @Database SET SINGLE_USER
GO
DBCC CHECKDB(@Database, REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE @Database SET MULTI_USER
GO
génère les erreurs :
Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers '@Database'.
Serveur : Msg 137, Niveau 15, État 2, Ligne 1
La variable '@Database' doit être déclarée.
Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers '@Database'.
alors que :
USE Master
GO
ALTER DATABASE Optima SET SINGLE_USER
GO
DBCC CHECKDB('Optima', REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE Optima SET MULTI_USER
GO
passe sans problème !
L'erreur est probablement énorme mais je ne vois pas
Le GO n'est pas une instruction. C'est un ordre de séparation de fichier batch à destination de l'outil de lecture des fichiers d'ordre et non de SQL Server.
C'est comme si tu lançait 4 fichiers distincts y compris en parallèle.
A lire : http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#2.7
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / 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 ****************** mailto: ******************
Michel Romieu a écrit:
Bonjour,
Le script suivant :
DECLARE @Database CHAR (50) SET @Database = 'Optima'
USE Master GO ALTER DATABASE @Database SET SINGLE_USER GO DBCC CHECKDB(@Database, REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE @Database SET MULTI_USER GO
génère les erreurs :
Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'. Serveur : Msg 137, Niveau 15, État 2, Ligne 1 La variable '@Database' doit être déclarée. Serveur : Msg 170, Niveau 15, État 1, Ligne 1 Ligne 1 : syntaxe incorrecte vers '@Database'.
alors que :
USE Master GO ALTER DATABASE Optima SET SINGLE_USER GO DBCC CHECKDB('Optima', REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE Optima SET MULTI_USER GO
passe sans problème !
L'erreur est probablement énorme mais je ne vois pas