在运维和数据备份的时候,偶尔会需要导出表结构与数据。那么具体如何操作呢?
事先说明一下,本文写的比较仓促,质量一般,仅供参考。
环境这里以Microsoft SQL Server Management Studio 2014
为例进行操作。其他版本应该也是类似的。
刚拿到这个软件时,只会连接本地的数据库。服务器名称
下拉框中的数据不知道怎么维护。后来才发现这个远程可能当作输入框使用。输入连接字符串就可以连接了。
比如java中的jdbc连接字符串是:
jdbc:sqlserver://47.97.8.8:1433;SelectMethod=cursor;DatabaseName=demo
链接字符串的写法:IP
,端口
`服务实例名` 注意ip和端口是,号隔开 最终结果是:
47.97.8.8,1433\demo
在想要导出的数据库上鼠标右键=>任务 任务=>生成脚本(E)…
简介,直接点击下一步
选择对象=》编写整个数据库及所有数据库对象的脚本E)
然后设置好保存路径即可。
然后 【下一步】=>【完成】 导出表结构。
PS:这些就导出了所有的对象信息了,并没有数据信息
导入表结构脚本上面我们的脚本导出了,那么如何到入到新搭建的库中呢? 我用的是sqlserver 2014,其他的版本应该差不多。 格式:osql -S 服务器 -U 用户名 -P 密码 -i SQL路径
因为我是本地执行,要以-E跳过用户认证。 提示:执行之前,先手动创建好相关的数据库实例
和用户
,不然会报错。 可以参考:https://blog.csdn.net/lxyoucan/article/details/126889935
cd C:\Program Files\Microsoft SQL Server\120\Tools\Binn
osql -E -i C:\Users\itkey\Documents\demo.sql
如果是远程服务器:
osql -S 47.97.8.8 -U sa -P password -i C:\Users\itkey\Documents\demo.sql
导入数据
突然有事情了,我就简单写一下。
这样就可以导出数据脚本了。导出的数据
osql -E -i C:\Users\itkey\Documents\data.sql
执行一下就可以了。
当然,也可以选择架构和数据一次性搞定。
参考https://blog.csdn.net/xiaouncle/article/details/52806655