小编Pau*_*ite的帖子

在 SQL Server 中进行备份时出错

前几个月的 SQL 盒已经崩溃。我们几乎已经恢复了一些工具并在其上顺利运行应用程序的数据库。但是当我当时尝试备份数据库时,它给出了如下错误,

传递给数据库“****”中的日志扫描的日志扫描编号 (3533468:412:0) 无效。此错误可能表示数据损坏或日志文件 (.ldf) 与数据文件 (.mdf) 不匹配。如果在复制期间发生此错误,请重新创建发布。否则,如果问题导致启动失败,请从备份中恢复。(Microsoft SQL Server,错误:9003)

有人会帮助我摆脱这种情况吗?

我什至尝试复制数据库,但我失败了。

提前致谢。

sql-server-2008 sql-server corruption

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

实时部分表/列复制

我想知道是否有办法用 SQL Server 2012 企业版实现以下功能?

我有Table AServer 1说 10 列。

Table A:
| col1 | col2 | col3 | coln | col10 |
Run Code Online (Sandbox Code Playgroud)

Server 2,我需要的实时副本Table ATable BServer 2。但是我实际上只需要复制 3 列,因为这就是我使用的全部。

Table B:
| col1 | col3 | col10 |
Run Code Online (Sandbox Code Playgroud)

我在上面提到了“实时”,我的意思是当我插入一个新值或更新一个新值时,Table A该更改将尽快传播到Table B.

Table B是只读表。并将Table A数据写入其中。所以 A 将是发布者,B 将是订阅者。

我怎样才能实现这种设置?换句话说,我需要使用某种复制吗?或者我可以通过 Always ON High Availability 实现这一点。

replication sql-server sql-server-2012 transactional-replication

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

条件选择

我的表有 4 列(name, A, B, C)

我需要构建一个具有以下逻辑的查询:

Select name,
    a as value1,
    b or c as value2
from table
Run Code Online (Sandbox Code Playgroud)

逻辑:

A <> ''
If B <> '' 
    then value2 = b else 
    if c <> '' then value2 = c 
        else value2 = '' 
Run Code Online (Sandbox Code Playgroud)

sql-server

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

SQL 错误 (126):表 '.\mysql\user.MYI' 的密钥文件不正确;尝试修复它

为了给您更多信息,我已将网络服务器从 C: 驱动器移至 D: 驱动器,并将操作系统从 Server 2008 升级到 2012。

我所有的网站都很好,加载没有问题,我没有遇到任何奇怪的问题。

当我尝试将数据库添加到特定的 sql 用户甚至添加一个新的 sql 用户时,标题中会出现此错误。

还在以 Windows 7 作为操作系统的 VM 上尝试了我的网络服务器的副本,但没有遇到此问题,因此我认为它与 Server 2012 相关,但不确定是什么。

任何帮助将不胜感激!

mysql

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

RIGHT JOIN 没有按预期工作

我有一个关于连接两个表的问题。

架构

CREATE TABLE [dbo].[DCString] (
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [DCDistributionBoxID] [bigint] NOT NULL,
    [CurrentMPP] [decimal](18, 2) NULL,
    CONSTRAINT [PrimaryKey3] PRIMARY KEY CLUSTERED ( [ID] ASC )
)

ALTER TABLE [dbo].[DCString]
    ADD CONSTRAINT [FK_DCString_DCDistributionBox] FOREIGN KEY([DCDistributionBoxID])
    REFERENCES [dbo].[DCDistributionBox] ([ID])

CREATE TABLE [dbo].[StringData](
    [DCStringID] [bigint] NOT NULL,
    [TimeStamp] [datetime] NOT NULL,
    [DCCurrent] [decimal](18, 2) NULL,
    CONSTRAINT [PrimaryKey4] PRIMARY KEY CLUSTERED ( [TimeStamp] DESC, [DCStringID] ASC)
)
Run Code Online (Sandbox Code Playgroud)

[StringData]表具有以下存储统计信息:

  • 数据空间:26,901.86 MB
  • 行数:131,827,749
  • 分区:真实
  • 分区数:62
用法

我现在想将[StringData]表中的数据与表中的数据连接起来[DCString]。 …

sql-server-2008 join sql-server

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

如果结束日期为空,则按开始日期 Desc 排序,否则按结束日期排序

我有一个包含活动列表的 SQL Server (RDBMS) 表。每个活动都有一个开始和结束日期。

