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用户的权限

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

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

查看或配置备份压缩默认值选项

  1. 在对象资源管理器中,右键单击服务器并选择 “属性” 。
  2. 单击 “数据库设置” 节点。
  3. 在”备份和还原” 下,”压缩备份” 显示了 backup compression default 选项的当前设置。 该设置确定压缩备份的服务器级默认设置,如下所示:

  4. 如果未选中 “压缩备份” 框,在默认情况下将不压缩新备份。

  5. 如果 “压缩备份” 框已选中,则默认情况下将压缩新备份。

  6. 如果你是 sysadmin 或 serveradmin 固定服务器角色的成员,还可以通过单击”压缩备份” 框来更改默认设置。

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

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

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

导入到linux的sqlserver

注意文件权限

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

2,

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

sqlserver备份只能还原本机的bak文件

标题: Microsoft SQL Server Management Studio

其他信息:

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

Original: https://www.cnblogs.com/zx-admin/p/15797684.html
Author: zh7314
Title: windows版本sqlserver2016导数据到linux版本sqlserver2017

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/27163/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总