AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-3024

DamagedGoods's questions

Martin Hope
DamagedGoods
Asked: 2019-10-23 03:33:11 +0800 CST

在 Azure SQL 中使用 DTU 时如何确定 MAXDOP 设置

  • 3

当您知道您可以使用的内核数量时,我以前有为本地 OLTP 和 OLAP 服务器设置 MAXDOP 设置的经验。例如,如果我知道我有 16 个可供我使用,我会为我的 OLTP 系统将我的 MAXDOP 设置为 2 或 4。

我刚加入一个项目,注意到核心生产数据库设置为 1 的 MAXDOP,禁止任何并行操作。

它是一个专用服务器(因此没有弹性池)Premium P11 服务器,因此 DTU 抽象了 CPU 的确切数量和内存容量。无法判断您正在处理多少个内核,是否有合理的起始配置?发现将本地最佳实践移植到 Azure SQL 有点棘手。

测试服务器是具有共享弹性池的不同配置,因此也没有简单的方法来测试特定的执行计划(尤其是所有内容都是通过实体框架 ORM 编写的)

sql-server azure-sql-database
  • 2 个回答
  • 1728 Views
Martin Hope
DamagedGoods
Asked: 2016-07-14 13:17:34 +0800 CST

Google Cloud SQL 上的 MySQL 压缩

  • 0

由于 Google Cloud SQL 是 MySQL 的托管实例,在 100GB RAM 的第二代机器上限制为绝对最大值,我应该压缩我的一些表和索引数据吗?我正在设计一个全局系统,因此最终工作集可能会超过 100GB。

以前,我通过压缩受内存限制的 SQL Server 和 Oracle 系统中的表和索引实现了性能改进。

我是 GCP 的新手,因此也是 MySQL 的新手。在这种情况下,压缩的使用仍然适用吗?是否有任何此类函数或过程(如 SQL Server 中的 compression_estimate)我可以运行以评估表或索引是否会从压缩中受益?

mysql compression
  • 1 个回答
  • 638 Views
Martin Hope
DamagedGoods
Asked: 2015-06-13 03:22:07 +0800 CST

Windows Oracle 服务器上的即时文件初始化

  • 0

我需要向 SmallFile 表空间添加额外的数据文件。该过程在我的系统上花费了几分钟来处理 1 个数据文件。

是否可以使用即时文件初始化让 Oracle 具有与 SQL Server 相同的功能?我的谷歌搜索没有结果。

谢谢,

克里斯

oracle-11g-r2 tablespaces
  • 1 个回答
  • 32 Views
Martin Hope
DamagedGoods
Asked: 2013-01-17 07:02:44 +0800 CST

通过脚本添加时,快照未在 SQL Server 2012 事务复制中获取新文章

  • 3

我正在尝试将新文章添加到 SQL Server 2012 中的现有出版物。

我正在使用语法将文章添加到出版物中

--add the table into the correct publication
sp_addarticle @publication='<publicationname>', @article='CardBookingType_tbl', @source_object='CardBookingType_tbl'

以前在 SQL Server 2008 上,我使用以下语法仅订阅 1 个表,然后运行快照。这不再适用于 SQL 2012,因为您必须订阅所有文章。

--add the table into the subscription
EXEC sp_addsubscription
        @publication = '<publicationname>',
        @subscriber = '<Servername>',
        @destination_db = '<dbname>'

GO

在 SQL Server 2012 中,如果我通过 GUI 添加表,然后运行快照代理,它会很好地拾取新表。但是,如果我通过脚本添加它会出现在 gui 中,但快照报告没有检测到新项目。

好像我缺少一段代码来将订阅者标记为缺少文章?

sql-server-2012 snapshot
  • 3 个回答
  • 3593 Views
Martin Hope
DamagedGoods
Asked: 2013-01-10 06:06:56 +0800 CST

如果 DMVS 中没有统计数据,可以删除 FK 的索引

  • 6

我使用了下面来自 Kevin Kline 的众所周知的查询来检查未使用的索引。在外键上创建的几个索引不返回读取统计信息,仅返回写入。

您是否 100% 安全地删除这些索引?或者它们可以被优化器用于插入或删除并且不会在 DMV 中注册任何统计信息?如果是这样,如何判断它们可以 100% 安全地移除?

