如何复制一个数据库的库结构

时间:2022-09-15 00:18:48
我希望用sql复制一个数据库的库结构: 
    1 不复制库中的数据 
    2 库结构复杂 
    3 最后得到新的空数据库

7 个解决方案

#1


http://expert.csdn.net/Expert/topic/2607/2607537.xml?temp=4.502505E-02

不知道是不是你要的

#2


企业管理器-》选择你的数据库--》所有任务--》生成SQL脚本--》把选项和格式都选中--》得到构建库脚本

#3


将列从一个表复制到另一个表
可以将列从一个表复制到同一关系图中或不同关系图中的另一个表。复制列仅涉及列定义。数据本身并不作为该过程的一部分自动传输到另一个表。

提示   可以使用数据库查询将列的数据从原始列复制到新列。使用查询设计器运行更新查询,将数据添加到已复制了列的表中。有关详细信息,请参见创建更新查询。有关查询设计器的信息,请参见设计查询。

将列从一个表复制到另一个表 

1.在数据库关系图中,选择要复制的列。


2.单击工具栏上的"复制"按钮。该操作将复制表中的选定内容并将列及其当前属性集一起放到剪贴板上。


3.将光标定位在表中要插入列的位置。 


4.单击工具栏上的"粘贴"按钮。该列及其属性即插入到新位置。 

当将含有用户定义数据类型的数据库列从一个数据库复制到另一个数据库时,在目的数据库中可能不能使用用户定义数据类型。在这种情况下,将为该列分配与数据库中的可用基础数据类型最匹配的数据类型。

#4


用: xp_cmdshell 调用 SCPTXFR.exe 这个工具软件就行了.

命令行语法:
SCPTXFR /s <服务器> /d <数据库> {[/I] | [/P <密码>]}
        {[/F <脚本文件目录>] | [/f <单个脚本文件>]}
        /q /r /O /T /A /E /C <CodePage> /N /X /H /G /Y /?

/s      —      指示要连接到的源服务器。
/d      —      指示要为之编写脚本的源数据库。
/I      —      使用集成安全性。
/P      —      sa 要用的密码。请注意登录 ID 始终为 sa。
                若/P不使用或标志后面没有密码,
                则将使用空密码。不与 /I 兼容。
/F      —      脚本文件应生成到的目录。
                这意味着为每个对象分类生成一个文件。
/f      —      所有脚本将保存到的单个文件。
                不与 /F 兼容。
/q      —      在所生成的脚本中使用被引用的标识符。
/r      —      为脚本中的对象包括 drop 语句。
/O      —      生成 OEM 脚本文件。无法用于 /A 或 /T。
                这是默认的行为。
/T      —      生成 UNICODE 脚本文件。无法用于 /A 或 /O。
/A      —      生成 ANSI 脚本文件。无法用于 /T 或 /O。
/?      —      命令行帮助。
/E      —      发生错误时停止脚本编写。
                默认行为是记录该错误而后继续。
/C      —      指示替代服务器 CodePage(代码页)的 CodePage。
/N      —      生成 ANSI PADDING。
/X      —      编写 SP 和 XP 脚本以分隔文件。
/H      —      生成不带首部的脚本文件。(默认: 带首部)。
/G      —      使用指定的服务器名称作为所生成的输出文件的前缀(
中的划线)。
/Y      —      为“扩展属性”生成脚本(仅对 8.x 服务器有效)。

#5


--调用方法:

declare @cMd varchar(1000)
set @cmd = 'master.dbo.xp_cmdshell ' + 
'''c:\"Microsoft ' +
'SQL Server"' +
'\MSSQL\Upgrade\scptxfr.exe ' +
' /s YourServerName /p YourSAPassword /I /d YourDBName /f ' +
'c:\YourDBName.sql'''
exec (@cmd)

#6


注意scptxfr.exe 的目录要正确

安装SQL Server,如果你选择的是典型安装,默认情况下已经安装了此文件
如果你选择自定义安装,此文件可能未被安装,你可以在SQL 的安装光盘上找到此文件.

