小编a_h*_*ame的帖子

是否可以克隆 RedShift 数据库?

对于一些测试和开发工作,我们希望能够定期克隆现有的 RedShift 数据库(所有模式和所有数据)。类似于备份还原的东西。

我能找到的最好的方法是创建整个集群的快照,这在目前是不切实际的。

我们确实有用于创建数据库和架构的脚本,但我们没有用于从另一个 AWS RedShfit 数据库填充表的简单/整洁的机制。 (我们发现我们不能使用,INSERT INTO db_new.schema.table SELECT * FROM db_old.schema.table因为不支持跨数据库语法)

有没有人有什么建议?

backup restore redshift

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

只有 db_datareader 的数据库显示索引的无效属性

如果SQL Server数据库的用户只有public在同意server roles且仅用于特定的数据库db_datareader,并public随后试图允许script index as CREATE To在SSMS选项,生成的脚本不正确。

我的意思是,如果索引具有过滤条件,则不会显示该过滤条件

所以对于拥有所有者权限的用户script index as CREATE To将显示

USE [test]
GO

/****** Object:  Index [filtered]    Script Date: 12/30/2013 18:54:19 ******/
CREATE NONCLUSTERED INDEX [filtered] ON [dbo].[Table_1] 
(
    [b] ASC
)
WHERE ([Table_1].[b] IS NULL)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

对于只有 …

index sql-server ssms sql-server-2008-r2

6
推荐指数
1
解决办法
1186
查看次数

在 PostgreSQL 中添加无符号 256 位整数

我想知道是否有任何方法可以在 PostgreSQL 中执行以下操作:

UPDATE cryptotable SET work = work + 'some big hexadecimal number'
Run Code Online (Sandbox Code Playgroud)

其中 work 是一个无符号的 256 位数字。现在我的列是一个字符变化(64)列(十六进制表示),但如果它让我执行上述操作,我很乐意切换到另一种数据类型。

如果 vanilla PostgreSQL 无法实现,是否有可以帮助我的扩展?

(我也将此发布到 pgsql-hackers,因此请查看那里的线程以获取更多想法。)

postgresql pgcrypto cryptography

6
推荐指数
2
解决办法
2546
查看次数

具有唯一标识符的表上的主键选择

我正在重新考虑我对表主键的选择,并希望得到一些输入。

一些上下文:我们正在构建一个 REST API,客户端可以在其中访问由 GUID 标识的“资产”。因此,我们数据库中的 Asset 表类似于:

