标签: errors

不能改变表

我有一个特定的表,我无法为其添加密钥:

mysql> ALTER TABLE tasks ADD KEY `fruitful_user_count` (`user_id`, `is_fruitful`);
ERROR 1034 (HY000): Incorrect key file for table 'tasks'; try to repair it
Run Code Online (Sandbox Code Playgroud)

谷歌搜索这个问题似乎这个问题通常是配置问题或磁盘空间问题。事实上,这个数据库运行在一个Amazon RDS实例上,这意味着它基本上是一个专用于MySQL的托管服务器,配置非常标准。此外,分配给我们的磁盘只有大约 25% 已满。

考虑到可能虚拟机上的磁盘(我相信由 Xen 提供支持)已满,而不是我分配的磁盘空间,甚至可能不在同一个房间(网络存储)中,我重新启动了 RDS 实例,希望我能得到另一个 VM 上的新实例。然而,这并没有帮助。

我的下一个故障排除步骤应该是什么?

这是表:

mysql> show create table tasks;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tasks | CREATE TABLE `tasks` (
`user_id` char(32) NOT NULL,
`module_id` int(11) NOT NULL DEFAULT '0',
`is_successful` tinyint(1) DEFAULT NULL,
`is_fruitful` tinyint(1) DEFAULT NULL,
`last_run` timestamp …
Run Code Online (Sandbox Code Playgroud)

mysql alter-table errors amazon-rds

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

UPDATE语句处理WHERE子句应该消除的记录

我收到一个非常奇怪的错误。考虑下表:

CREATE TABLE #MyTable (
    Key1 INT , Key2 INT ,
    x SMALLINT , y INT , z INT ,
    a FLOAT , b FLOAT , c SMALLINT , s FLOAT
)

-- insert many records

CREATE UNIQUE CLUSTERED INDEX CI ON #MyTable ( Key1 , Key2 )
Run Code Online (Sandbox Code Playgroud)

出于某种原因,以下更新语句尝试除以零。这只能在c=0或 时发生c=1。该WHERE条款明确规定c>1

-- this fails with divide-by-zero error
UPDATE  #MyTable
SET s = CASE
        WHEN a - SQUARE ( b ) / c <= …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server update errors

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

“删除不可恢复的检查点表行”是什么意思?

当我查看生产 SQL Server 2016 的服务器日志时,我看到多个条目:

[信息] 数据库 ID:[5]。正在删除不可恢复的检查点表行(id:294)。

对于每个条目,末尾的 id 加 1。

我用谷歌搜索了这个错误,实际上没有任何关于它的信息。这个条目是什么意思?听起来相当不祥。

sql-server checkpoint errors sql-server-2016

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

遇到麻烦 - SQL 数据库损坏

最近我们无法做任何事情,因为我们的 SQL 数据库似乎有些损坏。他们告诉我们,损坏已经存在一年多了,因此没有干净的备份可供恢复。

他们表示不会碰它,因为他们只会从良好的备份中恢复。

当我运行数据库检查时,出现下面列出的错误。

消息 8944,第 16 层,状态 26,第 1 行

表错误:对象 ID 1309576141,索引 ID 1,分区 ID 4372442057594119651328,分配单元 ID 34720157594136100864(类型行内数据),页 (1:1516648),第 9 行。测试 (((DataRecHdr*) m_pRec)->r_tagB = = 0) 失败。值为 64 和 0。

消息 8944,第 16 层,状态 26,第 1 行

表错误:对象 ID 46456432,索引 ID 1,分区 ID 72057594119651328,分配单元 ID 346346100864(类型行内数据),页 (1:1516648),第 9 行。测试 (((DataRecHdr*) m_pRec)->r_tagB = = 0) 失败。值为 64 和 0。

消息 8928,16 级,状态 1,第 1 行

对象 ID 309576141,索引 ID 1,分区 ID 72057594119651328,分配单元 ID 72057594136100864(类型行内数据):无法处理页面 (1:1516648)。有关详细信息,请参阅其他错误。

消息 8976,16 级,状态 …

sql-server errors

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

如何找到导致 SSMS“Msg 8115,Level 16,State 2,Line 1”的行

我在 MS SSMS 中有一个 400 行查询。当我运行它时,我得到:

消息 8115,级别 16,状态 2,第 1 行
将表达式转换为数据类型 int 时出现算术溢出错误。

第 1 行只是“Select”语句。我可以在 SSMS 中启用什么功能来让我更接近出现错误的行吗?

sql-server ssms errors

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

jdbc:setAutoCommit(true) 是否提交过去的执行?

我想执行一些语句,并在最后提交整个批处理。我尝试了以下方法:

connection.setAutoCommit(false);            // Don't commit for each statement
int[] returnCodes = pstmt.executeBatch();   // Execute all statements
connection.setAutoCommit(true);             // Back to normal state - future statements
                                            // will be committed instantly
connection.commit();                        // Commit our batch
Run Code Online (Sandbox Code Playgroud)

哪个失败了:

java.sql.SQLException: Can't call commit when autocommit=true
--reference to the line with connection.commit()--
Run Code Online (Sandbox Code Playgroud)

正确的做法是什么?是否connection.setAutoCommit(true)提交所有已执行的批处理语句?

jdbc transaction errors auto-commit

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

配置:错误:未找到 SQLite3 库

在 Linux 上安装 Zabbix 报告工具时出现以下配置错误。我已经尝试了两个版本(zabbix-2.0.9,zabbix-1.8.17),但遇到了同样的问题。

日志:

checking for macro __VA_ARGS__... yes
checking return type of signal handlers... void
checking for getloadavg... yes
checking for hstrerror... yes
checking for getenv... yes
checking for putenv... yes
checking for sigqueue... yes
checking for /proc filesystem... yes
checking for file /proc/stat... yes
checking for file /proc/cpuinfo... yes
checking for file /proc/0/psinfo... no
checking for file /proc/loadavg... yes
checking for file /proc/net/dev... yes
checking for long long format... no
checking for -rdynamic linking option... yes …
Run Code Online (Sandbox Code Playgroud)

sqlite linux installation reporting errors

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

oracle如何修改默认日期格式

这里是 Oracle 的新手,我正在处理一些分配,但我注意到当我使用脚本创建表时,oracle 抛出以下错误:

ORA-01858: a non-numeric character was found where a numeric was expected
01858. 00000 -  "a non-numeric character was found where a numeric was expected"
*Cause:    The input data to be converted using a date format model was
       incorrect.  The input data did not contain a number where a number was
       required by the format model.
*Action:   Fix the input data or the date format model to make sure the
       elements match in number and type.  Then …
Run Code Online (Sandbox Code Playgroud)

oracle date-format errors date

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

这个 INSERT 语句会起作用吗?教科书上的勘误?

我正在参加 Microsoft 认证 70-461 的模拟测试,并想确认我所看到的是否是错误(这是来自 Microsoft Press 的官方书籍,第九次印刷。我在现有勘误表中没有看到这一点)。

题:

您正在向Hovercraft数据库添加表。您可以使用以下语句创建表:

  Create Table Hovercraft.Testing
  ( TestIdentifier uniqueidentifier
  DEFAULT NEWSEQUENTIALID() PRIMARY KEY,
  HullId tinyint NOT NULL,
  TestDate date NOT NULL,
  Registration nvarchar(8) NOT NULL,
  Notes nvarchar(max)
  )
Run Code Online (Sandbox Code Playgroud)

您可以使用以下哪个语句向该表中插入数据?(每个正确答案都提供一个完整的解决方案。选择两个。)

选择是:

  1. INSERT INTO Hovercraft.Testing (Notes, HullID, TestDate, Registration,) VALUES (N'Hovercraft requires maintenance.', 142, '20120715', N'AAA320')

  2. INSERT INTO Hovercraft.Testing (HullID, TestDate, Registration, Notes) VALUES (124, '20120722', N'AAA321', N'Hovercraft in good condition. Next service in six months' time')

  3. INSERT INTO Hovercraft.Testing (HullID, TestDate, Registration, …

sql-server errors

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

升级到 SQL Server 2017 后出现错误消息 10314,级别 16,状态 11,带有 SAFE 程序集

我有一个 SQL Server 2017 之前的数据库,我恢复到/升级到 SQL Server 2017。在这个数据库中,我有一个 SQLCLR 程序集。程序集被标记为SAFE因为它不执行任何需要更高级别权限的操作,并且数据库已TRUSTWORTHY禁用 / OFF。SQLCLR 函数和存储过程在迁移到 SQL Server 2017 之前按预期工作,但现在当我尝试执行其中任何一个时,我收到以下错误:

消息 10314,级别 16,状态 11,服务器 XXXXXXXXXXX,行 YYYYYY
      在 Microsoft .NET Framework 中尝试加载程序集 ID ZZZZZ 时出错。服务器可能会耗尽资源,或者程序集可能不受信任。再次运行查询,或检查文档以了解如何解决程序集信任问题。有关此错误的更多信息:
      System.IO.FileLoadException:无法加载文件或程序集“{assembly_name}”,版本=0.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。发生与安全相关的错误。(来自 HRESULT 的异常:0x8013150A)

我已确认已在服务器/实例上启用 CLR 集成/SQLCLR。

sql-server errors sql-clr sql-server-2017

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