#7


谢谢各位大哥!!俺给你们拜个晚年,恭喜发财!

#1


http://expert.csdn.net/Expert/topic/2607/2607537.xml?temp=4.502505E-02

不知道是不是你要的

#2


企业管理器-》选择你的数据库--》所有任务--》生成SQL脚本--》把选项和格式都选中--》得到构建库脚本

#3


将列从一个表复制到另一个表
可以将列从一个表复制到同一关系图中或不同关系图中的另一个表。复制列仅涉及列定义。数据本身并不作为该过程的一部分自动传输到另一个表。

提示   可以使用数据库查询将列的数据从原始列复制到新列。使用查询设计器运行更新查询,将数据添加到已复制了列的表中。有关详细信息,请参见创建更新查询。有关查询设计器的信息,请参见设计查询。

将列从一个表复制到另一个表 

1.在数据库关系图中,选择要复制的列。


2.单击工具栏上的"复制"按钮。该操作将复制表中的选定内容并将列及其当前属性集一起放到剪贴板上。


3.将光标定位在表中要插入列的位置。 


4.单击工具栏上的"粘贴"按钮。该列及其属性即插入到新位置。 

当将含有用户定义数据类型的数据库列从一个数据库复制到另一个数据库时,在目的数据库中可能不能使用用户定义数据类型。在这种情况下,将为该列分配与数据库中的可用基础数据类型最匹配的数据类型。

#4


用: xp_cmdshell 调用 SCPTXFR.exe 这个工具软件就行了.

命令行语法:
SCPTXFR /s <服务器> /d <数据库> {[/I] | [/P <密码>]}
        {[/F <脚本文件目录>] | [/f <单个脚本文件>]}
        /q /r /O /T /A /E /C <CodePage> /N /X /H /G /Y /?

/s      —      指示要连接到的源服务器。
/d      —      指示要为之编写脚本的源数据库。
/I      —      使用集成安全性。
/P      —      sa 要用的密码。请注意登录 ID 始终为 sa。
                若/P不使用或标志后面没有密码,
                则将使用空密码。不与 /I 兼容。
/F      —      脚本文件应生成到的目录。
                这意味着为每个对象分类生成一个文件。
/f      —      所有脚本将保存到的单个文件。
                不与 /F 兼容。
/q      —      在所生成的脚本中使用被引用的标识符。
/r      —      为脚本中的对象包括 drop 语句。
/O      —      生成 OEM 脚本文件。无法用于 /A 或 /T。
                这是默认的行为。
/T      —      生成 UNICODE 脚本文件。无法用于 /A 或 /O。
/A      —      生成 ANSI 脚本文件。无法用于 /T 或 /O。
/?      —      命令行帮助。
/E      —      发生错误时停止脚本编写。
                默认行为是记录该错误而后继续。
/C      —      指示替代服务器 CodePage(代码页)的 CodePage。
/N      —      生成 ANSI PADDING。
/X      —      编写 SP 和 XP 脚本以分隔文件。
/H      —      生成不带首部的脚本文件。(默认: 带首部)。
/G      —      使用指定的服务器名称作为所生成的输出文件的前缀(
中的划线)。
/Y      —      为“扩展属性”生成脚本(仅对 8.x 服务器有效)。

#5


--调用方法:

declare @cMd varchar(1000)
set @cmd = 'master.dbo.xp_cmdshell ' + 
'''c:\"Microsoft ' +
'SQL Server"' +
'\MSSQL\Upgrade\scptxfr.exe ' +
' /s YourServerName /p YourSAPassword /I /d YourDBName /f ' +
'c:\YourDBName.sql'''
exec (@cmd)

#6


注意scptxfr.exe 的目录要正确

安装SQL Server,如果你选择的是典型安装,默认情况下已经安装了此文件
如果你选择自定义安装,此文件可能未被安装,你可以在SQL 的安装光盘上找到此文件.

#7


谢谢各位大哥!!俺给你们拜个晚年,恭喜发财!