标签: sql-server-2014

Visual Studio 2013 + Business Intelligence SSDT中缺少报表服务器模板

前几天我安装了Microsoft SQL Server数据工具 - 面向Visual Studio 2013的商业智能(SSDT:替换BIDS),并开始在VS2013中使用报告功能.

使用报表服务器项目向导模板成功创建了一个项目.

但是,稍后我需要SQL Server 2014,然后我下载并安装了开发人员版.(如果这可能导致问题)

现在VS2013中缺少报表服务器项目模板,我不能简单地将它们带回来.

现在我的VS2008具有我想要的功能: 在此输入图像描述

但在VS2013 Professional中没有它们的痕迹: 在此输入图像描述

有什么建议?

我采取的其他不成功的方法

  • 修复了SQL Server数据服务.
  • 尝试卸载此服务导致了许多问题,包括无法安装此服务,因为所有框都在安装过程中被勾选并变灰,并且不能再超过此级别.
  • 尝试删除所有相关组件,这可能让我再次重新安装Visual Studio 2013的SSDT-BI但没有帮助.这是我执行此操作的Microsoft指南:删除SQL Server数据工具组件
  • 从安装介质修复了整个SQL Server 2014(64位)安装.
  • 尝试使用devenv.exe /InstallVSTemplates此Microsoft指南/ InstallVSTemplates(devenv.exe)检索未注册的VS2013模板.

visual-studio-2008 visual-studio-2013 sql-server-2014 sql-server-data-tools

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

T-SQL在没有游标的行之间分配值

我在SQL Server 2014上有一个简单的实时案例.我有一个包含订单及其数量的表格:

declare @qty_to_distribute int = 50

create table orders (id int, priority int, qty int)

insert into orders (id, priority, qty) values
(1, 1, 10),
(2, 2, 30),
(3, 3, 20),
(4, 4, 5)
Run Code Online (Sandbox Code Playgroud)

我有一个值,例如50,我必须根据他们的优先顺序通过订单在订单之间分配

  • 如果剩余的金额大于当前订单的数量,则订单将被实现,并且@qty_to_distribute减少订单的数量,
  • 如果不是 - 订单被取消.

查看样本数据 - 将实现订单1,2和4,并取消#3.

是否有一个简单,有效和非游标的解决方案,最好是基于窗口函数?

这看起来很有希望,但无法弄清楚在哪里放置条件:

select id,
sum(qty) OVER (ORDER BY priority asc ROWS UNBOUNDED PRECEDING) as qtysum
from orders

id  qtysum
1   10
2   40
3   60      *
4   65      *
Run Code Online (Sandbox Code Playgroud)

http://sqlfiddle.com/#!6/05fa2/2/0

t-sql sql-server window-functions sql-server-2014

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

SQL旁路REPLACE by CASE语句

我有一些数据,其中一些记录包含空行(=没有空格,没有NULL).例如:

LOCALE
en-es
en-uk

uk-uk
Run Code Online (Sandbox Code Playgroud)

当我想选择那个空行时,它很容易:

SELECT LOCALE
FROM ABC
WHERE LOCALE = ''
Run Code Online (Sandbox Code Playgroud)

但是当我尝试按如下方式替换它时,它不起作用,结果仍然是空白行:

SELECT REPLACE(LOCALE,'','WHY') AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Run Code Online (Sandbox Code Playgroud)

但如果我用CASE声明绕过它,它的作用是:

SELECT CASE
       WHEN LOCALE LIKE '' THEN 'WHY'
       ELSE LOCALE
       END AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?为什么REPLACE功能不起作用?

t-sql sql-server replace case sql-server-2014

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

操作数类型冲突:nvarchar与Type_WP_Days不兼容

我在数据库中做了一些简单的步骤

步骤1:

CREATE TYPE [dbo].[TempType] AS TABLE([MM] [INT])
Run Code Online (Sandbox Code Playgroud)

第2步:

CREATE PROC [DBO].[TEMP1] (@MYTAB TEMPTYPE READONLY)  
AS
BEGIN
    SELECT * 
    FROM @MYTAB
