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左右,还是很不错,特别是长期备份,数据库备份文件越来越大的时候

为什么要备份成.bak文件?

 因为还原的时候默认支持这几个后缀,当然可以改成选择所有文件,但是建议.bak,这样其他人知道这个做什么用的

导入到linux的sqlserver

注意文件权限

id mssql
chown -R mssql:mssql db-20220222/

 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 维护计划实现数据库备份
  数据库 -> 【管理】-> 【维护计划】  -> 【维护计划向导】;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值