小编dav*_*vey的帖子

SSRS 2016 报告门户 - 下拉列表中没有可用的 KPI 选项

有没有办法在 Reporting Services 2016 Web 门户中启用 KPI 选择?

我急切地想尝试这个功能,然后我浪费了 2 个小时寻找它,仍然没有找到它。在大多数示例中,它似乎位于“新建”下拉菜单下。

在此处输入图片说明

我在主页门户页面上,我确实创建了一个数据集和数据源。仍然没有 KPI 选项。我已经远程访问主机服务器,用户在 SSRS 中拥有系统管理员和系统用户权限。

sql-server ssrs sql-server-2016 ssrs-2016

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

SQL Server 升级 2008 -> 2016 / 100 到 130 兼容性慢查询,新 CE 杀了我

最近从 SQL Server 2008 升级到 2016,在兼容模式 100 下运行了 4 个月,一切都进展顺利(快速)。经过大量测试并运行迁移顾问后,我决定轻弹“开关”并将兼容性级别更改为 130 ...

这对相当多的 sprocs/queries 产生了不利影响,其中一些在几秒钟内运行现在需要几分钟。CPU也因此而上升。

这些查询写得很好,我每晚都会重建索引和统计信息。

比较看起来相同的计划,稍微偏离几个百分比,但仍然是相同的计划!我认为 CE 没有得到很好的行数。

还有什么奇怪的,有时查询在 130 中运行良好,所以我认为一切都很好,但突然收到警报,查询被占用了 2 行不同的时间,然后我必须添加回 OPTION (QUERYTRACEON 9481) 才能得到它又快了。

我还有什么可以检查/做的事情来帮助这些查询恢复昔日的辉煌吗?

我应该从缓存中删除所有存储过程计划吗???

sql-server sql-server-2016

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

带有手动故障转移的 SQL Server 2008 镜像数据库,需要报告数据库

我们当前的设置是生产中使用的主要数据库,带有用于 HA 的手动故障转移镜像数据库。

我还需要设置一个报告数据库。最好的方法是什么?我应该设置一个 SQL 作业来删除和创建镜像数据库的快照并每晚刷新吗?

有没有人有其他建议?

谢谢

sql-server-2008 mirroring snapshot reporting

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

索引键列顺序

我为多对多关系创建了一个连接表。

该表中只有 2 个列,ticketid并且groupid

典型的数据是

groupid    ticketid
20         56  
20         87
20         96
24         13
24         87
25         5
Run Code Online (Sandbox Code Playgroud)

我的问题是在创建复合键时我应该ticketid遵循groupid

CONSTRAINT [PK_ticketgroup] PRIMARY KEY CLUSTERED 
    (
        [ticketid] ASC,
        [groupid] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

或者groupid反过来ticketid

CONSTRAINT [PK_ticketgroup] PRIMARY KEY CLUSTERED 
        (
            [groupid] ASC,
                    [ticketid] ASC
        )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = …
Run Code Online (Sandbox Code Playgroud)

index sql-server-2008 sql-server primary-key

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

未使用 SQL 指南计划?

我试图在一个简单的临时 SQL 查询上强制参数化。如本文中所述https://www.simple-talk.com/sql/performance/fixing-cache-bloat-problems-with-guide-plans-强制参数化/

但即使试图用最简单的查询来做到这一点,我也无法让它工作

CREATE TABLE fruit
(
 id BIGINT PRIMARY KEY(id)
,title VARCHAR(150)
)
INSERT INTO fruit VALUES ( 1, 'Apple') , ( 2, 'Banana'), ( 3, 'Orange'), ( 4, 'Pear')

DECLARE @params nvarchar(max);
DECLARE @stmt nvarchar(max);
EXEC sp_get_query_template N'SELECT title FROM fruit WHERE id = 4',@stmt OUTPUT, @params OUTPUT;

--SELECT @params
EXEC sp_create_plan_guide 
    N'fruitGuide', 
    @stmt, 
    N'TEMPLATE', 
    NULL, 
    @params, 
    N'OPTION(PARAMETERIZATION FORCED)';
GO

SELECT title FROM fruit WHERE id = 1
Run Code Online (Sandbox Code Playgroud)

计划 XML:

显示编译并且不使用计划指南,我在这里遗漏了什么吗?我哪里出错了?

<?xml version="1.0" encoding="utf-16"?>
<ShowPlanXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2016 plan-guides

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

BST/GMT 转换为 UTC 时间

无论如何,将存储在 DB 中的 BST 日期时间转换为 UTC

查看了“时区”,但似乎是从 UTC 到其他时间。

数据库将日期时间存储为 BST/GMT 历史上需要将这些日期时间返回为 UTC

SELECT CONVERT(datetime,GETDATE()) AT TIME ZONE 'UTC' 
Run Code Online (Sandbox Code Playgroud)

例如

2019-07-08 12:01:55.060 ->  2019-07-08 11:01:550
Run Code Online (Sandbox Code Playgroud)

需要回溯大量历史日期数据,因此可能是 GMT 或 BST,具体取决于一年中的时间以及哪一年将确定回溯的切换日期

下面的示例,我存储了 GMT/BST 时区时间,需要使用 UTC 格式

DECLARE @dayLight TABLE(season VARCHAR(50), [gmt/bst] datetime, uct Datetime) 
INSERT INTO  @dayLight
VALUES('winter','2019-02-10 15:00:00','2019-02-10 15:00:00')
       ,('winter','2019-03-30 15:00:00','2019-03-30 15:00:00')
       ,('summer','2019-03-31 02:00:00','2019-03-31 01:00:00') --cut over
       ,('summer','2019-04-15 15:00:00','2019-03-30 14:00:00')
       ,('summer','2019-10-27 02:00:00','2019-10-27 01:00:00') --cut over
       ,('winter','2019-10-27 03:00:00','2019-10-27 03:00:00')

SELECT season,uct,[gmt/bst] FROM @dayLight     
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2016

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

按父级对没有共同组的每 X 行求和

试图按父项对没有共同组的每 X 行求和

declare @temp table(Row_ID int, amt DECIMAL(18,2))
insert into @temp values(1, 20)
insert into @temp values(2, 24)
insert into @temp values(3, 20)
insert into @temp values(4, 15)
insert into @temp values(5, 15)
Run Code Online (Sandbox Code Playgroud)

如果 X 行是 2,那么所需的结果是对 2 行求和并将总数放在行旁边。所以前 2 行总计为 44 ,接下来的 2 行为 35 ,剩下的 1 行总计为 15

Row_ID  amt     tot
1       20.00    44.00
2       24.00    44.00
3       20.00    35.00
4       15.00    35.00
5       15.00    15.00
Run Code Online (Sandbox Code Playgroud)

如果 X 行是 3,那么所需的结果

Row_ID  amt     tot
1       20.00    64.00
2 …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2016

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