linux docker SQL Server 服务没有访问备份文件的权限, 查看SQL Server 服务账户是否具有访问权限米命令并且授权
时间: 2023-12-14 15:39:46 浏览: 35
可以使用以下命令来查看 SQL Server 服务账户:
```
docker exec <container_name> cat /etc/passwd | grep mssql
```
其中 `<container_name>` 是运行 SQL Server 容器的名称。
如果您想授权 SQL Server 服务账户访问备份文件,可以在宿主机上修改备份文件的权限,例如:
```
chmod 777 /path/to/backup/file.bak
```
然后在容器中执行以下命令,以确保 SQL Server 服务账户有权限访问备份文件:
```
docker exec <container_name> chown mssql:mssql /path/to/backup/file.bak
```
其中 `<container_name>` 是运行 SQL Server 容器的名称,`/path/to/backup/file.bak` 是备份文件的路径。
相关问题
linux 下部署docker sql server 容器并且还原一个数据库备份
好的,我可以帮你解答这个问题。
首先,在 Linux 系统上部署 Docker,需要先安装 Docker,可以参考 Docker 的官方文档进行安装。
接下来,从 Docker Hub 上获取 SQL Server 镜像,并在容器中运行 SQL Server。可以使用以下命令:
```
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:2019-latest
```
其中,`ACCEPT_EULA` 参数需要设置为 `Y`,表示接受 Microsoft 的许可协议;`SA_PASSWORD` 参数需要设置为你自己的密码;`-p` 参数表示将容器的 1433 端口映射到主机的 1433 端口;`--name` 参数表示容器的名称;`-d` 参数表示以后台模式运行容器;`mcr.microsoft.com/mssql/server:2019-latest` 是 SQL Server 的镜像名称。
接着,将备份文件拷贝到容器中,并使用 SQL Server Management Studio 或者 SQLCMD 工具还原数据库备份。可以使用以下命令将备份文件拷贝到容器中:
```
docker cp your_backup_file.bak sqlserver:/var/opt/mssql/data/
```
其中,`your_backup_file.bak` 是你的数据库备份文件名称,`sqlserver` 是容器的名称。
最后,在容器中使用 SQL Server Management Studio 或者 SQLCMD 工具还原备份文件,可以参考以下命令:
```
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'yourStrong(!)Password' -Q 'RESTORE DATABASE your_database_name FROM DISK = "/var/opt/mssql/data/your_backup_file.bak"'
```
其中,`your_database_name` 是你要还原的数据库名称,`your_backup_file.bak` 是数据库备份文件名称。
希望以上内容能够帮助你部署 Docker SQL Server 容器并还原数据库备份。
Linux docker部署SQL server 2019
可以通过Docker容器来部署SQL Server 2019,具体步骤如下:
1. 安装Docker
2. 从Docker Hub下载SQL Server 2019的Docker镜像:
```
docker pull mcr.microsoft.com/mssql/server:2019-latest
```
3. 运行Docker容器:
```
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<your_strong_password>' \
-p 1433:1433 --name sql2019 \
-d mcr.microsoft.com/mssql/server:2019-latest
```
其中,`<your_strong_password>`是你设置的SQL Server管理员密码。
4. 进入Docker容器:
```
docker exec -it sql2019 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<your_strong_password>'
```
这样就可以使用SQL Server Management Studio或其他工具连接到Docker容器中运行的SQL Server 2019了。
注意:在生产环境中,应该使用更加安全的方式来管理SQL Server 2019的密码。