web-dev-qa-db-fra.com

Comment copier des vues d'une base de données vers une autre

J'ai deux bases de données avec la même structure dans le serveur MS SQL.

Je voudrais copier toutes les vues d'une autre base de données.

J'ai essayé d'utiliser la fonctionnalité d'exportation de données de DTS (qui fonctionne avec les objets de la table).

Mais cela exécute le SQL et crée l'objet table.

Je ne veux pas exécuter cela, je veux juste copier la vue pour pouvoir les ouvrir en mode Création.

J'ai essayé d'utiliser créer une nouvelle vue dans la base de données de destination et de copier la requête SQL de la vue de la base de données source et de sauvegarder la vue .

21
Vikas

Faites un clic droit sur votre base de données et dites Tâches-> Générer des scripts. SQL Server Management Studio est capable de générer les scripts CREATE pour vous.

Ensuite, il vous suffit de copier ce script et de l’exécuter sur le serveur/la base de données cible.

40
Maximilian Mayerl

Je sais que c’est une réponse TRÈS tardive, Cependant, je pense que cela pourrait s’avérer utile pour certains (Si vous n’avez pas un gui comme le studio de gestion de serveur SQL)

select * 
from INFORMATION_SCHEMA.VIEWS

ici, vous obtenez une colonne nommée "view_definition" dans le serveur SQL, (cela fonctionne aussi sur les bases de données d'autres fournisseurs).

7
Christopher Bonitz

Cliquez avec le bouton droit sur la base de données, choisissez Tâches, puis Générer un script. Cela vous permettra de générer un seul script contenant toutes les vues de la base de données.

7
Andomar

code simple pour copier une vue

USE DatabaseA;
GO

DECLARE @sql NVARCHAR(MAX);

SELECT @sql = definition
FROM sys.sql_modules
WHERE [object_id] = OBJECT_ID('dbo.ViewName');

EXEC DatabaseB..sp_executesql @sql;
0
Salem Ahmed

Si vous avez accès à Visual Studio et que vous avez un type de projet de base de données, vous pouvez: 1) importer tous les ddl, vues et tables incluses. 2) les ajouter facilement au contrôle de source intégré. 3) migrer tout ou partie partie à la nouvelle base de données

Après la création initiale d'un projet de base de données, vous serez invité à vous connecter à l'instance SQL Server et à un nom de base de données. Une fois l'importation terminée, le fichier ddl de l'ensemble de la base de données sera disponible dans une arborescence très similaire à l'arborescence SSMS, mais avec les fichiers DDL plutôt que les objets dont elle est issue.

0
Thronk