我已经让服务器运行了 2 个月,所以我确信我已经涵盖了每月的工作负载周期。

    SELECT o.name
    , indexname=i.name
    , i.index_id   
    , reads=user_seeks + user_scans + user_lookups   
    , writes =  user_updates   
    , rows = (SELECT SUM(p.rows) FROM sys.partitions p WHERE p.index_id = s.index_id AND s.object_id = p.object_id)
    , CASE
        WHEN s.user_updates < 1 THEN 100
        ELSE 1.00 * (s.user_seeks + s.user_scans + s.user_lookups) / s.user_updates
      END AS reads_per_write
    , 'DROP INDEX ' + QUOTENAME(i.name) + ' ON ' + QUOTENAME(c.name) + '.' + QUOTENAME(OBJECT_NAME(s.object_id)) as 'drop statement'
    FROM sys.dm_db_index_usage_stats s  
    INNER JOIN sys.indexes i ON i.index_id = s.index_id AND s.object_id = i.object_id   
    INNER JOIN sys.objects o on s.object_id = o.object_id
    INNER JOIN sys.schemas c on o.schema_id = c.schema_id
    WHERE OBJECTPROPERTY(s.object_id,'IsUserTable') = 1
    AND s.database_id = DB_ID()   
    AND i.type_desc = 'nonclustered'
    AND i.is_primary_key = 0
    AND i.is_unique_constraint = 0
    AND (SELECT SUM(p.rows) FROM sys.partitions p WHERE p.index_id = s.index_id AND s.object_id = p.object_id) > 2000
    ORDER BY  name, reads
index sql-server-2012
  • 1 个回答
  • 197 Views
Martin Hope
DamagedGoods
Asked: 2012-11-29 03:59:58 +0800 CST

除以零导致错误事务在升级后因算术中止和 ANSI WARNINGS FALSE 而失败

  • 2

这是一个奇怪的问题..

我们收到除以零的错误,导致 SQL Server 终止事务并使测试网站崩溃。

Arithmetic Abort 与 ANSI 警告和所有其他默认值一起设置为 FALSE...没有发生代码更改,因此它也没有在代码中明确设置。

这只发生在服务器上包含非常相似的数据和相同元数据的大多数数据库上,但不是全部。

在我将 2008 测试服务器就地升级到 2012 后,这种情况开始发生。(该问题出现在两种兼容模式下)

如果我在查询窗口中明确地将 ARITHMETICABORT 设置为 false,它运行良好……似乎忽略了数据库范围的设置。这发生在管理工作室或代码中

这是我们检测到的第一段代码,供参考,但我认为这与代码无关

    SELECT  sm.MarkupId, sm.WebSiteCode, sm.CurrencyCode, sm.OfferTitle, sm.Priority, sm.MarkupPercent, sm.MarkupDownAmount, sm.Cumulative,
            sm.AllowAdditionalDiscounts, sm.StartDate, sm.EndDate, sm.DayOfWeek, sm.StartTime, sm.EndTime, sm.DepartureStartDate, sm.DepartureEndDate,
            ISNULL(s.name, '') AS Supplier, ISNULL(s.Supplierid, '') AS SupplierId, ISNULL(sb.CommissionPercent, 0) AS CommissionPercent, eg.Title AS EstabGroup,
            d.DomainName, sm.DurationFrom, sm.DurationTo, sm.BookingTotalFrom, sm.BookingTotalTo,
            ActualCommission = CASE WHEN ISNULL(sb.CommissionPercent, 0) = 0 THEN CAST(( ( sm.MarkupPercent - 100 ) / sm.MarkupPercent ) * 100 AS DECIMAL(18, 2))
                                    ELSE ROUND(ISNULL(sb.CommissionPercent, 0) - ( 100.0 - sm.MarkupPercent ), 2)
                               END, sm.BoardTypeId, BoardTitle = ISNULL(b.Title, '')
    FROM    SupplierMarkup_tbl sm
            INNER JOIN Domain_tbl d ON d.DomainId = sm.DomainId
            LEFT JOIN Supplier_tbl s ON sm.SupplierId = s.SupplierId
            LEFT JOIN acomEstabGroup_tbl eg ON sm.EstabGroupId = eg.EstabGroupId
            LEFT JOIN SupplierBookedItemType_tbl sb ON sb.SupplierId = s.SupplierId
                                                       AND sb.WebsiteCode = sm.WebSiteCode
                                                       AND sb.BookedItemTypeId = 17
            LEFT JOIN acomBoardType_tbl b ON b.BoardTypeId = sm.BoardTypeId
    WHERE   1 = 1
    UNION
    SELECT  CASE WHEN cm.IsExtranet = 1
                      AND cm.GrossAdjustment = 1 THEN -2
                 WHEN cm.IsExtranet = 1
                      AND cm.NetAdjustment = 1 THEN -1
                 ELSE 0
            END AS MarkupId, '' AS WebSiteCode, '' AS CurrencyCode, mo.Title AS OfferTitle, -1 AS Priority, cm.MarkupPercent * 100 AS MarkupPercent,
            0 AS MarkupDownAmount, cm.Cumulative, cm.AllowAdditionalDiscounts, cm.StartDate, cm.EndDate, cm.DayOfWeek, cm.StartTime, cm.EndTime,
            cm.CheckInStartDate AS DepartureStartDate, cm.CheckInEndDate AS DepartureEndDate, ISNULL(s.name, '') AS Supplier, ISNULL(s.Supplierid, '') AS SupplierId,
            0 AS CommissionPercent, '' AS EstabGroup, d.DomainName, cm.DurationFrom, cm.DurationTo, cm.BookingTotalFrom, cm.BookingTotalTo, ActualCommission = 0,
            cm.BoardTypeId, BoardTitle = ISNULL(b.Title, '')
    FROM    conContractEstabMarkup_tbl cm
            INNER JOIN Domain_tbl d ON d.DomainId = cm.DomainId
            LEFT JOIN Supplier_tbl s ON s.SupplierId = 97
            LEFT JOIN acomBoardType_tbl b ON b.BoardTypeId = cm.BoardTypeId
            LEFT JOIN dbo.MarkupOffer_tbl mo ON mo.MarkupOfferId = cm.MarkupOfferId
    WHERE   cm.EstabId IS NULL
            AND cm.Deleted = 0
    ORDER BY Priority, Supplier