要求是对它们进行排序,以便首先显示具有 NULL 结束日期的那些(建议“当前” - 开始日期降序),但具有开始和结束值的那些要在“的末尾排序当前”行并按 end_date 降序排序。

最后,开始和结束日期的所有值为 null 的值必须位于结果集的末尾。

具有结束日期但开始日期为空的值应在 END 日期 desc 片段中排序的第二部分中进行排序。

sql-server sorting

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

MySQL代码显示基于另一个...的特定行?

我很难弄清楚如何做到这一点,我无法很好地解释它。由于我不知道如何解释,我似乎无法通过简单的研究在网上找到答案。所以,我必须把它画出来并寻求帮助。以下是详细信息:

示例列:我的原始 SQL 查询创建了此表(特定于此问题的数据来自一个巨大的表)

示例代码:

SELECT 
inventory .01 as  `Item#`, 
inventory .02 as `warehouse`, 
inventory .03 as `qty`, 
inventory .04 as `price`, 
inventory .05 as `weight`, 
inventory .06 as `other`
FROM
Inventory
WHERE
Inventory.other = 5
Run Code Online (Sandbox Code Playgroud)

返回这个:

Item# | warehouse | qty | price | weight | other
1           1        1      3        4       5
1           2        6      3        4       5
1           3        3      3        4       5
Run Code Online (Sandbox Code Playgroud)

我使用 group by 重写了表,使数据看起来像这样:

SELECT 
inventory .01 as  `Item#`, 
inventory .03 as `qty (whse1)`, …
Run Code Online (Sandbox Code Playgroud)

mysql group-by

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

减小 MDF 文件大小

我正在使用 500 GB 的 SQL Server 数据库。在删除大量 (50%) 数据后,我需要减小数据库数据文件的大小。

我尝试重新建立索引,数据库已经碎片化了,这很好。但是数据库大小并没有减少。

我不准备使用收缩数据库。我已经尝试过压缩和 DBCC UpdateUsage 但没有增加空间。请告诉我任何其他减少数据库大小的方法。

我们的客户不允许我们将数据库脱机。缩小数据库可能需要 5 小时,然后重新索引将需要 3 小时,因此总共需要 8 小时的停机时间。我正在寻找一种无需停机的解决方案。

sql-server shrink

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

事实表的 FK 问题

我有一个 Datawarehouse 星型架构。一张 Dim 表是“DimTweet”。这包含推文详细信息。

对于选定的日期,我希望能够显示推文的数量。

但是,我目前的设计有问题。对于 DimTweet tbl 中的多行,如何在 Fact tbl 中使用一个 TweetID 作为 FK?

代码:

INSERT INTO [CarDW].[dbo].[FactCarDetail]
           ([CarID]
           ,[RegionID]
           ,[DateID]
           ,[TweetID]
           ,[SharePrice]
           ,[ShareQty]
           ,[SalesQty]
           ,[TweetCountPositive]
           ,[TweetCountNegative])
SELECT
    c.CarID,
    r.RegionID,
    d.DateKey,
    -- ????? AS TweetID
    scsp.Price,
    scsp.Quantity,
    scs.Quantity,
    -- COUNT NO. OF TWEETS Postive
    -- COUNT NO. OF TWEETS Negative
FROM 
    dbo.DimCar c        
INNER JOIN  
    dbo.StagingCarSale scs
    ON scs.CarModel = c.Model
INNER JOIN
    dbo.DimRegion r
    ON r.Region = scs.Region
INNER JOIN
    dbo.DimDate d
    ON d.Date = scs.SaleDate
--INNER …
Run Code Online (Sandbox Code Playgroud)

data-warehouse database-design facttable star-schema

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

从自动完整备份中排除数据库

我的 SQL Server 上有 10 个数据库。我们每天 00.00 进行一次自动完整备份。

问题是 10 个数据库中有两个不应该备份,因为管理目前不需要这些数据库;但我不知道如何从自动完整备份中删除这些数据库。

我找不到任何脚本或与备份相关的任何内容。我唯一能找到的是 SQL 代理上的完整备份选项。这些备份也是由 SQL Server 完成的。请帮我解决这个问题。

当我转到 SQL Server 代理> 作业> 完整备份时,我发现以下内容:

截屏

我无法弄清楚这到底是什么。这些是备份还是其他什么?这些作业生成的文件正在消耗我的驱动器空间,并且这些作业每天都在运行。

sql-server backup sql-server-2008-r2

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