标签: docker

恢复证书时 Docker SQL Server 2017 中的权限问题

Docker SQL Server 2017 容器 @latest。使用master数据库。

我面临的错误如下:

[S00019][15208] The certificate, asymmetric key, or private key file is not valid or does not exist; or you do not have permissions for it.

我发现最接近这个确切问题的是Stackoverflow 上的这个问题。然而,答案对我不起作用。这个问题有类似的答案。

我也试过这里这里的说明。

所以通过错误的部分:

  1. 我已经重新创建了两次文件,所以我认为这不是“无效”部分。它显然不是“不存在”的部分(如果我输入了错误的密码,它会告诉我这是错误的密码)。
  2. 我已经备份并恢复了 SMK 和主密钥,没有问题,所以我认为这不是权限问题。这些文件具有完全相同的权限。

无论我尝试什么,我都无法获得要恢复的证书。我已经搜索了GitHub 问题无济于事,所以我不认为这是一个错误。我一定做错了什么。

相关代码:

--on Prod
BACKUP CERTIFICATE sqlserver_backup_cert
TO FILE = '/var/opt/mssql/certs/sqlserver_backup_cert.cer'
WITH PRIVATE KEY (
    FILE = '/var/opt/mssql/certs/sqlserver_backup_cert.key',
    ENCRYPTION BY PASSWORD = 'foobar'
    )
Run Code Online (Sandbox Code Playgroud)
--on Test
CREATE CERTIFICATE …
Run Code Online (Sandbox Code Playgroud)

sql-server linux certificate docker sql-server-2017

5
推荐指数
1
解决办法
225
查看次数

无法在 mysql docker 控制台中使用西里尔字符

我正在运行带有自定义配置文件的 MySQL docker 容器(最新版本 - 8.0),其中包含:

======================================
[client]

default-character-set=utf8mb4

[mysqld]
collation_server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character_set_server = utf8mb4

[mysql]
default-character-set=utf8mb4
======================================
Run Code Online (Sandbox Code Playgroud)

在 MySQL 控制台中执行:

show variables like "%coll%";
Run Code Online (Sandbox Code Playgroud)

产生这个:

+-------------------------------+--------------------+
| Variable_name                 | Value              |
+-------------------------------+--------------------+
| collation_connection          | utf8mb4_0900_ai_ci |
| collation_database            | utf8mb4_unicode_ci |
| collation_server              | utf8mb4_unicode_ci |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
+-------------------------------+--------------------+
Run Code Online (Sandbox Code Playgroud)

在 MySQL 控制台中执行:

show variables like "%char%";
Run Code Online (Sandbox Code Playgroud)

产生这个:

+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | utf8mb4                        |
| character_set_connection …
Run Code Online (Sandbox Code Playgroud)

mysql docker

4
推荐指数
1
解决办法
2265
查看次数

如何创建新的 Oracle 模式?

我对关系 DBMS 非常熟悉,但对 Oracle 不熟悉。我在 Docker 内部运行 Oracle 18c XE(在 MacOS 上)。我使用第三方客户端(MacOS 上的 SQLPro Studio)连接到它。现在我想开始。

如果这是 MySQL,我可以发出CREATE DATABASE whatever; USE whatever;并继续处理这些表。与 Microsoft SQL Server 相同,与 PostgreSQL 类似。我还可以创建一个额外的模式来保持更好的组织。

我认为 Oracle XE 只为您提供一个数据库,我想创建一个合适的模式。此时我在海上。我认为我需要创建一个与模式关联的新用户。

我也知道不同的 RDBMS 对什么是数据库或模式有不同的想法,所以我不确定这是否是正确的定义或解决方案。

我在客户端中创建新用户或新架构都没有成功。

我试过了:

CREATE USER fred IDENTIFIED BY 'h3art0fg0ld`;
Run Code Online (Sandbox Code Playgroud)

但我收到消息:

无效的通用用户名或角色名

我还读到我应该使用类似的东西c##fred,它确实有效,但是 (a) 我真的不知道这意味着什么和 (b) 声明GRANT connect, resource, create sessions TO c##printsdb;给了我“缺少或无效特权”的消息,所以我没有进一步先。

在 Docker 容器中,我不知道我是否可以访问 SQL*Plus,这是一些在线教程所假定的。

如何创建和使用架构,或包含表集合所需的任何内容?

schema oracle oracle-xe docker oracle-18c

3
推荐指数
1
解决办法
537
查看次数