这不是严格意义上的答案,因为我不知道为什么会发生这种情况,但我找到了根本原因。希望有人能告诉我为什么会发生这种行为,或者它是否是一个错误?

当 UNION 之后的第二条语句不返回任何行时,就会发生错误。

好久没见过这样的了!

sql-server-2012
  • 1 个回答
  • 603 Views
Martin Hope
DamagedGoods
Asked: 2012-11-27 17:10:45 +0800 CST

SQL Server 就地升级是否像以前那样不明智?

  • 81

自 SQL Server 6.5 以来,我一直在使用 SQL Server 和关闭,仍然在我脑海中响起的旧建议是永远不要进行就地升级。

我目前正在将我的 2008 R2 DEV 和 TEST 系统升级到 SQL Server 2012,并且需要使用相同的硬件。不必恢复我的 Reporting Services 配置的想法非常有吸引力,而且我真的很难在时间上明智。不涉及任何分析服务或任何异常或非标准 - 仅安装数据库引擎和报告服务。

有没有人遇到过就地升级的严重问题?还是我应该重新评估我对就地升级的立场?

sql-server sql-server-2012
  • 5 个回答
  • 27846 Views
Martin Hope
DamagedGoods
Asked: 2012-11-23 05:18:07 +0800 CST

使用增量为 -1 的 IDENTITY 列

  • 4

我需要运行一个 sql server logging db,其中 2 个主表在 2 个单独的数据中心同时写入这两个数据中心。

我的想法是将数据库恢复到新的数据中心,然后将标识列重新设置为 -1 并将增量设置为 -1,这样当需要组合数据时就不会出现重复的 id。DATACENTRE1 是正整数,DATACENTRE2 是负整数

-1 的增量会导致任何问题吗?

sql-server database-design
  • 6 个回答
  • 10769 Views
Martin Hope
DamagedGoods
Asked: 2012-11-04 04:39:19 +0800 CST

事务复制,在 bcp 中途因通信链路故障而失败

  • 4

我正在尝试复制到远程站点上的第四个订阅者。3 个订阅者在本地工作正常。另一个区别是这是来自 2008 r2 发布者和远程分发者的 2012 订阅者。

传递 bcp 命令时失败并出现以下错误。

该进程无法批量复制到表“dbo”。“FlightSchedule_tbl”。(来源:MSSQL_REPL,错误号:MSSQL_REPL0)

我尝试将 historyverbose 级别提高到 2,但这是我从代理历史记录中得到的唯一错误。我尝试重新创建快照,但这仍然在同一点失败...

这张表没有什么不寻常的地方,它有 500 万行,所以没有大量数据......

Column_name Type    Computed    Length
FlightId    int no  4
OrigAirport char    no  3
DestAirport char    no  3
DeptDate    datetime    no  8
ArriveDate  datetime    no  8
Airline char    no  10
SupplierId  int no  4
UpdateRef   int no  4
HarvestUpdateKey    int no  4
ActiveFlag  bit no  1