CREATE TABLE [dbo].[Asset](
    [Id] [uniqueidentifier] NOT NULL,
    [TypeId] [int] NOT NULL,
    [Date] [datetime] NOT NULL,
    [Title] [varchar](1000) NULL,
    [Description] [varchar](max) NULL,
    [Created] [datetime] NOT NULL,
    [Modified] [datetime] NOT NULL,
    [PublisherFields] [xml] NULL,
    [StatusId] [int] NOT NULL,
 CONSTRAINT [PK_Asset] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
Run Code Online (Sandbox Code Playgroud)

我们在使用这种结构时遇到了一些问题,特别是表上的聚集索引很快变得碎片化,现在我们已经达到了无法重建它的程度(因为 Azure 对查询时间的限制)。

进一步的研究表明,使用 uniqueidentifier 作为聚集索引并不总是一个好的选择,因为 newid() 不会按顺序生成 ID(除非您使用 newsequentialid(),但 Azure …

sql-server primary-key identity

6
推荐指数
1
解决办法
2591
查看次数

适用于非常不稳定(电源明智)网络的最佳数据库复制技术

我是一个小型网络(500 个用户)的一部分,他们都通过 WiMax 相互连接。连接到该网络的人们居住在大约 70 公里的半径范围内。该网络允许大约 1.5 MB/s 的传输速度。我们正在使用一个使用 Mysql 数据库的网站。我们都生活在南非,目前正在经历一种称为减载的现象。由于南非目前正经历电力短缺,因此市政当局将电力转移到特定地区以节省电力。

我们想为这个有问题的网站设置一个数据库复制网格。在减载的情况下,不会发出电源故障警告,因此可以假设服务器将突然关闭。

任何人都可以推荐一种数据库设置和复制类型,以便在发生减载后实现无缝同步?我们希望两台服务器都具有写访问权限,以防其中一台服务器出现故障,用户仍然可以连接到在线服务器。

所以简而言之: - 在数据库不一致的情况下无缝/简单/自动同步。- 足够快,不会删除整个数据库,并从代理主服务器重新下载。- 能够以 1.5MB/s 的带宽限制保持同步。- 没有数据丢失。两台服务器必须完全同步。

数据库的其他一些技术细节: - 每分钟平均处理 250 次查询。- 数据库大小为 1 GB。

我已经阅读了有关 Master-Master 同步的信息,但也读到它在突然关闭时不是很可靠,对于低带宽应用程序也不是很可靠。有没有人对这样的设置有想法。

mysql replication data-synchronization

6
推荐指数
1
解决办法
622
查看次数

查询调优问题

我在尝试调整以下查询时遇到了麻烦。我曾经 100% 专注于基础设施方面,但自今年 8 月以来,我在一家处理卡公司工作,该公司只要求我的“阴暗面”——查询调整技能。

如果您能为我提供提高查询性能的建议和技巧,我将不胜感激。以下是表格:

CREATE TABLE [dbo].[Delivery](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Address_Name] [varchar](120) NULL,
[Address_Street] [varchar](120) NULL,
[Address_Complement] [varchar](120) NULL,
[Address_City] [varchar](120) NULL,
[Address_District] [varchar](120) NULL,
[Address_Number] [varchar](120) NULL,
[Address_State] [varchar](120) NULL,
[Address_ZipCode] [varchar](120) NULL,
[OsFk] [int] NOT NULL,
[WebstoreOrderId] [int] NOT NULL,
[CourierType] [int] NULL,
 CONSTRAINT [PK_Delivery] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]


CREATE TABLE …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql tuning

6
推荐指数
1
解决办法
114
查看次数

Postgres hstore 检查键是否存在且与值不匹配

我在审计表中有一个 hstore 字段,用于存储因操作而更改的所有字段。

在插入时,键updated_byinchanged_fields是 NULL 并且在系统更新时它被设置为system。我想返回未定义键或未定义键的所有行,system但我不知道如何执行此操作。

到目前为止我已经尝试过

select changed_fields -> 'updated_by' 
from audit.logged_actions 
where (changed_fields -> 'updated_by' != 'system' 
       or defined(changed_fields, 'updated_by') = false) 
order by event_id desc
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我不太确定为什么。关于我做错了什么的任何想法?

postgresql hstore

6
推荐指数
1
解决办法
8067
查看次数

LOB 段在 DBA_SEGMENTS 中列出,但在 DBA_LOBS 中没有对应的行

我正在尝试查找属于相当大的 LOB 段的列(或表):

select segment_name, segment_type, bytes 
from dba_segments 
where segment_name = 'SYS_LOB0000103936C00014$$';
Run Code Online (Sandbox Code Playgroud)

返回:

select segment_name, segment_type, bytes 
from dba_segments 
where segment_name = 'SYS_LOB0000103936C00014$$';
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试查找相应的表时:

select table_name, column_name, segment_name, tablespace_name, index_name 
from dba_lobs 
where segment_name = 'SYS_LOB0000103936C00014$$';
Run Code Online (Sandbox Code Playgroud)

不返回任何行。

是否还有其他位置存储有关该 LOB 段的信息?

这是运行 RHEL 6.8 的 Oracle 11.2.0.4 (RAC)

oracle

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

SQL Server 2016 排序规则和内部表故障?

我的步骤:

  1. 安装了带有排序规则 SQL_Latin1_General_CP850_CI_AS 的 SQL 2016
  2. 将数据库还原到具有与数据库相同排序规则的暂存实例。(2012 年的原始备份)
  3. 运行> "C:\Program Files\Microsoft SQL Server\MSSQL13.STAGE\MSSQL\Binn\sqlservr.exe" -m -T4022 -T3659 -s"STAGE" -q"SQL_Latin1_General_CP1_CI_AS"
    这是为了将实例和所有数据库排序规则更改为 SQL_Latin1_General_CP1_CI_AS。(什么没有改变用户类型表)
  4. 运行查询

    Select i.name, c.collation_name,i.internal_type,i.internal_type_desc
    from sys.columns c inner join sys.internal_tables i on c.object_id=i.object_id
    WHERE c.collation_name <> 'SQL_Latin1_General_CP1_CI_AS'
    AND object_name(c.object_id) NOT LIKE 'sys%'
    AND object_name(c.object_id) NOT LIKE 'queue%'
    AND object_name(c.object_id) NOT LIKE 'file%'
    AND object_name(c.object_id) NOT LIKE 'spt%'
    AND object_name(c.object_id) NOT LIKE 'MSrep%'
    
    Run Code Online (Sandbox Code Playgroud)

    将返回带有旧排序规则的内部表。

    name         collation_name                  internal_type internal_type_desc
    sqlagent_jobs SQL_Latin1_General_CP850_CI_AS   220         CONTAINED_FEATURES
    
    Run Code Online (Sandbox Code Playgroud)

测试 2:

  1. 当实例排序规则设置为 SQL_Latin1_General_CP850_CI_AS 时,在 2016 年创建新数据库。
    新的数据库排序规则具有 …

sql-server collation sql-server-2016

6
推荐指数
1
解决办法
372
查看次数

数据库特定设置存储在哪里?

Postgres 文档说ALTER SYSTEM将给定的参数值写入postgresql.auto.conf file,除了postgresql.conf.

我很好奇alter database set configuration parameter细节存储在哪里。

postgresql

6
推荐指数
1
解决办法
357
查看次数