小编Jac*_*las的帖子

SQL Server:冷备份,关闭服务?

我们的一位同事告诉我,他们正在为 SQL Server 进行“冷”备份,以便他们关闭服务,然后以某种方式进行备份。我认为这一切都错了!我对吗?我认为他们应该在他们的数据库处于 FULL 模式时进行完整备份、差异备份和日志备份。

他们在备份后启动 SQL Server 服务时也遇到问题,他们找不到 .mdf 文件。你知道为什么这会发生在他们身上吗?

sql-server-2008 sql-server backup restore

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

如何有效地删除表中的重复记录

我知道有几个选项可以删除重复的行,例如:

  • 行号
  • 分析 fn 就像 Rank(), row_number()

最有效的方法是什么?

oracle oracle-10g

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

T-SQL 的 RowNum(不是 TOP #)

试图运行更新,但我想逐步完成它,因为它有相当多的数据并且不想一次全部爆炸。

在 oracle 中,选择我想要的行要容易一些,因为您可以将它包含在WHERE子句中,但在 T-SQL 中您将它包含在select. 我想写一些类似的东西:

Update Instances
set thing = 'new thing'
Where rownum<500
Run Code Online (Sandbox Code Playgroud)

基本上想一次做500个,这个语法在TSQL中可行吗?

sql-server t-sql update

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

我可以在 Oracle 中实现“无缝”标识列吗?

在 SQL Server 中很容易编写:

create table #tmp (
    id      integer identity(1,1) primary key,
    message varchar(256)
);
Run Code Online (Sandbox Code Playgroud)

当我尝试将其迁移到 Oracle 时,我最终得到:

CREATE GLOBAL TEMPORARY TABLE tmp(
    id integer primary key,
    message varchar2(256)
) ON COMMIT PRESERVE ROWS;

CREATE SEQUENCE S_TMP_ID START WITH 1;

CREATE OR REPLACE TRIGGER TR_TMP 
BEFORE INSERT ON tmp
FOR EACH ROW
WHEN (new.id IS NULL)
BEGIN
  SELECT S_TMP_ID.NEXTVAL
  INTO   :new.id
  FROM   dual;
END;
/
Run Code Online (Sandbox Code Playgroud)

好的。我得到了独特的、不断增加的 id 值。但是,当两个会话同时使用同一个全局临时表时,我的想法序列就会出现差距,并且它们以某个任意值开始。

任何想法如何为全局临时表创建更好的标识值?

oracle identity

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

PostgreSQL 和查询计划器

我对 PostgreSQL 中的查询计划器有疑问。我知道,这个规划器正在从 pg_statistics 获取数据,但是......谁能告诉我这个规划器是根据什么依据这些信息进行有效查询的?它是如何使用这些统计数据的?有没有比文档更好的描述整个过程?

我完全知道我的问题可能无法理解,但我真的不知道如何更容易地解释我的问题。如果您有问题,请提问。

postgresql optimization statistics

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

如何为主键创建规则

我正在使用 SQL Server 2005,我需要创建一个带有字母字符和 3 个数字的主键:

    p001
    b201
Run Code Online (Sandbox Code Playgroud)

我知道我需要创建一个规则并将该规则绑定到主键列。我在使用LIKE查询创建规则时有点困惑:

CREATE RULE pK-rule AS @pk LIKE'[a-z][0-9][0-9][0-9]'
Run Code Online (Sandbox Code Playgroud)

有人可以建议我需要改变什么吗?

sql-server-2005 sql-server constraint primary-key

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

为什么 DB2 不允许创建名称中带有关键字“BACKUP”的数据库?

我正在使用 DB2 Express C v 10.5

我正在尝试创建名为“BACKUP”、“BACKUPTEST”、“BACKUP_TEST”甚至“TEST_BACKUP”的数据库。

在上述所有情况下,DB2 都会抛出如下错误:

SQL1001N “BACKUPTEST”不是有效的数据库名称。SQLSTATE=2E000


我尝试使用以下命令,它没有用。

> db2 create database BACKUP
Run Code Online (Sandbox Code Playgroud)

或者

> db2 create database "BACKUP"
Run Code Online (Sandbox Code Playgroud)

这显示错误为:

"SQL1001N "BACKUP_TEST" 不是有效的数据库名称。SQLSTATE=2E000"

db2 db2-10.5 db2-luw

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

如果句点是 varchar 列中的第一个字符,则删除它

我正在将数据从旧系统迁移到我正在构建的新系统中,并发现有人在做一种不好的做法,即在某些人的姓名开头添加句点,以使他们首先出现在某些下拉列表中。我试图弄清楚如何删除这些句点,当它们是列的第一个字符时,而不删除名称后面的句点(例如中间名首字母)。此更改是在命令期间进行的INSERT INTO SELECT

sql-server t-sql functions

0
推荐指数
1
解决办法
6681
查看次数

PostgreSQL 强制 sslmode=verify-full

我已经创建了我的 CA、服务器和客户端证书和密钥。我尝试过使用sslmode带有psql. 我已编辑该pg_hba.conf文件以强制hostssl仅使用 SSL 。现在我想设置我的服务器以强制验证为sslmode=verify-full. 我已经阅读了两次文档 I 并且不明白如何继续。他们说它由环境变量控制,但无法使其工作。我必须如何设置此变量以及如何使其持久化。有谁知道如何进行?

更新:我在 Ubuntu Server 14.04 上运行 PostgreSQL 9.3

postgresql configuration postgresql-9.3

0
推荐指数
1
解决办法
3632
查看次数

选择包含字母和/或非字母字符的记录

我有一个带有字符串字段 ID 的表,其值如下所示:

 012345678
Run Code Online (Sandbox Code Playgroud)

我想从 ID 字段中选择所有以 0 开头并包含一个字母的记录,例如000A345Bor 0A32C450。我还想选择以零开头并包含-,/ 或空格的记录。

请注意,记录应以 0 开头。

我该如何解决?

sql-server sql-server-2016

-1
推荐指数
1
解决办法
3060
查看次数

SQL Server 2008 Express 版中的事务日志能否以文本形式查看?

是否可以以文本/表格格式读取事务日志,如果可以,我该怎么做?

sql-server-2008 transaction-log

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