任何人都可以帮我诊断这个以获得有用的错误或提出问题可能是什么?这个数据中心的连接非常慢,这是我们试图解决的问题......这可能只是超时吗?

更新 - 我配置了一个仅包含此表的单独发布,并将详细日志记录设置为 2。然后我得到

错误消息:
进程无法批量复制到表“dbo”。“FlightSchedule_tbl”。(来源:MSSQL_REPL,错误号:MSSQL_REPL0)

现有连接被远程主机强行关闭。
未指定的错误
最大错误后无法发送批处理
TCP 提供程序:现有连接被远程主机强制关闭。(来源:MSSQLServer,错误号:10054)

通信链路故障(来源:MSSQLServer,错误号:10054)

所以看起来像数据中心之间的网络......奇怪的是它总是会在同一点死亡,这有什么原因吗?

目标服务器上的错误日志
错误:4014,严重性:20,状态:13
从网络读取输入流时发生致命错误。会话将被终止(输入错误:64,输出错误:0)。

sql-server-2008 sql-server-2012
  • 2 个回答
  • 4093 Views
Martin Hope
DamagedGoods
Asked: 2012-09-20 04:01:23 +0800 CST

转换数据类型后更新 nvarchar(max) 超时

  • 0

我最近升级到 2008 企业版,并借此机会使用维护窗口更改了我的数据库中最大的表。

运行以下内容来更改我的 ntext 字段

ALTER TABLE acomEstabLocale_tbl ALTER COLUMN [description] nvarchar(MAX)
GO
update acomEstabLocale_tbl set [description] = [description]

当我运行第二个语句时,我得到以下

length of LOB data (77404) to be replicated exceeds the exceeds configured maximum

好的,所以经过一番探索后,我找到了 sp_configure 并运行了:-

EXEC sp_configure ‘max text repl size’, 100000

但现在我收到以下信息

nvarchar max Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

我正在寻找临时延长此查询超时期限,可以使用服务器属性上的远程查询超时设置来完成吗?或者是否有针对此查询的 T-SQL 语句

sql-server sql-server-2008
  • 1 个回答
  • 1819 Views
Martin Hope
DamagedGoods
Asked: 2012-08-24 08:12:08 +0800 CST

移除物理碎片

  • 2

如果我继承了当时已增长到 400GB 1 MB 块的数据库。脱机碎片整理是删除所有物理碎片的唯一方法。我遇到的另一个问题是数据和日志文件混合在一起并且位于错误的 RAID 驱动器上。

我可以通过备份数据库用 1 块石头杀死 2 只鸟,删除它并使用 WITH MOVE 恢复它以将文件放在正确的 RAID 驱动器上。这会消除物理碎片吗?

sql-server fragmentation
  • 2 个回答
  • 399 Views
Martin Hope
DamagedGoods
Asked: 2012-08-09 02:12:08 +0800 CST

数百万更新的事务复制

  • 1

我有从 2005 年到 4 个 2008 年订阅者的标准事务复制设置。其中一个被复制的表从一个代理作业中更新了几次,导致每天早上有 600 万个更新语句,这导致订阅者出现大量死锁链。

我认为解决方案是将其更改为只复制一个存储过程调用?我是否只需要将新的存储过程添加到发布中并在订阅者处添加文章?

我已经尝试过这样做,因为似乎仍然在传输所有更新语句,我已经添加了文章属性来复制存储过程的调用,但仍然看到复制监视器中的所有行

sql-server-2005 stored-procedures
  • 1 个回答
  • 214 Views
Martin Hope
DamagedGoods
Asked: 2012-07-26 08:16:37 +0800 CST

事务复制快照锁定 Publisher db 从头开始

  • 2

我最近将我的远程分配器升级到 2008r2。在我们向出版物添加文章的那天尝试生成新快照时,我得到了完整的系统锁定(过去我们可以做到这一点,问题很少)。

我已经检查过了sp_Helppublication,我们正在使用同步方法 3(并发),所以直到最后都不应持有任何锁。

我一直在尝试关注此链接,因为我只添加了一个包含 26 行的附加表,但不想重新初始化并交付整个快照。

http://deepakrangarajan.blogspot.co.uk/2009/01/sql-2005-transaction-replication-adding.html

我试图运行这段代码

EXEC sp_changepublication
@publication = 'statics',
@property = N'immediate_sync',
@value = 'false'
GO 

但这也完全锁定了系统。我想我将不得不在半夜运行,但认为您应该能够将其作为对出版物的配置更改来运行。

