对于一些测试和开发工作,我们希望能够定期克隆现有的 RedShift 数据库(所有模式和所有数据)。类似于备份还原的东西。
我能找到的最好的方法是创建整个集群的快照,这在目前是不切实际的。
我们确实有用于创建数据库和架构的脚本,但我们没有用于从另一个 AWS RedShfit 数据库填充表的简单/整洁的机制。 (我们发现我们不能使用,INSERT INTO db_new.schema.table SELECT * FROM db_old.schema.table因为不支持跨数据库语法)
有没有人有什么建议?
如果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)
对于只有 …
我想知道是否有任何方法可以在 PostgreSQL 中执行以下操作:
UPDATE cryptotable SET work = work + 'some big hexadecimal number'
Run Code Online (Sandbox Code Playgroud)
其中 work 是一个无符号的 256 位数字。现在我的列是一个字符变化(64)列(十六进制表示),但如果它让我执行上述操作,我很乐意切换到另一种数据类型。
如果 vanilla PostgreSQL 无法实现,是否有可以帮助我的扩展?
(我也将此发布到 pgsql-hackers,因此请查看那里的线程以获取更多想法。)
我正在重新考虑我对表主键的选择,并希望得到一些输入。
一些上下文:我们正在构建一个 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 …
我是一个小型网络(500 个用户)的一部分,他们都通过 WiMax 相互连接。连接到该网络的人们居住在大约 70 公里的半径范围内。该网络允许大约 1.5 MB/s 的传输速度。我们正在使用一个使用 Mysql 数据库的网站。我们都生活在南非,目前正在经历一种称为减载的现象。由于南非目前正经历电力短缺,因此市政当局将电力转移到特定地区以节省电力。
我们想为这个有问题的网站设置一个数据库复制网格。在减载的情况下,不会发出电源故障警告,因此可以假设服务器将突然关闭。
任何人都可以推荐一种数据库设置和复制类型,以便在发生减载后实现无缝同步?我们希望两台服务器都具有写访问权限,以防其中一台服务器出现故障,用户仍然可以连接到在线服务器。
所以简而言之: - 在数据库不一致的情况下无缝/简单/自动同步。- 足够快,不会删除整个数据库,并从代理主服务器重新下载。- 能够以 1.5MB/s 的带宽限制保持同步。- 没有数据丢失。两台服务器必须完全同步。
数据库的其他一些技术细节: - 每分钟平均处理 250 次查询。- 数据库大小为 1 GB。
我已经阅读了有关 Master-Master 同步的信息,但也读到它在突然关闭时不是很可靠,对于低带宽应用程序也不是很可靠。有没有人对这样的设置有想法。
我在尝试调整以下查询时遇到了麻烦。我曾经 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) 我在审计表中有一个 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)
但这不起作用,我不太确定为什么。关于我做错了什么的任何想法?
我正在尝试查找属于相当大的 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)
我的步骤:
> "C:\Program Files\Microsoft SQL Server\MSSQL13.STAGE\MSSQL\Binn\sqlservr.exe" -m -T4022 -T3659 -s"STAGE" -q"SQL_Latin1_General_CP1_CI_AS"运行查询
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:
当实例排序规则设置为 SQL_Latin1_General_CP850_CI_AS 时,在 2016 年创建新数据库。
新的数据库排序规则具有 …
Postgres 文档说ALTER SYSTEM将给定的参数值写入postgresql.auto.conf file,除了postgresql.conf.
我很好奇alter database set configuration parameter细节存储在哪里。
sql-server ×4
postgresql ×3
backup ×1
collation ×1
cryptography ×1
hstore ×1
identity ×1
index ×1
mysql ×1
oracle ×1
pgcrypto ×1
primary-key ×1
redshift ×1
replication ×1
restore ×1
ssms ×1
t-sql ×1
tuning ×1