bonjour,
je souhaite faire une procédure stockée pour créer des bases de données
Deux pistes :
qd je fais un create database @dbname
= il me refuse cette synthaxe avec ma variable @dbname
qd je fais une copie de base avec l'instruction MOVE, comment écrire le nom
du fichier pour le fichier physique ?
exemple :
RESTORE DATABASE @dbname
from disk = 'C:\xxxx.bak'
WITH RECOVERY,
MOVE 'copy_Data' TO 'E:\MSSQL\data\@dbname_data.mdf',
MOVE 'copy_Log' TO 'E:\MSSQL\data\@dbname_log.ldf'
GO
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
Christianbt a écrit:
bonjour, je souhaite faire une procédure stockée pour créer des bases de données Deux pistes : qd je fais un create database @dbname = il me refuse cette synthaxe avec ma variable @dbname
Normal
qd je fais une copie de base avec l'instruction MOVE, comment écrire le nom du fichier pour le fichier physique ?
Move ne sert qu'a déplacer les fichiers. Une base de données n'est pas un fichier
exemple : RESTORE DATABASE @dbname from disk = 'C:xxxx.bak' WITH RECOVERY, MOVE 'copy_Data' TO 'E:', MOVE 'copy_Log' TO 'E:' GO
Pour faire ceci il faut utiliser le SQL dynamique :
DECLARE @DB_NAME sysname
DECLARE @SQL NVARCHAR(4000)
SET @SQL = 'CREATE DATABASE ' + @DB_NAME EXEC (@SQL)
A +
merci pour votre aide...
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
bonjour
Christianbt a écrit:
bonjour,
je souhaite faire une procédure stockée pour créer des bases de données
Deux pistes :
qd je fais un create database @dbname
= il me refuse cette synthaxe avec ma variable @dbname
Normal
qd je fais une copie de base avec l'instruction MOVE, comment écrire le nom
du fichier pour le fichier physique ?
Move ne sert qu'a déplacer les fichiers. Une base de données n'est pas un fichier
exemple :
RESTORE DATABASE @dbname
from disk = 'C:xxxx.bak'
WITH RECOVERY,
MOVE 'copy_Data' TO 'E:MSSQLdata@dbname_data.mdf',
MOVE 'copy_Log' TO 'E:MSSQLdata@dbname_log.ldf'
GO
Pour faire ceci il faut utiliser le SQL dynamique :
DECLARE @DB_NAME sysname
DECLARE @SQL NVARCHAR(4000)
SET @SQL = 'CREATE DATABASE ' + @DB_NAME
EXEC (@SQL)
A +
merci pour votre aide...
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
bonjour, je souhaite faire une procédure stockée pour créer des bases de données Deux pistes : qd je fais un create database @dbname = il me refuse cette synthaxe avec ma variable @dbname
Normal
qd je fais une copie de base avec l'instruction MOVE, comment écrire le nom du fichier pour le fichier physique ?
Move ne sert qu'a déplacer les fichiers. Une base de données n'est pas un fichier
exemple : RESTORE DATABASE @dbname from disk = 'C:xxxx.bak' WITH RECOVERY, MOVE 'copy_Data' TO 'E:', MOVE 'copy_Log' TO 'E:' GO
Pour faire ceci il faut utiliser le SQL dynamique :
DECLARE @DB_NAME sysname
DECLARE @SQL NVARCHAR(4000)
SET @SQL = 'CREATE DATABASE ' + @DB_NAME EXEC (@SQL)
A +
merci pour votre aide...
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************