此外,当我尝试链接中的最后一步将其添加到订阅时

EXEC sp_addsubscription  
@publication = 'statics',  
@article = 'dbo.SupplierCorporatePayAccountLink_tbl',  
@subscriber = 'PEARLJAM',  
@destination_db = 'MLT-Replicated',  
@reserved='Internal'

我收到以下错误消息

消息 14058,级别 16,状态 1,过程 sp_MSrepl_addsubscription_article,第 331 行无法创建订阅,因为订阅数据库中已存在订阅。每个订阅数据库中只允许对同一发布进行一次订阅。删除订阅并在必要时重新添加。如果问题仍然存在,则复制元数据可能不正确;有关故障排除信息,请参阅联机丛书。

快照后,如何才能将新文章添加到订阅者?

sql-server replication
  • 3 个回答
  • 3366 Views
Martin Hope
DamagedGoods
Asked: 2012-07-20 04:32:18 +0800 CST

我应该将 SET NOCOUNT ON 添加到所有触发器吗?

  • 21

这是相当普遍的知识,你应该有

SET NOCOUNT ON   

默认情况下,创建新存储过程时。

Microsoft 已在 2012 年更改了默认模板以包含此内容。我认为这对于触发器应该是相同的,但它并未包含在模板中。

这是故意的还是只是疏忽?

sql-server t-sql
  • 1 个回答
  • 14966 Views
Martin Hope
DamagedGoods
Asked: 2012-07-05 06:44:52 +0800 CST

所有拉取订阅都无法连接到 Distributor

  • 3

最近我所有的 PULL 订阅在同步状态下都有这个消息。:-

该进程无法连接到分发服务器“DISTRIBUTIONDB”

这仅发生在 PULL 订阅中。我尝试使用新快照重新初始化,但消息仍然存在。

当试图查看历史时,它表明代理工作不存在。所以我删除了它并从 T-SQL 脚本重新创建了订阅和作业。监视器现在建议该作业不存在,但是在订阅者上运行 T-sql sp_addpullsubscription 代码时,我得到

消息 21002,级别 11,状态 1,过程 sp_addpullsubscription_agent,第 250 行此订阅的分发代理已存在 (YAZOO-MLT-Statics-KINKS-MLT-Replicated-94CD221C-4F8E-4732-8738-A6101E9D571B)。

sql-server replication
  • 2 个回答
  • 14927 Views
Martin Hope
DamagedGoods
Asked: 2012-07-03 02:53:10 +0800 CST

SQL server 索引外键,覆盖索引包含的列

  • 6

我已经提取了一个没有索引的 FK 列表。

如果 FK 上没有专用索引,但它们是用于覆盖查询的更广泛索引的一部分,是否应该创建专用索引?

例如下面的 mytable 是一个 20 列的表,其中一个 varchar(255) 和其余的 ints、datetime 或 smallints。

它缺少索引

AdvertiserId  
Dirty  
MasterAdGroupId

AdvertiserID 缺少外键索引,但 [advertiserID] 是索引的一部分,其中 [dirty]&[error] 是 smallints。这应该有自己的专用索引吗?

我应该删除其中一些索引并将它们与包含的列组合吗?那么我的外键有专用索引吗?

    index_keys  
    -------------
    [AdvertiserAdGroupId]
    [AdvertiserHierarchyId]
    [AdvertiserHierarchyId], [AdvertiserAdGroupId], [MasterAdGroupId]
    [AdvertiserAdGroupCode]
    [AdvertiserAdGroupId], [MasterAdGroupId], [AdvertiserId]
    [AdvertiserId], [Dirty], [Error]
    [MasterAdGroupId], [Deleted], [AdvertiserAdGroupId]
    [AdvertiserHierarchyId], [Error], [AdvertiserAdGroupId], [MasterAdGroupId], [Deleted]
    [Error], [AdvertiserHierarchyId], [Dirty], [AdvertiserAdGroupId]
    [MasterAdGroupId], [AdvertiserAdGroupId], [AdvertiserHierarchyId]
    [AdvertiserId], [AdvertiserAdGroupCode], [LastSyncedDate], [CreatedDate]
    [AdvertiserId], [Deleted], [Paused], [AdvertiserAdGroupCode]
sql-server index-tuning
  • 3 个回答
  • 3942 Views
Martin Hope
DamagedGoods
Asked: 2012-06-21 02:17:35 +0800 CST

影响性能的位运算符

  • 3

