使用SQL Server Server Management Studio导入/导出数据库


197

我以为这是微不足道的,但事实并非如此……我敢肯定有一种简单的方法可以做到,但我找不到它。真可惜

我想导入/导出数据库本身,表,约束(外键等)。我宁愿不获取数据,但如果没有其他方法,我可以摆脱它。

那么...如何使用MS SQL Server Management Studio导出数据库?如何导入?

我找到的唯一解决方案是右键单击表和“创建脚本”,但是我有100个左右的表,所以我宁愿避免这种情况。

谢谢!

Answers:


316

右键单击数据库本身,任务->生成脚本...

然后按照向导。

对于SSMS2008 +,如果还要导出数据,请在“设置脚本选项”步骤上,选择“高级”按钮,并将“要脚本的数据类型”从“仅模式”更改为“仅数据”或“模式和数据”。


11
如何获取数据呢?是否可以使用诸如generate script之类的方法来创建插入查询?
库比(Kubi)2012年

50
@Kubi,在“设置脚本选项”步骤上,选择“高级”按钮,并将“仅架构”更改为“仅数据”或“架构和数据”。
布兰登2012年

25
@布兰登,谢谢你。为什么“仅模式”,“仅数据”或“模式和数据”被视为“高级”选项超出了我的理解范围。
Brian Hooper 2012年

2
2Brandon:“高级”脚本选项仅在SSMS 2008+中可用。
ivan_pozdeev 2013年

2
“仅数据”或“架构和数据”创建INSERT命令,以复制每行的标题名称。该文件的大小约为数据文本版本的两倍。可以尝试改为仅导出模式,然后使用BULK INSERT加载使用export ...向导创建的csv文件。请注意,MSQL不知道如何读取带引号的字段。
约翰·马克

23

另一个解决方案是- 备份和还原数据库

备份系统数据库

要使用Microsoft SQL Server Management Studio Express备份系统数据库,请执行以下步骤:

  1. 从Microsoft网站下载并安装Microsoft SQL Server 2008 Management Studio Express:http : //www.microsoft.com/zh-cn/download/details.aspx?id=7593

  2. 安装Microsoft SQL Server Management Studio Express后,启动应用程序以连接到系统数据库。显示“连接到服务器”对话框。在“服务器名称:”字段中,输入安装了系统数据库的Webtrends服务器的名称。如果使用Webtrends服务帐户或具有更改系统数据库权限的帐户登录Windows计算机,请在“身份验证:”字段中选择“ Windows身份验证”。否则,请从下拉菜单中选择“ SQL Server身份验证”,然后输入具有所需权限的SQL Server帐户的凭据。单击“连接”以连接到数据库。

  3. 展开“数据库”,右键单击“ wt_sched”,然后从上下文菜单中选择“任务”>“备份...”。显示“备份数据库”对话框。在“源”部分下,确保为“数据库:”选择了“ wt_sched”,并且“备份类型:”为“已满”。在“备份集”下,根据需要提供名称,描述和有效期,然后在“目标”部分下选择“添加...”,并指定保存备份的文件名和路径。如果备份已经存在并且要被覆盖,则可能有必要在“选项”部分中选择“覆盖所有现有备份集”选项。
  4. 选择“确定”以完成备份过程。

  5. 对数据库的“ wtMaster”部分重复上述步骤。

恢复系统数据库

要使用Microsoft SQL Server Management Studio还原系统数据库,请执行以下步骤:

  1. 如果尚未安装,请从Microsoft网站下载并安装Microsoft SQL Server 2008 Management Studio Express:http : //www.microsoft.com/zh-cn/download/details.aspx?id=7593

  2. 安装Microsoft SQL Server Management Studio之后,启动应用程序以连接到系统数据库。显示“连接到服务器”对话框。在“服务器类型:”字段中,选择“数据库引擎”(默认)。在“服务器名称:”字段中,选择“ \ WTSYSTEMDB”,其中是数据库所在的Webtrends服务器的名称。WTSYSTEMDB是默认安装中数据库实例的名称。如果使用Webtrends服务帐户或具有更改系统数据库权限的帐户登录Windows计算机,请在“身份验证:”字段中选择“ Windows身份验证”。否则,选择“ SQL Server身份验证” 从下拉菜单中,输入具有所需权限的SQL Server帐户的凭据。单击“连接”以连接到数据库。

  3. 展开“数据库”,右键单击“ wt_sched”,然后从上下文菜单中选择“删除”。确保选中“删除数据库的备份和还原历史记录信息”复选框。

  4. 选择“确定”以完成删除过程。

  5. 对数据库的“ wtMaster”部分重复上述步骤。

  6. 右键单击“数据库”,然后从上下文菜单中选择“还原数据库...”。在“到数据库:”字段中,输入“ wt_sched”。选择“来自设备:”单选按钮。单击“来自设备:”文本字段右侧的椭圆(...)。点击“添加”按钮。导航到“ wt_sched”并选择备份文件。在“查找备份文件”窗体上选择“确定”。在“指定备份”表单上选择“确定”。选中“ wt_sched-完整数据库备份”旁边的还原列中的复选框。在“还原数据库”窗体上选择“确定”。

  7. 对数据库的“ wtMaster”部分重复步骤6。

礼貌-http: //kb.webtrends.com/articles/How_To/Backing-up-and-Restoring-the-System-Database-using-MS-SQL-Management-Studio


1
我用这种方法遇到的问题是,在另一台计算机上还原时,bak文件的表现不佳。有时它起作用,有时却不起作用。至少对我来说,脚本是一种更安全的方法。+1进行详细说明
Nunser 2014年

1
同样,这需要系统特权,如果您是在共享服务基础结构上进行开发的,那么通常就没有该特权。微软做得很好。
matao 2016年

3

我想与您分享我的解决方案,以使用Microsoft SQL Server Management Studio导出数据库。

导出数据库

  1. 开启新要求
  2. 复制粘贴此脚本

    SET @BackupFile ='D:\ database-backup.bak'

    --PRINT @备份文件

    备份数据库[%databaseName%]

    到磁盘= @BackupFile

不要忘记将%databaseName%替换为要导出的数据库的名称。

请注意,此方法提供的文件比菜单中的文件轻。

从SQL Server Management Studio 导入此文件。不要忘记事先删除数据库。

  1. 点击还原数据库

点击还原数据库

  1. 添加备份文件 添加备份文件

  2. 验证

请享用!:) :)


2
最后一些截图解决方案!:)
Reven

2

对于Microsoft SQL Server Management Studio 2012,2008。。首先在程序文件-> Microsoft SQL Server-> MSSQL10.SQLEXPRESS-> MSSQL-> DATA中,将数据库文件.mdf和日志文件.ldf复制并粘贴到sql服务器安装文件中。 。然后打开Microsoft Sql Server。右键单击数据库->选择附加...选项。


我尝试了这种方法,它奏效了。从上述文件夹(SQL 2012)复制了database.mdf和database_log.ldf,然后将这两个文件传输到具有不同版本的SQL Management Studio的新服务器(SQL Express 2014)。
Vignesh Chinnaiyan

0

我尝试了上面的答案,但是生成的脚本文件很大,并且在导入数据时遇到问题。我最终分离了数据库,然后将.mdf复制到我的新计算机上,然后将其附加到我的新版本的SQL Server Management Studio中。

我在Microsoft网站上找到了有关如何执行此操作的说明:https
//msdn.microsoft.com/zh-cn/library/ms187858.aspx

注意:分离数据库后,我在以下目录中找到了.mdf文件:
C:\ Program Files \ Microsoft SQL Server \

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.