在mac上恢复windows上备份的SQLServer数据库

数据库备份文件为~/data/sqlserver/secureback.bak

Mac上docker运行sqlserver:

docker run -it -e SA_PASSWORD=Active#123 -e SQLSERVER_DATABASE=test -e SQLSERVER_USER=test -e SQLSERVER_PASSWORD=test -p 1433:1433  --name sqlserver -v ~/data/sqlserver:/opt/backup exoplatform/sqlserver

将mac本机目录~/data/sqlserver/,映射到docker。

docker上sqlserver启动后,链接数据库,执行下面命令恢复数据库:

RESTORE database secure FROM disk='/opt/backup/secureback.bak'
WITH MOVE 'ams_site_b' TO '/opt/data/ams_site_b.mdf', 
  MOVE 'ams_site_b_log' TO '/opt/data/ams_site_b.ldf'

数据库逻辑名为ams_site_b。如果不加WITH MOVE会报错:

Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\secure.mdf" failed with the operating system error 2(The system cannot find the file specified.).

备份成功后,恢复用户 账号:

USE secure
--DROP USER secure
CREATE LOGIN secure WITH PASSWORD='secure', CHECK_POLICY=OFF, DEFAULT_DATABASE=secure
CREATE USER secure FOR login secure with default_schema=dbo
exec sp_addrolemember 'db_owner', 'secure'
alter login secure enable
GRANT ALL ON DATABASE::secure TO secure

完。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值