我最近看到一些存储过程包含导致优化器问题的 BITWISE 运算符。我从执行计划中知道这些是问题的原因,但我不能 100% 确定原因。这是因为短路不能用作程序语言吗?然后使用 SQL 服务器同时评估WHERE子句中的所有内容并被迫扫描整个表?

附件是proc内部的一段代码,我为测试做了一些修改。如何重写它以删除 BITWISE?

DECLARE
@AdvertiserId INT, 
@DirtyReason INT

SET @advertiserid = 3
SET @dirtyreason = 7

BEGIN


SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 

   --DROP TABLE #temparraytable;

CREATE TABLE #tempArrayTable (advertiserHierarchyId int)
    INSERT INTO #tempArrayTable (advertiserHierarchyId)
    (SELECT convert(int,str) FROM dbo.SplitString('14167',','))

CREATE INDEX #ix_tempArrayTable ON #tempArrayTable  (advertiserHierarchyId)

        SELECT DISTINCT MA.ContentNetwork,MA.DestinationURL, MA.MasterAdGroupId, AA.Title, MA.ShortTitle, ma.LinkedObjectId, ma.LinkedObjectTypeId, MA.MasterHierarchyId, 
                AA.AdvertiserAdGroupId, AA.AdvertiserId, AA.AdvertiserHierarchyId, AdvertiserAdGroupCode, AA.AdvertiserHierarchyId, AA.Dirty, 
                AA.Deleted, AA.Paused, MA.MatchTypeId,
                lob.MaxCostPerClick AS 'LinkedObjectROIMAXCPC'                     
          FROM admanMasterAdGroup_tbl MA  
    INNER JOIN admanAdvertiserAdGroup_tbl AA  ON MA.MasterAdGroupId = AA.MasterAdGroupId 
        INNER JOIN admanAdvertiserCreative_tbl AC ON AA.AdvertiserAdGroupId = AC.AdvertiserAdGroupId 
        INNER JOIN admanAdvertiserHierarchy_tbl AH ON AA.AdvertiserHierarchyId = AH.AdvertiserHierarchyId 
        INNER JOIN #tempArrayTable tat ON tat.advertiserHierarchyId = AA.AdvertiserHierarchyId
    LEFT JOIN admanLinkedObjectROIBid_tbl lob ON lob.LinkedObjectId = ma.LinkedObjectId AND lob.LinkedObjectTypeId = ma.LinkedObjectTypeId AND lob.AdvertiserId = @AdvertiserId
        WHERE AA.AdvertiserId = @AdvertiserId 
          **AND (AC.Dirty & @dirtyReason > 0)**
      AND NOT (AC.Deleted = 1 AND AC.AdvertiserCreativeCode IS NULL) 
          AND AA.AdvertiserAdGroupCode IS NOT NULL 
          AND AA.Error = 0 
          AND AC.Error = 0 

        SELECT  MCH.Headline,MCH.Duplicate,MCH.MasterCreativeHeadlineId, MCB.MasterCreativeBodyId, 
                ACI.AdvertiserCreativeInstanceId,ACI.ActualLine1,ACI.ActualLine2,ACI.ActualHeadline,ACI.ActualDisplayURL,ACI.ActualDestinationURL, MCU.MasterCreativeURLId, MCH.Rank,  
                MCB.Line1, 
                MCB.Line2, AA.MasterAdGroupId, AdvertiserCreativeId, 
                AA.AdvertiserAdGroupId, AC.Dirty, AC.Deleted, AC.Paused, MCU.DisplayURL,AA.AdvertiserId, AC.AdvertiserCreativeCode,  
                MCH.CreativeHeadlineTemplateId, MCB.CreativeBodyTemplateId, MCU.CreativeURLTemplateId, CBT.CreativeTemplateGroupId  
           FROM admanAdvertiserCreative_tbl AC  
     INNER JOIN admanMasterCreativeHeadline_tbl MCH  ON AC.MasterCreativeHeadlineId = MCH.MasterCreativeHeadlineId 
     INNER JOIN admanAdvertiserCreativeInstance_tbl ACI  ON AC.AdvertiserCreativeInstanceId = ACI.AdvertiserCreativeInstanceId 
     INNER JOIN admanMasterCreativeBody_tbl MCB  ON MCB.MasterCreativeBodyId = AC.MasterCreativeBodyId 
     INNER JOIN admanMasterCreativeURL_tbl MCU  ON AC.MasterCreativeURLId = MCU.MasterCreativeURLId 
     INNER JOIN admanAdvertiserAdGroup_tbl AA  ON AC.AdvertiserAdGroupId = AA.AdvertiserAdGroupId 
     INNER JOIN admanAdvertiserHierarchy_tbl AH  ON AA.AdvertiserHierarchyId = AH.AdvertiserHierarchyId 
     INNER JOIN admanCreativeBodyTemplate_tbl CBT  ON CBT.CreativeBodyTemplateId = MCB.CreativeBodyTemplateId 
     INNER JOIN #tempArrayTable tat ON tat.advertiserHierarchyId = AA.AdvertiserHierarchyId
          WHERE AA.AdvertiserId = @AdvertiserId 
           **AND (AC.Dirty & @dirtyreason > 0)**  
           AND NOT (AC.Deleted = 1 AND AC.AdvertiserCreativeCode IS NULL) 
           AND AA.AdvertiserAdGroupCode IS NOT NULL 
           AND AA.Error = 0 
           AND AC.Error = 0 
      ORDER BY AC.Deleted desc, AC.AdvertiserAdGroupId,AC.AdvertiserCreativeId asc 

