我想从现有数据库创建数据库,而不从中获取任何数据(仅限架构)。我知道,我可以使用SQL Server Management Studio为此创建一个脚本,但我需要一些动态的SQL脚本来执行此操作
答案 0 :(得分:3)
尝试使用此DBCC命令:DBCC CLONEDATABASE https://support.microsoft.com/en-us/help/3177838/how-to-use-dbcc-clonedatabase-to-generate-a-schema-and-statistics-only
答案 1 :(得分:0)
如果我需要这样做,这就是我使用的方法。这不是一项微不足道的任务,内置脚本工具更适合已经注意到的。但是,如果必须这样做,这就是我使用的方法。
第1步 - 构建表 - 使用以下命令为所有表构建游标:
SELECT object_schema_name([object_id]), [name]
FROM [sys].[objects]
WHERE [type] IN ( N'U' )
ORDER BY [name];
逐步执行每个操作并将动态SQL构建为“SELECT * INTO .. from ..
第2步 - 构建过程和函数 - 使用以下命令构建游标:
SELECT [name]
FROM [sys].[objects]
WHERE [type] IN ( N'P', N'TF', N'FN', N'IF' )
ORDER BY [name];
逐步浏览对象并在每个对象上运行“exec sp_helptext'。'”。使用COALESCE字符串构建器连接结果行并执行结果。在目标数据库上执行结果。
答案 2 :(得分:0)