标签: linux

SQL Server 2017 Linux CU1 - 修改文件遇到操作系统错误 31

我有一台“VMWare RHEL 7.4”机器,安装了“SQL Server 2017 Linux CU1”,并创建了一个“Linux 线性卷”,当我尝试恢复“线性卷”中的数据库备份时,请参阅底部的步骤我收到以下错误。

/* 消息 5149,级别 16,状态 3,第 6 行 MODIFY FILE 在尝试扩展物理文件 '/sqldata/mssql_data/defense/defense_Data_01.MDF 时遇到操作系统错误 31(连接到系统的设备无法正常工作。) '。消息 3013,级别 16,状态 1,第 6 行 RESTORE DATABASE 异常终止。*/

我能够毫无问题地恢复“/var/opt/mssql/data”上的数据库备份,然后我分离数据库并将其移动到“线性卷”,并且我能够很好地附加数据库,但是任何操作需要扩展数据文件失败并出现相同的错误消息。

我已经以与 Oracle 和 PostgreSQL 数据库相同的方式设置了“Linux 线性卷”,并且它始终与这些数据库配合良好。

你见过这个问题吗?这是“SQL Server 2017 Linux CU1”的错误吗?

创建 Linux 线性卷

  1. vmware 添加 /dev/sdc 磁盘 100GB
  2. 对 /dev/sdc 进行分区并创建 100gb fdisk /dev/sdc 的 /dev/sdc1 分区
  3. 创建卷组 vgcreate vgsqldata /dev/sdc1 vgscan vgdisplay vgsqldata
  4. 逻辑卷 lvcreate -l 25599 vgsqldata -n lvsqldata lvdisplay -v /dev/vgsqldata/lvsqldata
  5. 格式化卷 mkfs.ext3 /dev/vgsqldata/lvsqldata
  6. 挂载 …

sql-server linux sql-server-2017

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

使用 xtrabackup 流进行完整数据库备份

我是 Percona XtraBackup 的新手。我一直在尝试执行从本地(测试服务器大约 600GB)到远程服务器的完整备份流。

\n\n

我只是有一些问题,需要指导,我认为这是最好的地方。

\n\n

我有这个命令,我在本地执行

\n\n

innobackupex --user=user --password=password --stream=tar /which/directory/ | pigz | ssh user@10.11.12.13 "cat - > /mybackup/backup.tar.gz"

\n\n

我的问题是:

\n\n
    \n
  • 我的日志扫描没有改变/增加

    \n\n
    >> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    我之前读过一条评论,有人说如果没有人使用数据库,日志扫描不会增加。(是的,没有人在使用数据库)\xc2\xa0

  • \n
  • 它已经运行了一段时间了。

    \n\n

    我尝试使用 xtrabackup 到大约 1.7TB 的本地测试服务器,并在短短几个小时内完成。这是因为我正在使用流所以它很慢吗?

    \n\n

    我的命令中“/which/directory/”\xc2\xa0 的用途是什么?是否要先将\xc2\xa0文件存储在/which/directory/\xc2\xa0中,然后传输到我的远程服务器?为什么我必须指定一个目录?

  • \n
  • 在我的本地服务器 /which/directory/ 和我的远程服务器 /mybackup/ 上没有创建文件。

    \n\n

    难道我做错了什么 ? …

innodb mariadb backup linux percona xtrabackup

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

Linux 上的 MSSQL Server 2022:sys.* 表对于非 db_owner 用户来说非常慢

对于非sys.columns.​​sys.indexessys.tablesdb_owner

要重现,请在 Linux 上使用 SQL Server 2022(我使用的是 16.0.4035,这是撰写本文时的最新版本)并执行以下命令。它创建一个虚拟数据库,其中包含 500 个表,每个表有 10 列,这样sys.columns该数据库就会获取大约 5000 条记录。如果您手头的数据库总数超过 1000 列,则可以跳过创建虚拟数据库。

CREATE DATABASE SLOWSYSTABLES
GO

USE SLOWSYSTABLES

DECLARE @i int
DECLARE @createTable nvarchar(max)
SET @i = 0
WHILE (@i < 500)
BEGIN
    SET @createTable = 'CREATE TABLE dummy_' + CAST(@i as nvarchar) + '(Col1 int not null identity(1,1) primary key, Col2 int, Col3 int, Col4 int, Col5 int, Col6 int, Col7 int, Col8 int, Col9 int, Col10 int)' …
Run Code Online (Sandbox Code Playgroud)

sql-server linux sql-server-2022

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

如何从 mysql 用户/数据库“撤销”“授予选项”?

我有一个有很多用户和授权的 mysql 安装。但是一个授权是独一无二的,因为它应该是一个简单的数据库用户并且通常不需要 GRANT 权限。但是有人在添加帐户时添加了它。它看起来像这样:

GRANT USAGE ON *.* TO 'freg2'@'%' IDENTIFIED BY PASSWORD '*XXXXX';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, \
    REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, \
    LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, \
    CREATE ROUTINE, ALTER ROUTINE \
    ON `freg2`.* TO 'freg2'@'%' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)

