小编Phi*_*lᵀᴹ的帖子

如何停止、脱机和删除恢复中的 SQL Server 数据库?

我有一个开发数据库,​​它在重新启动时进入了恢复模式,并且在过去一个小时左右一直在恢复。

我需要要么停止恢复,要么以某种方式杀死它。

我一点也不关心数据库或任何数据,我有部署脚本。

有任何想法吗?

sql-server-2005 sql-server

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

作为 DBA,我将如何从 Oracle 过渡到 SQL Server?

我是一名 Oracle DBA,也有 Sybase 经验。

两个 RDBMS 平台之间的主要架构和概念差异是什么?

类似于此处的 SQL Server->Oracle 问题的答案将最有用。

oracle sql-server

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

在哪里可以找到用于学习的数据库调优练习?

作为开发人员,DBA 通常负责解决数据库级别的性能问题,因此我们在诊断、调优、重构查询等方面没有太多经验。

我正在寻找一个包含大量表、数据、查询、触发器、SP 等的数据库,其中存在故意的性能问题,并希望有一系列练习,您可以在其中尝试识别和解决问题。理想情况下,这将在 MS SQL 服务器上。

有人知道这种事情吗?

sql-server database-tuning

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

T-SQL 中奇怪的 JOIN ON 子句

我正在解开一些遗留代码,而且我多年来从未见过这个:

Select * 

FROM GLAccounts
INNER JOIN GLCharts
    ON glaGLChartID = glcGLChartID
LEFT JOIN GLCategories
    ON glcGLCategoryID = gltGLCategoryID
INNER JOIN GLDepartments
    ON glaGLDepartmentID = gldGLDepartmentID
INNER JOIN GLDivisions
    ON glaGLDivisionID = glvGLDivisionID
        ,GLFiscalYearPeriods                --<this comma>
INNER JOIN GLFiscalYears
    ON glfGLFiscalYearID = glzGLFiscalYearID


ORDER BY glcGLCategoryID
    ,glcParentGLChartID
    ,glaGLChartID
Run Code Online (Sandbox Code Playgroud)

连接有效,但我没有在 ON 子句的任何 T-SQL 语法参考中找到逗号的这种用法。

这里发生了什么事?TIA

join sql-server t-sql

18
推荐指数
3
解决办法
1592
查看次数

强制实施 IsDeleted(软删除)时,合适的索引架构是什么?

目前,我们有一个功能齐全的现有数据库和应用程序。我目前没有能力更改架构。今天,数据库中的每个表都有一个“IsDeleted”NOT NULL BIT 字段,默认值为“0”。当应用程序“删除”数据时,它只是将 IsDeleted 标志更新为 1。

我无法理解的是每个表上的索引应该如何构建。现在,每个查询/加入/等总是实现 IsDeleted 检查。这是我们的开发人员必须遵循的标准。话虽如此,我正在尝试确定是否需要更改每个表上的所有聚集主键索引以包含主键和 IsDeleted BIT 字段。此外,由于每个查询/加入/等。必须实施 IsDeleted 检查,是否适当假设每个索引(非聚集索引)都应包含 IsDeleted 字段作为索引的第一个字段?

我的另一个问题是关于过滤索引。我知道我可以在索引上放置过滤器,例如“WHERE IsDeleted = 0”以减少索引的大小。但是,由于每个连接/查询都必须实现 IsDeleted 检查,这是否会阻止使用过滤索引(因为在连接/查询中使用了 IsDeleted 列)?

请记住,我无法更改 IsDeleted 方法。

index sql-server sql-server-2012

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

如何获得同一表上不同列的计数

表#01 Status

StatusID    Status
-----------------------
 1          Opened
 2          Closed
 3          ReOpened
 4          Pending
Run Code Online (Sandbox Code Playgroud)

表#02 Claims

ClaimID     CompanyName StatusID
--------------------------------------
1               ABC     1
2               ABC     1
3               ABC     2
4               ABC     4
5               XYZ     1
6               XYZ     1
Run Code Online (Sandbox Code Playgroud)

预期结果:

CompanyName TotalOpenClaims TotalClosedClaims TotalReOpenedClaims TotalPendingClaims
--------------------------------------------------------------------------------
ABC                 2           1                      0               1
XYZ                 2           0                      0               0
Run Code Online (Sandbox Code Playgroud)

我需要如何编写查询才能按预期获得结果?

sql-server pivot

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

还原数据库时NORECOVERY和RECOVERY有什么区别?

任何人都可以解释主要区别吗?

任何帮助表示赞赏。

sql-server

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

oracle 预建虚拟机的默认用户名和密码是什么?

我从http://www.oracle.com/technetwork/database/enterprise-edition/databaseappdev-vm-161299.html下载了DeveloperDaysVM2016-06-02_13.ova并成功加载到 Virtual Box。

我以“oracle”用户身份登录,可以看到桌面。

在虚拟机中,我打开 Firefox 并导航到:

http://localhost:8080/ords/hrrest/employees/并成功接收到 JSON 格式的员工列表。所以我知道数据库已启动并正在运行。

我唯一的问题是我无法登录到数据库。

我试过:

[oracle@vbgeneric oracle]$ sqlplus oracle

SQL*Plus: Release 12.1.0.2.0 Production on Tue Jul 5 17:32:22 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter password: oracle
ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name:
Run Code Online (Sandbox Code Playgroud)

我的 ORACLE_SID=orcl12c

我如何登录到数据库本身?

oracle oracle-12c

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

查询大量数据行之间的详细差异

我有许多大表,每个表都有 > 300 列。我正在使用的应用程序通过在辅助表中复制当前行来创建更改行的“档案”。

考虑一个简单的例子:

CREATE TABLE dbo.bigtable
(
  UpdateDate datetime,
  PK varchar(12) PRIMARY KEY,
  col1 varchar(100),
  col2 int,
  col3 varchar(20),
  .
  .
  .
  colN datetime
);
Run Code Online (Sandbox Code Playgroud)

存档表:

CREATE TABLE dbo.bigtable_archive
(
  UpdateDate datetime,
  PK varchar(12) NOT NULL,
  col1 varchar(100),
  col2 int,
  col3 varchar(20),
  .
  .
  .
  colN datetime
);
Run Code Online (Sandbox Code Playgroud)

在 上执行任何更新之前dbo.bigtable,将在 中创建该行的副本dbo.bigtable_archive,然后dbo.bigtable.UpdateDate使用当前日期进行更新。

因此,UNION将两个表放在一起并分组按PK创建更改的时间线,按 排序时UpdateDate

我希望创建一个报告,详细说明行之间的差异,ordered by UpdateDate, grouped by PK,格式如下:

PK,   UpdateDate,  ColumnName,  Old Value, …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008-r2

15
推荐指数
3
解决办法
637
查看次数

在哪里可以找到 SQL 标准文档?

在哪里可以找到 ISO SQL 2008 标准的合法副本?

sql-standard

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