我在MS SQL服务器中有两个具有相同结构的数据库.
我想复制所有视图另一个数据库.
我尝试使用DTS的导出数据功能(适用于表对象).
但是,它执行SQL并创建表对象.
我不想执行那只想复制视图,以便我可以在设计视图中打开它们.
我尝试在目标数据库中使用create new view并复制源数据库视图的SQL查询并保存视图.这项工作与我想要的完全相同,但我有很多观点和副本数量!
Max*_*erl 40
右键单击您的数据库并说出Tasks-> Generate scripts.SQL Server Management Studio能够为您生成CREATE脚本.
然后,您可以简单地复制此脚本并在目标服务器/数据库上执行它.
我知道这是一个非常晚的答案,但我认为这对某些人来说可能是有用的(如果你没有像sql server management studio那样的gui)
select *
from INFORMATION_SCHEMA.VIEWS
Run Code Online (Sandbox Code Playgroud)
在这里你得到一个名为"view_definition"的列在sql server中,(这也适用于其他供应商的数据库)
复制一个视图的简单代码
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;
Run Code Online (Sandbox Code Playgroud)