我在网上(和本网站)搜索了有关如何删除“GRANT OPTION”的解决方案,而无需重新创建整个 grant/account 。到目前为止没有运气。

真的没有办法从那个帐户中删除“这个”特权或权利吗?

提前致谢。

mysql linux mysql-5.5

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

SP2-0667:找不到消息文件 sp1&lt;lang&gt;.msb sqlplus oracle

我有一个包含 oracle 数据库的 linux RedHat。我设置了所有环境变量,但是当我运行sqlplus命令时出现此错误:SP2-0667: Message file sp1<lang>.msb not found

这是我的变量和我的sqlplus命令:

[oracle@as ~]$ echo $ORACLE_HOME
/oracle/product/12.1.0/dbhome_1
[oracle@as ~]$ echo $ORA_NLS33
/oracle/product/12.1.0/dbhome_1/nls/data
[oracle@as ~]$ echo $LD_LIBRARY_PATH
/oracle/product/12.1.0/dbhome_1/lib
[oracle@as ~]$ sqlplus
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
Run Code Online (Sandbox Code Playgroud)

请注意,我目前以oracle用户身份运行,该用户似乎是/oracle具有读取和执行权限的文件夹的所有者。我还看到以下文件夹中存在一个名为 sp1us.msb 的文件:

[oracle@as ~]$ find $ORACLE_HOME | grep sp1
/oracle/product/12.1.0/dbhome_1/sqlplus/mesg/sp1us.msb
/oracle/product/12.1.0/dbhome_1/sqlplus/mesg/sp1us.msg
Run Code Online (Sandbox Code Playgroud)

oracle linux sqlplus

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

MySQL 无法在 Arch Linux 上启动。致命错误:无法打开和锁定权限表:表 'mysql.user' 不存在

MySQL 无法在 Arch Linux 上启动。

mysqld[3440]: [Note] /usr/bin/mysqld (mysqld 10.1.22-MariaDB) starting as process 3440 ...
mysqld[3440]: [Note] InnoDB: Using mutexes to ref count buffer pool pages
mysqld[3440]: [Note] InnoDB: The InnoDB memory heap is disabled
mysqld[3440]: [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mysqld[3440]: [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
mysqld[3440]: [Note] InnoDB: Compressed tables use zlib 1.2.11
mysqld[3440]: [Note] InnoDB: Using Linux native AIO
mysqld[3440]: [Note] InnoDB: Using SSE crc32 instructions
mysqld[3440]: [Note] …
Run Code Online (Sandbox Code Playgroud)

mysql linux installation mariadb-10.1

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

Microsoft SQL Server 可以安装在 Ubuntu 18.04 LTS 上吗?

尝试在 Ubuntu 18.04 上安装 SQL Server,我得到

# sudo apt-get install -y mssql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mssql-server : Depends: …
Run Code Online (Sandbox Code Playgroud)

sql-server linux ubuntu

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

SQL Server 在 Linux 上使用哪些端口?

SQL Server 在 Linux 上使用哪些端口?我想确保在容器中运行它时转发所需的端口。

sql-server linux network

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

当我运行 mssql-cli 时,我收到“没有名为 mssqlcli 的模块”

我刚刚用 pip 安装了 mssql-cli,

pip3 install mssql-cli
Run Code Online (Sandbox Code Playgroud)

然后我尝试跑步,mssql-cli然后我得到了

$ mssql-cli
/usr/bin/python: No module named mssqlcli
Run Code Online (Sandbox Code Playgroud)

sql-server linux ubuntu python

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

如何安装pgcrypto?

在尝试回答从现有字符串列创建整数 id 列(整数编码?)时,结果发现我需要我自己的 postgres 版本来使用。我已经安装了一个不错的 postgres 版本:

stack=# select version();
                                                version                         

--------------------------------------------------------------------------------
------------------------
 PostgreSQL 11.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 9.1.1 20190503 (R
ed Hat 9.1.1-1), 64-bit
Run Code Online (Sandbox Code Playgroud)

但它没有 pgcrypto 模块:

stack=# CREATE EXTENSION pgcrypto;
ERROR:  could not open extension control file "/usr/pgsql-11/share/extension/pgcrypto.control": No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以我安装了:

sudo dnf install postgresql-contrib 
Run Code Online (Sandbox Code Playgroud)

但我仍然遇到同样的错误。如果我查看:

]$ ls /usr/pgsql-11/share/extension/
plpgsql--1.0.sql  plpgsql.control  plpgsql--unpackaged--1.0.sql
Run Code Online (Sandbox Code Playgroud)

我还需要安装其他软件包吗,或者我还缺少其他东西吗?

更新:

rpm -qa postgresql\* 
postgresql-contrib-11.3-1.fc30.x86_64 
postgresql11-11.4-1PGDG.f30.x86_64 
postgresql-11.3-1.fc30.x86_64 
postgresql11-server-11.4-1PGDG.f30.x86_64 
postgresql11-libs-11.4-1PGDG.f30.x86_64 
Run Code Online (Sandbox Code Playgroud)

我收到 dnf install postgresql11-contrib 错误:

[...] 无法同步存储库“fedora-modular”的缓存错误:无法同步存储库“fedora-modular”的缓存

pdgd …

postgresql linux

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