AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-11303

Saeed Neamati's questions

Martin Hope
Saeed Neamati
Asked: 2023-06-01 15:32:38 +0800 CST

考虑到我们不需要日志,我应该将哪些文件放入 MariaDB 基于文件的备份计划中?

  • 5

这是我的目录的内容Databases:

total 201M
drwxr-xr-x 23 systemd-coredump systemd-coredump 4.0K May 27 02:07 .
drwxr-xr-x  9 root             root             4.0K Jun  1 10:20 ..
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Accounts
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Aggregates
-rw-rw----  1 systemd-coredump systemd-coredump  17M May 31 07:03 aria_log.00000001
-rw-rw----  1 systemd-coredump systemd-coredump   52 May 31 07:03 aria_log_control
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Blog
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Configuration
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:07 Contacts
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:11 Contents
-rw-r--r--  1 systemd-coredump systemd-coredump  509 Feb 26 10:11 db.sultanimmubin.ir.conf
-rw-rw----  1 systemd-coredump systemd-coredump    9 May 21 02:05 ddl_recovery-backup.log
-rw-rw----  1 systemd-coredump systemd-coredump    9 May 27 02:06 ddl_recovery.log
-rw-r--r--  1 systemd-coredump systemd-coredump 1.2K Feb 26 10:11 docker-compose.yml
drwx------  2 systemd-coredump systemd-coredump 4.0K Apr 12 14:54 Entities
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Forms
drwx------  2 systemd-coredump systemd-coredump 4.0K Apr 12 14:51 Galleries
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:06 Geo
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Globalization
-rw-rw----  1 systemd-coredump systemd-coredump 7.6K May 27 02:01 ib_buffer_pool
-rw-rw----  1 systemd-coredump systemd-coredump  76M May 27 02:01 ibdata1
-rw-rw----  1 systemd-coredump systemd-coredump  96M May 31 07:05 ib_logfile0
-rw-rw----  1 systemd-coredump systemd-coredump  12M May 27 02:07 ibtmp1
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:08 Media
-rw-rw----  1 systemd-coredump systemd-coredump    0 Feb 26 09:57 multi-master.info
drwx------  2 systemd-coredump systemd-coredump 4.0K Feb 26 09:57 mysql
-rw-r--r--  1 systemd-coredump systemd-coredump   15 Feb 26 09:57 mysql_upgrade_info
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Navigation
drwx------  2 systemd-coredump systemd-coredump 4.0K Feb 26 09:56 performance_schema
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Seo
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Social
drwx------  2 systemd-coredump systemd-coredump  12K Feb 26 09:56 sys
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:35 Taxonomy

正如你所看到的,任何以大写开头的目录都是我自己的数据库。我根本不关心日志,只要它们已经插入到相应的表中即可。而且我根本不关心 MariaDB 的基础设施。

我想使用基于文件的备份计划来备份文件。它是一个使用azcopyMicrosoft Azure 将目录和文件放入云中的脚本。

然而,对于一个少于 1000 条记录的简单服务器,它会消耗 200 MB。

除了数据库目录之外,我还应该在云中备份哪些文件以便稍后恢复?

更新 我要求这样做的原因是云成本。我们有一个程序可以将很多文件备份到云端,对于数据库来说,它备份整个Databases目录。这导致我们的账单急剧增加。因为我们是一家网页设计机构,我们有数百个客户,如果我们计算的话,我们每晚都会上传数十GB的数据用于数据库备份。

backup
  • 1 个回答
  • 46 Views
Martin Hope
Saeed Neamati
Asked: 2022-02-06 02:23:43 +0800 CST

卡在有条件地将记录插入 MariaDB

  • 0

我知道insert ignore。这是没有用的,因为 MariaDB 不认为 N​​ULL 是唯一索引的一部分。

因此我必须使用if ... else.

但是这段代码没有运行:

select *
from Nodes 
where `Key` = 'FAQPage';

if not found_row() then
   insert into Nodes (`Key`, ParentId)
   values ('FAQPage', null)
end if;

如何使用if ... else有条件地在 MariaDB 中插入数据?

mariadb insert
  • 1 个回答
  • 36 Views
Martin Hope
Saeed Neamati
Asked: 2020-03-22 02:54:14 +0800 CST

为什么在视图中选择查询中完全确定性和包罗万象的“案例”的结果可以为空?

  • 4

我有一个表,Id作为主键。

create table Anything
(
    Id bigint not null primary key identity(1, 1)
)

当我在 中查看这张表时Object Explorer,我当然会看到这张图片:

在此处输入图像描述

如您所见, columnId不是null。

然后我在这个虚拟表上创建一个虚拟视图:

create view IdIsTwoView
as

select
    Id,
    (
        case
        when Id = 2
        then cast(1 as bit)
        else cast(0 as bit)
        end
    ) as IdIsTwo
from Anything

但是这一次,在对象资源管理器中我看到了这个结果:

在此处输入图像描述

如您所见,尽管我的case子句包罗万象,涵盖了所有记录的 100%,并且对所有记录都有答案,但它是可以为空的。

为什么 SQL Server 会有这种奇怪的行为?以及如何强制它不为 null?

PS我们有一个动态生成代码的基础设施,这种行为给我们带来了麻烦,我们必须手动将bool?C# 中的所有类型更改为bool.

sql-server sql-server-2016
  • 2 个回答
  • 295 Views
Martin Hope
Saeed Neamati
Asked: 2019-12-07 02:33:00 +0800 CST

如何跨大量数据库删除过程(SQL Server 2016)

  • 0