无法在 Docker 中恢复特定 SQL Server 数据库

我在 Docker 中创建了一个 SQL Server,并且可以从 SQL Server Management Studio 成功连接到它。我将备份文件mybackup.bak从我的服务器复制到 Docker SQL 容器路径/var/opt/mssql/backup/

我可以在 SQL Server Management Studio 中看到此文件,但是当我尝试恢复它时,出现“访问被拒绝”错误。

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)

计划地点:

在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteWithResults(字符串 sqlCommand,布尔重试)
在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteWithResults(字符串查询,布尔重试)
在 Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSqlWithResults (服务器服务器,字符串cmd)
在Microsoft.SqlServer.Management.Smo.Restore.ReadBackupHeader(服务器srv)
在Microsoft.SqlServer.Management.RelationalEngineTasks.RestoreUtil.GetSourceDbNames(ICollection`1 bkdevList,字符串凭据,IBackgroundOperationContext backgroundContext)
在Microsoft。 SqlServer.Management.RelationalEngineTasks.RestoreDatabaseDialogController.<>c__DisplayClass8.b__7(IBackgroundOperationContext backgroundContext)

无法打开备份设备“/var/opt/mssql/backup/Keycloak.bak”。操作系统错误 5(访问被拒绝。)。
RESTORE HEADERONLY 异常终止。(.Net SqlClient 数据提供程序)

如需帮助,请单击: https: //learn.microsoft.com/sql/relational-databases/errors-events/mssqlserver-3201-database-engine-error

服务器名称:155.155.155.155,1433
错误号:3201
严重性:16
状态:2
行号:1

您能告诉我如何授予此访问权限吗?这将是很大的帮助。我看到这个堆栈问题,但我不知道这个人如何没有找到访问被拒绝的问题。

sql-server docker

3
推荐指数
1
解决办法
2629
查看次数

在 Windows 10 Pro 中构建 Oracle XE docker 镜像

我正在尝试在 Windows 10 的 docker 容器中安装 Oracle XE 18c。我已经安装了 docker,我需要按照此处的说明构建映像。

我克隆了 git 存储库,但我坚持这一步,因为我克隆的是 Linux 命令而不是 Windows。

克隆后:

git clone https://github.com/oracle/docker-images.git
Run Code Online (Sandbox Code Playgroud)

如果我cddocker-images\OracleDatabase\SingleInstance\dockerfiles\18.4.0构建图像,我会看到以下命令sh,而不是exeor bat

12/28/2019  01:36 PM             1,137 checkDBStatus.sh
12/28/2019  01:36 PM               905 checkSpace.sh
12/28/2019  01:36 PM                75 Checksum.xe
12/28/2019  01:36 PM             2,752 Dockerfile.xe
12/28/2019  01:36 PM               533 oracle-xe-18c.conf
12/28/2019  01:36 PM             6,132 runOracle.sh
12/28/2019  01:36 PM               775 setPassword.sh
Run Code Online (Sandbox Code Playgroud)

如何在 Windows 中构建此映像?

oracle windows docker

2
推荐指数
1
解决办法
4017
查看次数

为什么 SQL Server docker 映像始终使用高 CPU,以及如何修复它?

使用它docker-compose.yml我创建了一个容器:

version: "3.9"
services:
    database:
        image: mcr.microsoft.com/mssql/server
        user: root
        restart: always
        container_name: ContainerNameHere
        volumes:
            - /Organization/Databases:/var/opt/mssql/data
        environment:
            - ACCEPT_EULA=Y
            - SA_PASSWORD=password_here
            - MSSQL_PID=Express
        ports:
            - 1433:1433
        logging:
            driver: none
        networks:
            - NetworkNameHere
networks:
    NetworkNameHere:
        name: NetworkNameHere
        driver: bridge
Run Code Online (Sandbox Code Playgroud)

它的用户数据库为零。它只是一个简单的空 SQL Server docker 容器,没有数据库,也没有数据。

但这是我的top命令的结果:

顶部命令结果

正如你所看到的,它完全摧毁了我的 VPS。

这太令人沮丧了,微软团队还没有回复我

为什么 SQL Server 的 docker 容器会这样,我应该如何解决这个问题?


我有 10 GB 可用空间:

df -h /

已用文件系统大小 Avail Use% 安装在
/dev/sda1 20G 8.9G 10G 47% /

我的 SQL …

sql-server linux debian docker containers

-1
推荐指数
1
解决办法
1440
查看次数