END;

BEGIN

DROP TABLE #temparraytable2;
CREATE TABLE #tempArrayTable2 (advertiserHierarchyId int)
INSERT INTO #tempArrayTable2 (advertiserHierarchyId)
    (SELECT convert(int,str) FROM dbo.SplitString('14167',','))
CREATE INDEX #ix_tempArrayTable ON #tempArrayTable2 (advertiserHierarchyId)

        SELECT DISTINCT MA.ContentNetwork,MA.DestinationURL, MA.MasterAdGroupId, AA.Title, MA.ShortTitle, ma.LinkedObjectId, ma.LinkedObjectTypeId, MA.MasterHierarchyId, 
                AA.AdvertiserAdGroupId, AA.AdvertiserId, AA.AdvertiserHierarchyId, AdvertiserAdGroupCode, AA.AdvertiserHierarchyId, AA.Dirty, 
                AA.Deleted, AA.Paused, MA.MatchTypeId,
                lob.MaxCostPerClick AS 'LinkedObjectROIMAXCPC'                     
          FROM admanMasterAdGroup_tbl MA  
    INNER JOIN admanAdvertiserAdGroup_tbl AA  ON MA.MasterAdGroupId = AA.MasterAdGroupId 
        INNER JOIN admanAdvertiserCreative_tbl AC ON AA.AdvertiserAdGroupId = AC.AdvertiserAdGroupId 
        INNER JOIN admanAdvertiserHierarchy_tbl AH ON AA.AdvertiserHierarchyId = AH.AdvertiserHierarchyId 
        INNER JOIN #tempArrayTable2 tat ON tat.advertiserHierarchyId = AA.AdvertiserHierarchyId
    LEFT JOIN admanLinkedObjectROIBid_tbl lob ON lob.LinkedObjectId = ma.LinkedObjectId AND lob.LinkedObjectTypeId = ma.LinkedObjectTypeId AND lob.AdvertiserId = @AdvertiserId
        WHERE AA.AdvertiserId = @AdvertiserId 
          **AND (AC.Dirty > 0 AND @dirtyReason > 0)**
      AND NOT (AC.Deleted = 1 AND AC.AdvertiserCreativeCode IS NULL) 
          AND AA.AdvertiserAdGroupCode IS NOT NULL 
          AND AA.Error = 0 
          AND AC.Error = 0 

        SELECT  MCH.Headline,MCH.Duplicate,MCH.MasterCreativeHeadlineId, MCB.MasterCreativeBodyId, 
                ACI.AdvertiserCreativeInstanceId,ACI.ActualLine1,ACI.ActualLine2,ACI.ActualHeadline,ACI.ActualDisplayURL,ACI.ActualDestinationURL, MCU.MasterCreativeURLId, MCH.Rank,  
                MCB.Line1, 
                MCB.Line2, AA.MasterAdGroupId, AdvertiserCreativeId, 
                AA.AdvertiserAdGroupId, AC.Dirty, AC.Deleted, AC.Paused, MCU.DisplayURL,AA.AdvertiserId, AC.AdvertiserCreativeCode,  
                MCH.CreativeHeadlineTemplateId, MCB.CreativeBodyTemplateId, MCU.CreativeURLTemplateId, CBT.CreativeTemplateGroupId  
           FROM admanAdvertiserCreative_tbl AC  
     INNER JOIN admanMasterCreativeHeadline_tbl MCH  ON AC.MasterCreativeHeadlineId = MCH.MasterCreativeHeadlineId 
     INNER JOIN admanAdvertiserCreativeInstance_tbl ACI  ON AC.AdvertiserCreativeInstanceId = ACI.AdvertiserCreativeInstanceId 
     INNER JOIN admanMasterCreativeBody_tbl MCB  ON MCB.MasterCreativeBodyId = AC.MasterCreativeBodyId 
     INNER JOIN admanMasterCreativeURL_tbl MCU  ON AC.MasterCreativeURLId = MCU.MasterCreativeURLId 
     INNER JOIN admanAdvertiserAdGroup_tbl AA  ON AC.AdvertiserAdGroupId = AA.AdvertiserAdGroupId 
     INNER JOIN admanAdvertiserHierarchy_tbl AH  ON AA.AdvertiserHierarchyId = AH.AdvertiserHierarchyId 
     INNER JOIN admanCreativeBodyTemplate_tbl CBT  ON CBT.CreativeBodyTemplateId = MCB.CreativeBodyTemplateId 
     INNER JOIN #tempArrayTable2 tat ON tat.advertiserHierarchyId = AA.AdvertiserHierarchyId
          WHERE AA.AdvertiserId = @AdvertiserId 
           **AND (AC.Dirty > 0 AND @dirtyreason > 0)**
           AND NOT (AC.Deleted = 1 AND AC.AdvertiserCreativeCode IS NULL) 
           AND AA.AdvertiserAdGroupCode IS NOT NULL 
           AND AA.Error = 0 
           AND AC.Error = 0 
      ORDER BY AC.Deleted desc, AC.AdvertiserAdGroupId,AC.AdvertiserCreativeId asc 

END
sql-server t-sql
  • 1 个回答
  • 3206 Views
Martin Hope
DamagedGoods
Asked: 2012-06-15 01:12:23 +0800 CST

SQL Server 日志传送备用数据库卡住恢复

  • 2

我在 SQL Server 2005 SP4 上有 2 台服务器。当辅助服务器赶上日志文件时,它会切换到待机模式,但过了一会儿它似乎“卡住”了恢复。

数据库上有一些打开的连接和查询,但现在已关闭。复制和还原作业运行良好,但没有切换到待机状态。在 dmvs 中看不到任何交易。

我可以尝试使用 STANDBY 选项手动还原数据库以将其切换到备用状态吗?或者这会破坏日志传送(需要小心,因为来自实时网站的快照 300GB)

或者还有什么我需要检查任务等阻止切换到待机的..

干杯

sql-server-2005 log-shipping
  • 1 个回答
  • 4242 Views
Martin Hope
DamagedGoods
Asked: 2011-09-13 07:52:27 +0800 CST

重新索引分区表索引

  • 1

运行 SQL 2008 R2 的历史报告服务器。

我正在尝试调整填充因子。我有一份工作在凌晨运行时记录碎片。

对于每个具有高碎片的表,我已将填充因子从 100% 的默认值降低到运行良好的特定索引。但是我最大的 3 个表是分区的。

不幸的是,在 SQL 2008 R2 中,您无法修改特定分区上的填充因子。作业运行时,其中几个索引上的活动分区上的碎片率为 99%。

我不想增加所有分区,因为它们很大,已经占用了 150GB 的 250GB db。是否有人对解决方法有任何建议,或者我是否必须等待下一个主要版本,希望分区表维护中的这个相当大的遗漏得到纠正。

sql-server-2008-r2 partitioning
  • 1 个回答
  • 2833 Views
Martin Hope
DamagedGoods
Asked: 2011-08-24 07:29:28 +0800 CST

SQL Server 2008 R2 重新索引作业重新组织卡住

  • 5

我目前正在经历这项工作陷入我的夜间维护解决方案 -

ALTER INDEX [PK_ThirdPartySettleCalled] ON [evo_archive].[dbo].[ThirdPartySettleCalled]
 REORGANIZE WITH (LOB_COMPACTION = ON)

表的完整重新索引有效。

但我正在使用 Ola Hallengren 的出色解决方案,就像我在许多需要维护解决方案的站点上所做的那样。http://ola.hallengren.com/Documentation.html工作被困在半夜。

我已经在 ssms 中将它作为单个语句进行了测试,结果相同,没有错误我有点缺乏想法。

以前有人遇到过这个问题吗?

没有阻挡,

该表大约有 3 亿行,

基本上我说“卡住”是因为 SQL Server 中没有运行其他进程,并且它已经重组了几个小时而没有出现错误。

它处于相同的状态,碎片率为 25% 或几乎为 0%(在完全重建索​​引后测试)

index sql-server-2008-r2
  • 1 个回答
  • 2710 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve