标签: sql-server-2012

使用空间索引

我想学习如何在SQL SERVER 2012中使用Spatial Index.我有一些非常耗时的查询,所以我需要它.

我会非常感谢一些例子和解释.

谢谢!

t-sql sql-server sql-server-2012

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

无法执行COMPUTE语句

我试图在Northwind数据库上执行这个简单的语句

USE Northwind
SELECT  productid, orderid,quantity 
FROM [order details]
ORDER BY productid, orderid
COMPUTE SUM(quantity)
GO
Run Code Online (Sandbox Code Playgroud)

但我这不能执行,我得到了这个错误

消息156,级别15,状态1,行5
关键字'COMPUTE'附近的语法不正确.

t-sql database sql-server sql-server-2012

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

无法在SSIS 2012中显示应用程序编辑器的Visual Studio工具

当我在SSIS 2012包中点击脚本任务的EDIT SCRIPT按钮时,

它不会打开脚本编辑器,而是显示:

"无法显示应用程序编辑器的Visual Studio工具"

Couls无法加载文件或程序集"Microsoft.visualstudio.tools.applications.core version = 10.0.0.0 ...."系统找不到指定的文件程序集.

我尝试了以下链接中提供的解决方案:

http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/e5337b0c-7f70-4603-859e-fbc7d0cf1c37

SSIS脚本编辑器抛出异常

ssis vsta sql-server-2012

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

在网络外部署SSIS(SQL Server 2012)项目

我在我的PC上构建了一个SSIS项目,并在执行包时连接到网络外的SQL 2012 Server(通过SQL身份验证).现在是时候将项目部署到同一台服务器上了,但我已经碰壁了.在浏览内置部署向导时,我输入服务器名称(就像我输入它以连接到连接管理器的数据库)并获得"不受信任的域"错误(它需要Window的身份验证而不是SQL身份验证).

我认为我使用参数在项目中设置特定于环境的值也可能是相关的.

如何将SSIS项目部署到网络外部的SQL Server?

我还应该补充一点,在我的搜索中,我确实遇到过一个正在努力通过VPN连接(没有发布解决方案)这样做的人,这通常是怎么做的?

deployment ssis sql-server-2012

12
推荐指数
2
解决办法
9888
查看次数

nvarchar concatenation/index/nvarchar(max)莫名其妙的行为

我今天在SQL Server(2008R2和2012)中遇到了一个非常奇怪的问题.我正在尝试使用串联和select语句来构建字符串.

我找到了解决方法,但我真的很想了解这里发生了什么以及为什么它没有给我预期的结果.有人可以向我解释一下吗?

http://sqlfiddle.com/#!6/7438a/1

根据要求,这里的代码也是:

-- base table
create table bla (
    [id] int identity(1,1) primary key,
    [priority] int,
    [msg] nvarchar(max),
    [autofix] bit
)

-- table without primary key on id column
create table bla2 (
    [id] int identity(1,1),
    [priority] int,
    [msg] nvarchar(max),
    [autofix] bit
)

-- table with nvarchar(1000) instead of max
create table bla3 (
    [id] int identity(1,1) primary key,
    [priority] int,
    [msg] nvarchar(1000),
    [autofix] bit
)

-- fill the three tables with the same values …
Run Code Online (Sandbox Code Playgroud)

sql-server nvarchar string-concatenation sql-server-2012

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

SQL Server中计算列的最佳实践

我正在使用用户表,并希望设置"试用期结束日期".基本上,每个新用户从他们作为试用期的一部分加入时有2个完整月份.我看到我可以在我的用户表的列中放置一个公式,但我想知道我是否应该有一个更新此脚本的脚本,或者这是否是使用计算列的可接受时间.我访问此表以获取各种内容,并偶尔会根据性能里程碑成就更新用户行.申请日期永远不会更改/更新.

我的问题是:在这种情况下使用计算列是一个好习惯还是每次更新该行时都会重新计算(即使我不打算更新应用程序日期)?我在将来更新行时不想创建更多开销.

公式I在试用结束日期的列定义中使用:

(dateadd(day,(-1),dateadd(month,(3),dateadd(day,(1)-datepart(day,[APP_DT]),[APP_DT]))))
Run Code Online (Sandbox Code Playgroud)

sql-server calculated-columns sql-server-2012

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