我有一个存在于 150 多个数据库中的简单程序。我可以一个一个地删除它们,这是软件开发界最愚蠢的工作。或者我可以以某种方式在一个查询中动态删除它们,这很聪明但不起作用。

我试过了:

execute sp_msforeachdb 'drop procedure Usages'

我有:

无法删除过程“使用”,因为它不存在或您没有权限。

所以我想也许我为它创建了一个游标。于是我写道:

declare @command nvarchar(max) = '
drop procedure Usages
';
declare @databaseName nvarchar(100)
declare databasesCursor cursor for select [name] from sys.databases where database_id > 5
open databasesCursor
fetch next from databasesCursor into @databaseName
while @@fetch_status = 0
begin
    print @databaseName
    execute sp_executesql @command
    fetch next from databasesCursor into @databaseName
end
close databasesCursor
deallocate databasesCursor

再次,我得到了同样的信息。我想,也许它不会改变数据库的上下文,因此我在删除命令前加上给定数据库的名称,所以命令会变得类似于drop procedure [SomeDatabase].dbo.Usages,但后来我收到:

'DROP PROCEDURE' 不允许将数据库名称指定为对象名称的前缀。

因此,我想出动态执行use @databaseName,以便我可以在该数据库的上下文中删除过程。但它不起作用。我应该怎么办?我被困在聪明的方法上,而且我现在比愚蠢的方法花了更多的时间。

sql-server sql-server-2016
  • 2 个回答
  • 606 Views
Martin Hope
Saeed Neamati
Asked: 2015-06-08 01:26:22 +0800 CST

独占访问一个表并阻止其他查询,甚至读取查询

  • 3

我被困在设置事务隔离级别。这是我在应用程序中发生的场景:

  1. 获取未处理的消息(使用IsProcessing标志)
  2. 将它们设置IsProcessing为 true(在 RAM 中)并更新它们的IsProcessing状态
  3. 做生意
  4. 将它们设置IsProcessing为 false(在 RAM 中)并更新它们的IsProcessing状态

当按顺序运行时,这可以正常工作。但是当我运行我的应用程序的多个实例(并发)时,我看到一些消息被处理了两次或三次。这是发生的事情:

  1. 实例 A 收到一些未处理的消息
  2. 当实例 AIsProcessing在 RAM 中将

这就是我为了防止它所做的事情:

  1. 开始事务(可序列化)
  2. 获取未处理的消息(使用IsProcessing标志)
  3. 将它们设置IsProcessing为 true(在 RAM 中)并更新它们的IsProcessing状态
  4. 提交事务
  5. 做生意
  6. 将它们设置IsProcessing为 false(在 RAM 中)
  7. 开始事务(可序列化)
  8. 更新他们的IsProcessing状态
  9. 提交事务

我不知道为什么,但是在步骤1到4期间,其他实例仍然可以执行读取查询。这是不希望的。我想专门阻止任何事情,甚至在步骤 1 到 4 期间对消息表执行读取查询。

我怎样才能做到这一点?我的设计中缺少什么?目标是确保当消息排队等待处理时,没有其他实例会再次处理它。

sql-server transaction
  • 1 个回答
  • 2499 Views
Martin Hope
Saeed Neamati
Asked: 2015-05-06 02:03:24 +0800 CST

为什么这些字符在 SQL Server 中都是相等的?

  • 20

我只是不明白。请参阅此 SQL 查询:

select nchar(65217) -- ﻁ
select nchar(65218) -- ﻂ
select nchar(65219) -- ﻃ
select nchar(65220) -- ﻄ
if nchar(65217) = nchar(65218)
    print 'equal'
if nchar(65217) = nchar(65219)
    print 'equal'
if nchar(65217) = nchar(65220)
    print 'equal'

基于传递关系,这意味着 SQL Server 认为它们都是同一个字符。

但是,在其他环境中,例如 C#,它们并不相同。

我感到困惑的是:

  1. 字符串比较在 SQL Server 中的工作原理
  2. 为什么比较在一台机器和一个平台上的行为不同,但在不同的环境下
  3. 这 4 个字符代表一个人类可以理解的字符。为什么它们在 Unicode 字符映射中如此丰富?

这当然会导致巨大的问题,因为我正在开发一个文本处理应用程序,数据几乎来自任何地方,我需要在处理之前对文本进行规范化。

如果我知道差异的原因,我可能会找到处理它的解决方案。谢谢你。

sql-server unicode
  • 2 个回答
  • 3629 Views
Martin Hope
Saeed Neamati
Asked: 2015-03-11 21:53:56 +0800 CST

SQL Server 唯一索引,每个数据子集,基于另一列的值

  • 1

假设我有一张Customers桌子和一张Emails桌子。Emails表有这些字段:

Id   
CustomerId   
EmailValue   

现在,我想创建一个约束,以便每个客户不应该注册重复的电子邮件。我能想到的方法是:

  1. 创建一个函数以确保每个新电子邮件值的唯一性,并在检查约束中调用该函数
  2. 创建触发器,并在每次插入或更新时确保每个客户的电子邮件不重复
  3. 完全忘记数据库,把这部分业务放在我的应用层

不过,我最近熟悉了 SQL Server 的过滤索引。虽然我不知道它是否可以在这种特定情况下帮助我。我见过的大多数示例都是过滤掉NULL值,以便为可为空的列创建唯一索引。

有没有办法可以使用过滤索引来实现我想要的?

sql-server unique-constraint
  • 1 个回答
  • 1650 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve