Ard*_*oli 2 sql-server sql-server-2008-r2 sql-server-2012
我使用SQL Server 2012和SQL Server 2008 R2.
我在我的数据库中从所有对象(tables/trigger/stored procedure/function ...)创建一个脚本.
我从SQL Server Management Studio生成了这个脚本.我可以在另一台服务器上用这个scrips重新创建我的数据库.但是在运行我的脚本以创建另一个数据库后,我想念我的数据库的所有图表.
因此,我需要从我的数据库中存在的所有图表创建备份脚本.
我需要在目标数据库上执行此脚本以重新创建我的所有图表.
我发现了这个链接.但我需要一些人认为自动创建所有脚本(插入命令).
我找到了合理的解决方案.问题是Management Studio无法为非XML数据显示更多65535个字符,并且无法设置为显示超过65535个字符.
请参阅文档代码:)
备份脚本:
-- 1. Read from DB, using XML to workaround the 65535 character limit
declare @definition varbinary(max)
select @definition = definition from dbo.sysdiagrams where name = 'ReportingDBDiagram'
select
'0x' + cast('' as xml).value('xs:hexBinary(sql:variable("@definition") )', 'varchar(max)')
for xml path('')
-- 2. Open the result XML in Management Studio
-- 3. Copy the result
-- 4. Paste this in backup script for @definition variable
Run Code Online (Sandbox Code Playgroud)
恢复脚本:
declare @definition varbinary(max)
set @definition = 0xD0CF -- Paste 0x0 value from Backup script
-- Create diagram using 'official' Stored Procedure
exec dbo.sp_creatediagram
@diagramname = 'ReportingDBDiagramCopy',
@owner_id = null,
@version = 1,
@definition = @definition
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4667 次 |
| 最近记录: |