Bonjour,
Je dois déplacer une base de donnée d'un serveur à un autre.
Qu'est-ce que je ne dois pas oublier (brokers, utilisateurs, ...) ?
Y a t'il des scripts qui peuvent m'aider ?
Merci.
Bonjour,
Je dois déplacer une base de donnée d'un serveur à un autre.
Qu'est-ce que je ne dois pas oublier (brokers, utilisateurs, ...) ?
Y a t'il des scripts qui peuvent m'aider ?
Merci.
C'est très possible avec SSIS. Depuis BIDS (Business Intelligence Development Studio), après avoir créé un nouveau projet, il existe dans les éléments de flux de contrôle une tâche nommée "Tâche de transfert de base de données". On peut ainsi copier ou bien déplacer la base choisie. Intéressant si le transfert doit être régulier.
Si tu n'as pas besoin d'automatiser cette migration (comme ça pourrait être par exemple d'un environnement de prod vers un environnement de test), tu peux simplement faire une sauvegarde - Option sauvegarde de copie uniquement - de la base sur ton 1er serveur, puis une restauration depuis le second. Vérifie que les droits sont corrects toutefois après la restauration.
Mais j'ai déjà remarqué que les Brokers ne sont pas restaurés ainsi.
Est-ce qu'il y a moyen de les restaurer facilement ?
Salut Sergejack,
En principe toutes les dépendances que tu as vis à vis de ta base :Je dois déplacer une base de donnée d'un serveur à un autre.
Qu'est-ce que je ne dois pas oublier (brokers, utilisateurs, ...) ?
Y a t'il des scripts qui peuvent m'aider ?
- Logins
- Crédentials
- Jobs
- etc ...
Qu'entends-tu par là ? As-tu des choses spécifiques liés au broker ? Services, files d'attentes etc .. ?Mais j'ai déjà remarqué que les Brokers ne sont pas restaurés ainsi.
Est-ce qu'il y a moyen de les restaurer facilement ?
++
Y a t'il des outils pour m'aider à restaurer ces dépendances ?
Ben, à chaque fois que je restaure une DB je dois faire le script suivant :
mais il existe peut-être un moyen moins rudimentaire de faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 IF 0 = (SELECT is_broker_enabled FROM sys.databases WHERE [name] = DB_NAME()) BEGIN DECLARE @query NVARCHAR(MAX) SELECT @query = N'ALTER DATABASE ' + DB_NAME() + ' SET SINGLE_USER WITH ROLLBACK IMMEDIATE' EXEC sp_executesql @query SELECT @query = N'ALTER DATABASE ' + DB_NAME() + ' SET ENABLE_BROKER' EXEC sp_executesql @query SELECT @query = N'ALTER DATABASE ' + DB_NAME() + ' SET MULTI_USER' EXEC sp_executesql @query END GO
Merci
Partager