前几个月的 SQL 盒已经崩溃。我们几乎已经恢复了一些工具并在其上顺利运行应用程序的数据库。但是当我当时尝试备份数据库时,它给出了如下错误,
传递给数据库“****”中的日志扫描的日志扫描编号 (3533468:412:0) 无效。此错误可能表示数据损坏或日志文件 (.ldf) 与数据文件 (.mdf) 不匹配。如果在复制期间发生此错误,请重新创建发布。否则,如果问题导致启动失败,请从备份中恢复。(Microsoft SQL Server,错误:9003)
有人会帮助我摆脱这种情况吗?
我什至尝试复制数据库,但我失败了。
提前致谢。
我想知道是否有办法用 SQL Server 2012 企业版实现以下功能?
我有Table A:Server 1说 10 列。
Table A:
| col1 | col2 | col3 | coln | col10 |
Run Code Online (Sandbox Code Playgroud)
对Server 2,我需要的实时副本Table A中Table B上Server 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
我的表有 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) 为了给您更多信息,我已将网络服务器从 C: 驱动器移至 D: 驱动器,并将操作系统从 Server 2008 升级到 2012。
我所有的网站都很好,加载没有问题,我没有遇到任何奇怪的问题。
当我尝试将数据库添加到特定的 sql 用户甚至添加一个新的 sql 用户时,标题中会出现此错误。
还在以 Windows 7 作为操作系统的 VM 上尝试了我的网络服务器的副本,但没有遇到此问题,因此我认为它与 Server 2012 相关,但不确定是什么。
任何帮助将不胜感激!
我有一个关于连接两个表的问题。
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]表具有以下存储统计信息:
我现在想将[StringData]表中的数据与表中的数据连接起来[DCString]。 …
我有一个包含活动列表的 SQL Server (RDBMS) 表。每个活动都有一个开始和结束日期。
要求是对它们进行排序,以便首先显示具有 NULL 结束日期的那些(建议“当前” - 开始日期降序),但具有开始和结束值的那些要在“的末尾排序当前”行并按 end_date 降序排序。
最后,开始和结束日期的所有值为 null 的值必须位于结果集的末尾。
具有结束日期但开始日期为空的值应在 END 日期 desc 片段中排序的第二部分中进行排序。
我很难弄清楚如何做到这一点,我无法很好地解释它。由于我不知道如何解释,我似乎无法通过简单的研究在网上找到答案。所以,我必须把它画出来并寻求帮助。以下是详细信息:
示例列:我的原始 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) 我正在使用 500 GB 的 SQL Server 数据库。在删除大量 (50%) 数据后,我需要减小数据库数据文件的大小。
我尝试重新建立索引,数据库已经碎片化了,这很好。但是数据库大小并没有减少。
我不准备使用收缩数据库。我已经尝试过压缩和 DBCC UpdateUsage 但没有增加空间。请告诉我任何其他减少数据库大小的方法。
我们的客户不允许我们将数据库脱机。缩小数据库可能需要 5 小时,然后重新索引将需要 3 小时,因此总共需要 8 小时的停机时间。我正在寻找一种无需停机的解决方案。
我有一个 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) 我的 SQL Server 上有 10 个数据库。我们每天 00.00 进行一次自动完整备份。
问题是 10 个数据库中有两个不应该备份,因为管理目前不需要这些数据库;但我不知道如何从自动完整备份中删除这些数据库。
我找不到任何脚本或与备份相关的任何内容。我唯一能找到的是 SQL 代理上的完整备份选项。这些备份也是由 SQL Server 完成的。请帮我解决这个问题。
当我转到 SQL Server 代理> 作业> 完整备份时,我发现以下内容:
我无法弄清楚这到底是什么。这些是备份还是其他什么?这些作业生成的文件正在消耗我的驱动器空间,并且这些作业每天都在运行。
sql-server ×7
mysql ×2
backup ×1
corruption ×1
facttable ×1
group-by ×1
join ×1
replication ×1
shrink ×1
sorting ×1
star-schema ×1