SqlServer教程

windows版本sqlserver2016导数据到linux版本sqlserver2017

本文主要是介绍windows版本sqlserver2016导数据到linux版本sqlserver2017,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2022年1月13日11:18:23

因为测试服务器是linux,没有多的资源额外装一台windows,现在在跑的数据库是

导出数据库:windows sqlserver2016 

导出数据库:linux sqlserver2017

 

linux安装sqlserver 2017

一、设置镜像
curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo > /etc/yum.repos.d/mssql-server.repo

二、进行安装
yum install -y mssql-server

三、运行安装程序
sudo /opt/mssql/bin/mssql-conf setup

四、查看
rpm -qa | grep mssql

五、设置为开机自启
systemctl enable mssql-server
/opt/mssql/bin/mssql-conf setup
选择2,developer 开发免费版本
然后选择yes
输入sa的密码
等待安装成功,默认启动,最后设置开机启动

 

注意:

https://packages.microsoft.com/config/rhel/7/目前只有 2017和2019,官方其他版本需要自己去找

insiders-fast.repo                                 26-Feb-2020 02:36                 229
insiders-slow.repo                                 10-Mar-2020 18:05                 211
mssql-server-2017-gdr.repo                         26-Feb-2020 02:36                 244
mssql-server-2017.repo                             26-Feb-2020 02:36                 232
mssql-server-2019-gdr.repo                         26-Feb-2020 02:37                 243
mssql-server-2019.repo                             26-Feb-2020 02:37                 231
mssql-server-preview.repo                          26-Feb-2020 02:37                 240
packages-microsoft-prod.rpm                        14-Mar-2017 17:55                4484
prod.repo                                          26-Feb-2020 02:37                 193

开启sql server agent

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true 
sudo systemctl restart mssql-server

 

导出数据,推荐两种方式:

1,导出sql文件

使用脚本备份作业
  1. 打开 SQL Server Management Studio 。
  2. 展开 " SQL Server 代理",然后展开 " 作业"。
  3. 右键单击要为其创建备份脚本的作业,然后选择 " 编写作业脚本为"。
  4. 选择 " 创建到 或 删除",然后选择 " 新建查询编辑器窗口"、" 文件" 或 " 剪贴板 ",为脚本选择一个目标。 通常,目标是扩展名为 .sql 的文件。
  5. 为你要编写脚本的每个作业重复步骤 3 以后的过程。 请参考与 BizTalk Server 相关的作业列表,以确定你需要为哪些作业编写脚本。
  6. 至少应在配置备份后备份 BizTalk Server (BizTalkMgmtDb) 作业。
注意:要选择设置脚本的时候,要选择 高级 -> 要编写的脚本的数据类型 ->选择架构和数据   这样导出的sql还会有很多问题,建议方法2  

2,导出二进制bak or log文件

在需要备份的数据库上点右键,选择任务->备份,弹出备份数据库窗口。

注意,选择你需要备份的位置和名称,如果是linux你需要设置为mssql用户的权限

 

 

 

点击确定即可,如果需要设置定期备份可以设置 备份选项

查看或配置备份压缩默认值选项
  1. 在对象资源管理器中,右键单击服务器并选择 “属性” 。
  2. 单击 “数据库设置” 节点。
  3. 在“备份和还原” 下,“压缩备份” 显示了 backup compression default 选项的当前设置。 该设置确定压缩备份的服务器级默认设置,如下所示:
  • 如果未选中 “压缩备份” 框,在默认情况下将不压缩新备份。
  • 如果 “压缩备份” 框已选中,则默认情况下将压缩新备份。
  1. 如果你是 sysadmin 或 serveradmin 固定服务器角色的成员,还可以通过单击“压缩备份” 框来更改默认设置。

压缩的文件和不压缩的文件 ,压缩比例大概1:3 1:4左右,还是很不错,特别是长期备份,数据库备份文件越来越大的时候

 

导入到linux的sqlserver

 

 2,

 

 

 

sqlserver备份只能还原本机的bak文件 标题: Microsoft SQL Server Management Studio ------------------------------ 还原数据库“BCS”时失败。 (Microsoft.SqlServer.Management.RelationalEngineTasks) ------------------------------ 其他信息: System.Data.SqlClient.SqlError: BACKUP LOG cannot be performed because there is no current database backup. (Microsoft.SqlServer.SmoExtended) 有关帮助信息,请单击: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=16.100.46521.71+(SMO-master-A)&LinkId=20476 ------------------------------   解决办法: 1,勾选覆盖到现在的数据库 2,结尾日志备份的问题,还原的时候程序默认选中了"还原前进行结尾日志备份" 还原数据库选择中去掉结尾日志就可以了   然后点击确定就好了   sqlserver2017 批量导出所有的作业 SQl server 代理 -- 选中作业 -- 按 F7,弹出 对象资源管理详细信息 ,里面对作业多选以后右键就有导出 sql的菜单了   SQL Server 维护计划实现数据库备份 https://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html     数据库 -> 【管理】-> 【维护计划】  -> 【维护计划向导】;
这篇关于windows版本sqlserver2016导数据到linux版本sqlserver2017的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!