END
Run Code Online (Sandbox Code Playgroud)

第3步:

CREATE TABLE #TEMP11 ([MM] [INT])

INSERT INTO #TEMP11 
   SELECT 1 UNION 
   SELECT 2 UNION 
   SELECT 3 

SELECT * FROM #TEMP11

EXEC TEMP1 #TEMP11
Run Code Online (Sandbox Code Playgroud)

结果:

(4 row(s) affected) 
(4 row(s) affected) 
Run Code Online (Sandbox Code Playgroud)

消息206,级别16,状态2,过程temp1,行0
操作数类型冲突:nvarchar与TempType不兼容

我在另外两台服务器上做了它,它给出了相同的消息.我的代码中有什么错误.我也使用过SQL Server 2008 R2和SQL Server 2014.

t-sql sql-server sql-server-2008-r2 sql-server-2014

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

比较SQL中的两个变量

让我们说你有下一个代码:

DECLARE @A INT = 1,
        @B INT = NULL;

IF (@B != @A)
    SELECT 1;
ELSE IF (@B = @A)
    SELECT 2;
ELSE
    SELECT 3;
Run Code Online (Sandbox Code Playgroud)

正如你可以看到变量@A等于'1'肯定而变量@B肯定没有.我正在Microsoft SQL Server Management Studio 2014中执行该部分代码,结果我得到'3'.这意味着@A不一样@B,但它也没有什么不同@B.这怎么可能呢?我在这里错过了什么?

sql t-sql sql-server-2014

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

识别需要分区的对象

我们正在使用microsoft sql server数据库运行的企业应用程序.

目前我们遇到了很多相同的性能问题,其中一个原因是我们发现内存的极端使用(缓冲池中加载的大数据).正如我提到的大数据,我们的应用程序运行着3000万至3000万的数据,很少使用很少的历史数据.我发现克服这个问题的方法之一是Sql Server表分区,学会了如何使用企业版应用相同但却无法找到资源来找出痛点.

任何人都可以指导我,如何找到需要表格分区的对象?如何根据应定义的分区查找参数/列?

t-sql sql-server partitioning database-partitioning sql-server-2014

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

将IS NULL转换为BIT

这可能是一个非常基本的问题,但我只是在编写查询时遇到它.

为什么不能SQL Server转换的支票NULLBIT?我在考虑这样的事情:

DECLARE @someVariable INT = NULL;
-- Do something
SELECT CONVERT(BIT, (@someVariable IS NULL))
Run Code Online (Sandbox Code Playgroud)

预期结果将是10.

t-sql sql-server sql-server-2014

5
推荐指数
2
解决办法
6475
查看次数

如何选择BIT列为TRUE

我有一个名为TP_Roles的表.

该表结构是:

 Id PK, int, not null
 Role_Name  varchar(200), null
 IsActive   bit, null
Run Code Online (Sandbox Code Playgroud)

如何将位值插入True而不是1?

非常感谢.

sql sql-server sql-server-2014

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

在插入操作之前禁用索引的最佳方法,并在插入后启用返回索引

我打算在SQL Server 2014上创建一个非群集列存储索引.

但非聚集列存储索引是只读的,不能执行DML操作,我们需要在插入之前禁用并在插入后启用返回.

执行此任务的最佳方法是什么?

sql-server indexing sql-server-2014 columnstore

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

想要在SQL Server 2014表中存储XML并在其上应用select

在for for for XML中有数据,我想将该XML存储在SQL Server表中.我创建了一个数据类型列,xml并尝试将我的XML数据存储在新创建的列中,但是我收到了一个错误INSERT:

VALUE方法中使用的数据类型"xml"无效.

这是Insert声明:

INSERT INTO UserDeatailtbl(RoleXml)
    SELECT Y.ID.value('./RoleXml[1]', 'XML') 
    FROM @UserDetailsXML.nodes('UserDetails/UserDetailsRow') AS Y(ID) 
Run Code Online (Sandbox Code Playgroud)

xml sql-server sql-server-2014

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