window下sql-server备份后,拷贝到centos上

一.window下sql-server management 打开本地数据库,点备份

window下sql-server备份后,拷贝到centos上_第1张图片

 二.拷贝到centos下对应目录

mkdir -p /var/opt/mssql/backup

三.在 Linux 上还原数据库

下列步骤使用 sqlcmd 工具。 如果尚未安装 SQL Server 工具,请按照以下步骤安装:

●(1)用命令连接到微软官方下载配置文件
命令:

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

●(2)如果带有旧版本的mssql 工具,删除旧的unixODBC包,若没有直接到第三步
命令:

sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

●(3)安装下载的配置文件中新版本的mssql-tools和unixODBC开发人员包
命令:

sudo yum install -y mssql-tools unixODBC-devel

●(4)配置命令路径

vim /etc/profile.d/mssqltools.sh

输入内容:

export PATH=$PATH:/opt/mssql-tools/bin/

然后 source一下

source /etc/profile.d/mssqltools.sh

还原数据库:

1.在同一终端中,启动 sqlcmd。 下面的示例以 SA 用户身份连接到本地 SQL Server。 出现提示时输入密码,或使用 -P 参数指定密码。

sqlcmd -S localhost -U SA

2.在 >1 提示符下,输入以下 RESTORE DATABASE 命令,并在每行后按 Enter(无法同时复制和粘贴整个多行命令)。 将出现的所有 YourDB 替换为数据库的名称。

RESTORE DATABASE YourDB
FROM DISK = '/var/opt/mssql/backup/YourDB.bak'
WITH MOVE 'YourDB' TO '/var/opt/mssql/data/YourDB.mdf',
MOVE 'YourDB_Log' TO '/var/opt/mssql/data/YourDB_Log.ldf'
GO

应收到已成功还原数据库的消息。

备注:如果想重新备份,那么需要离线数据库,然后删除对应文件,最后重新跑RESTORE DATABASE 命令即可

/*使数据库离线*/

ALTER DATABASE [数据库名] SET OFFLINE WITH ROLLBACK IMMEDIATE

/*删除对应文件*/

rm -rf /var/opt/mssql/data/YourDB.mdf

rm -rf /var/opt/mssql/data/YourDB_Log.ldf

3.通过列出服务器上的所有数据库来验证还原。 应该会列出已还原的数据库。

SELECT Name FROM sys.Databases
GO

4.在已迁移的数据库上运行其他查询。 以下命令将上下文切换到 YourDB 数据库,并从其一个表中选择行。

USE YourDB
SELECT * FROM YourTable
GO

※另外,更改sa密码方法如下:

cd   /opt/mssql/bin 

./mssql-conf -h

停止服务后(systemctl stop mssql-server),执行以下命令

./mssql-conf set-sa-password

注,windows导入脚本命令:

命令行工具

win+r键入:cmd命令,开启命令行工具

输入 sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -d databasename-i filename.sql

参数介绍:

-S 服务器地址 -U 用户名 -P 密码  -d 数据库名称 -i 脚本文件路径

你可能感兴趣的:(服务器,数据库,运维)