无法插入显式值,因为IDENTITY_INSERT为OFF,但无法将IDENTITY_INSERT设置为ON,因为它已经为ON

我在数据库中有一个Foo名为的表Bar,它有一个名为的列ID,它是主键,并且该数据库位于开发SQL Server上.

我正在尝试将数据从我们的生产服务器复制到开发服务器中,以便我可以使用所述数据,因此我执行以下操作:

set IDENTITY_INSERT Foo.dbo.Bar ON
insert into Foo.dbo.Bar
(
   ID
   ,Something
   ,Else
   ,Is
   ,Going
   ,Horribly
   ,Wrong
   ,With
   ,SQL
)
select 
  ID
  ,Something
  ,Else
  ,Is
  ,Going
  ,Horribly
  ,Wrong
  ,With
  ,SQL
from Production.Foo.dbo.Bar

set IDENTITY_INSERT Foo.dbo.Bar OFF
Run Code Online (Sandbox Code Playgroud)

我得到了错误

消息8107,级别16,状态1,行1
IDENTITY_INSERT已经为表'Foo.dbo.Bar'打开.无法对表'Foo.dbo.Bar'执行SET操作.

嗯......可以打开表格的IDENTITY_INSERT.所以我SET IDENTITY_INSERT Foo.dbo.Bar ON从查询的顶部删除了,然后执行它,我得到这个错误:

消息544,级别16,状态1,行1
当IDENTITY_INSERT设置为OFF时, 无法在表"Bar"中插入标识列的显式值.

我可以SET IDENTITY_INSERT Foo.dbo.Bar OFF整天执行,但如果我试图将其转换ON,那么SQL Server 2012 IDENTITY_INSERT就已经开启了.

sql insert identity-column sql-server-2012

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

如何使用空格搜索邮政编码的半径?

背景

我正在编写一个应用程序,它可以在邮政编码的某个半径范围内查找事件.您可以将其视为售票员,您可以在其中输入您的邮政编码,并显示半径为x的所有音乐会.

我有一个数据库表,其中包含邮政编码,每个邮政编码都有"纬度和经度".我还有一个'EventListings'表,其中每个'Event'都有一个ZipCode字段.

问题

目前,我在服务层的Linq-to-Entities查询中使用Haversine公式来查找哪些事件在半径范围内.现在,我将它用作where子句中的过滤器.我也想把它放在select子句中,所以我可以在网站上显示"这距离4.6英里",等等.

我无法将此代码移动到单独的C#方法中,因为Linq-to-Entities会抱怨它无法将其转换为sql,因此我也会在select语句中复制整个公式.这非常难看.我试着解决它.

我试过的

我编辑了Entity,并添加了一个特殊的标量属性"DistanceFromOrigin".然后,我创建了一个存储过程,它返回了所有实体数据,以及新字段"DistanceFromOrigin"的硬编码值(用于测试目的).

然后我才意识到我无法告诉实体框架在EventListings实体上使用我的sproc作为其select语句...... Phil提出了spatials,这就是我的用法.

如何使用Spatials搜索邮政编码范围内的事件?

c# entity-framework sql-server-2012 entity-framework-6

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

SQL Server的ISNUMERIC函数

我需要在SQL Server 2012中检查数字与否的列.

这是我的案例代码.

CASE
    WHEN ISNUMERIC(CUST_TELE) = 1 
      THEN CUST_TELE 
      ELSE NULL 
END AS CUSTOMER_CONTACT_NO
Run Code Online (Sandbox Code Playgroud)

但是当'78603D99'达到该值时,它将返回1,这意味着SQL Server将此字符串视为数字.

这是为什么?

如何避免这种问题?

sql sql-server-2012

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

如何在SQL Server中为多列数据提供排名?

我有输入表,如下所示 -

ID  Name q1     q2      q3      q4
1   a    2621   2036    1890    2300
2   b    18000  13000   14000   15000
3   c    100    200     300     400
Run Code Online (Sandbox Code Playgroud)

我想要q1, q2, q3 and q4每行的列()数据排名.例如,如果我考虑上面输入的最后一行,那么q4列包含的400值高于其他列,因此排名q4将是1,q3排名将是2,q2排名将是3q1排名将是4.

我正在寻找像 - 的输出

id  name  q1  q2  q3  q4
1   a     1   3   4   2
2   b     1   4   3   2
3   c     4   3   2   1 …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

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