标签: sql-server-2014

用于Visual Studio 2013的SSDTBI是否可以与SQL Server 2012一起使用?

目前,我正在使用Visual Studio 2012和VST的SSDTBI为SQL Server 2012创建SSIS包.这很好用(但SSIS包设计器中存在很多错误).

微软刚刚发布了针对VS2013的SSDTBI,并且想知道这是否只适用于SQL Server 2014.我是否能够编辑我在VS2012中创建的相同SSIS包,并且仍然可以在SQL Server 2012中使用它们?

更新:从这篇博客来看,似乎SQL Server 2012的SSIS仍然存在问题.

ssis sql-server-2012 visual-studio-2012 visual-studio-2013 sql-server-2014

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

使用SELECT(max)T-SQL返回额外的列

第一篇文章所以请你好.[SQL Server 2014]

我目前正在对表格进行选择,如下所示

select 
ExerciseCultures.Name,
max (convert (decimal (10,2), cast(weight as float))) as [Max Weight (KG)]
from workoutsessions
        join ExerciseCultures on workoutsessions.ExerciseID 
        = ExerciseCultures.ExerciseID
group by ExerciseCultures.Name
Run Code Online (Sandbox Code Playgroud)

返回31行,每个exerciseID一个,显示每个行的最高"权重"值.

我需要的是一个附加列,它还显示每个行的日期.日期列已经是每个行旁的workoutsessions表中的一列.

我尝试使用以下内容添加此日期列:

select 
ExerciseCultures.Name,
max (convert (decimal (10,2), cast(weight as float))) as [Max Weight (KG)],
workoutsessions.date
from workoutsessions
        join ExerciseCultures on workoutsessions.ExerciseID 
        = ExerciseCultures.ExerciseID
group by ExerciseCultures.Name,
    workoutsessions.date
Run Code Online (Sandbox Code Playgroud)

但是这会返回286行 - 父表中的所有行.我需要的是原始查询结果,只有他们各自来自workoutsessions表的日期.

有什么想法吗?

非常感谢

sql t-sql sql-server sql-server-2014

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

带有HierarchyID的CTE突然导致解析错误

所以我在我的数据库中有这个自引用表Nodes,用于存储组织的树结构:

[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NULL,
[ParentId] [int] NULL,
(+ other metadata columns)
Run Code Online (Sandbox Code Playgroud)

从中我使用HIERARCHYID来管理基于访问级别等的查询.我为此编写了一个表值函数tvf_OrgNodes,很久以前,在SQL Server 2008到2014年进行了测试和工作,从那以后它一直保持不变,因为它做得很好.然而,现在已经发生了一些变化,因为从路径nvarchars("/ 2/10/8 /")解析HIERARCHYID会导致以下错误,在Google上只匹配4次点击(!):

Msg 6522, Level 16, State 2, Line 26
A .NET Framework error occurred during execution of user-defined routine or aggregate "hierarchyid": 
Microsoft.SqlServer.Types.HierarchyIdException: 24000: SqlHierarchyId operation failed because HierarchyId object was constructed from an invalid binary string.
Run Code Online (Sandbox Code Playgroud)

当改变函数只返回NVARCHAR而不是实际的HIERARCHYID时,路径都看起来很好,从/根开始,接着是/2/等等.简单的选择HIERARCHYID::Parse('path')也可以正常工作.我实际上通过将路径保持为字符串一直工作,直到INSERT进入函数结果,解析那里的路径.但是,当我尝试将重新获得的数据插入到相同模式的表中时,我得到了同样的错误.

所以问题是,这是一个错误,还是有人知道使用HIERARCHYIDs的任何(新的?)陷阱< - >可能导致这种情况的路径字符串?我不知道整个二进制字符串的想法来自哪里.

这是TVF的代码:

CREATE FUNCTION [dbo].[tvf_OrgNodes] () 
RETURNS @OrgNodes TABLE …
Run Code Online (Sandbox Code Playgroud)

common-table-expression hierarchyid sql-server-2014

5
推荐指数
0
解决办法
879
查看次数

数据库“无法打开物理文件”的SSMS删除失败

试图在其他地方找不到运气。

我正在尝试删除磁盘上不再存在的数据库,但仍显示在SSMS 2014的对象资源管理器中

那么,如何从对象资源管理器中“清除它们”呢?

我需要手动将它们从sys.master_files中删除吗?

例外是:

    Drop failed for Database 'aspnet-Blawblaw-20141027015559'.  (Microsoft.SqlServer.Smo)

    ------------------------------
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=12.0.2000.8+((SQL14_RTM).140220-1752)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Drop+Database&LinkId=20476

    ------------------------------
    Program Location:

       at Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImpl()
       at Microsoft.SqlServer.Management.Smo.Database.Drop()
       at Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DoDropObject(Int32 objectRowIndex)
       at Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DropAllObjects(Boolean stopOnError)

    ===================================

    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------
    Program Location:

       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
       at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
       at Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext)
       at Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImplWorker(Urn& urn)
       at Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImpl()

    ===================================

    Unable to open the physical file "C:\Projects\BlawBlaw\BlawBlaw\App_Data\aspnet-BlawBlaw-20141027015559.mdf". Operating system error 3: …
Run Code Online (Sandbox Code Playgroud)

ssms drop-database sql-server-2014

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

SAS libname语法,通过ODBC连接到SQL Server

我用谷歌搜索了几天,但是无法正常工作.

我正在使用SQL 2014和adventureworks数据库.

我有SAS 9.3.

我尝试了不同的ODBC设置,如设置默认数据库,使用Windows登录或SQL登录.不同的司机.仍然没有,使用完整和noprompt:

libname mylib odbc complete='TrustedConnection=True;DSN=test2;SERVER=MYSERVER\SQLEXPRESS;DATABASE=AdventureWorks2012;'stringdates=yes;
proc print data=mylib.Person;
Run Code Online (Sandbox Code Playgroud)

错误信息:

注意:Libref MYLIB已成功分配如下:引擎:ODBC物理名称:test2

注49-169:在未来的SAS版本中,带引号的字符串后标识符的含义可能会更改.建议在带引号的字符串和后续标识符之间插入空格.

注意:由于错误,SAS系统停止处理此步骤.注意:使用PROCEDURE PRINT(总处理时间):实时5.48秒cpu时间0.34秒

700 proc打印数据= mylib.Person; 错误:文件MYLIB.Person.DATA不存在

我已尝试过Person.Person并且也在连接字符串中使用schema=Person.

但是,如果我使用以下它可以工作.我把默认数据库放在ODBC中:

proc sql;
   connect to odbc as mycon
   (required = "dsn=awlt32;uid=sa;password=mypassword");
   select *
   from connection to mycon
      (select *
      from Person.Person);

disconnect from mycon;
quit;
Run Code Online (Sandbox Code Playgroud)

我知道这是一个非常简单的问题,但无论我找到什么样的代码,我似乎都无法使它工作.提前致谢.

sql sas sql-server-2014

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

在区分大小写的SQL Server数据库中执行不区分大小写的Like查询

这是我的情景.

SQL Server 2014标准版,我有一个具有SQL_Latin1_General_CP437_BIN2区分大小写的排序规则的数据库.

我想执行一个LIKE查询,它应该返回输出而不管区分大小写.

例如:如果我执行Like查询以使用userName'John'获取记录,它也应该返回行,而不管区分大小写"JOHN","John","john","joHN".

我尝试使用Lcase,Ucase但是我收到了错误

Msg 195,Level 15,State 10,Line
4'LCASE'不是公认的内置函数名.

这是我的示例查询

SELECT TOP 300 * 
FROM
    (SELECT 
         userNo, userName, Place, Birthdate
     FROM usertable 
     WHERE personid = 2 
       AND (Name LIKE LCASE('%john%')) 

     UNION 

     SELECT 
         userNo, userName, Place, Birthdate, 
     FROM usertable2 
     WHERE personid = 2 
       AND (Name LIKE LCASE( '%john%') OR Place LIKE LCASE('%NY%')) ) a 
ORDER BY 
    userNo
Run Code Online (Sandbox Code Playgroud)

伙计们帮助我提出宝贵的建议,我对使用基于校对的数据库感到困惑.

sql-server collation case-insensitive sql-like sql-server-2014

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

无法从MSSQL获取varbinary数据

背景

开发环境:

在Windows 10 x64上使用Apache 2.4.16的PHP 7.0.3

SQL Server 2014标准版

服务器在相应的文件列上启用了FileStream.

试图安装sqlsvr驱动程序但由于缺乏对PHP7的支持而失败

使用驱动程序从ODBC访问SQL Server SQL Server

PHP代码将图像数据插入MSSQL

$link = @new \PDO("odbc:Driver={SQL Server};Server=$server;Database=$db", $user, $password);
$stmt = $link->prepare("INSERT INTO [Attachment] (AttID, Seq , ModuleCde, AppID, StaffID , FileName , [File]) VALUES ( NEWID() , ? , ? , ? , ? , ? , ? )");
$stmt->bindValue(1,$_POST["Seq"],PDO::PARAM_INT);
$stmt->bindValue(2,$_POST["ModuleCde"],PDO::PARAM_STR);
$stmt->bindValue(3,$_POST["AppID"],PDO::PARAM_STR);
$stmt->bindValue(4,$_SESSION["StaffID"],PDO::PARAM_STR);
$stmt->bindValue(5,$_FILES["file"]["name"][$_POST["Seq"]],PDO::PARAM_STR);
$stmt->bindValue(6,file_get_contents($_FILES["file"]["tmp_name"][$_POST["Seq"]]),PDO::PARAM_STR);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

PHP代码从MSSQL保存图像数据

$link = @new \PDO("odbc:Driver={SQL Server};Server=$server;Database=$db", $user, $password);
$stmt = $link->prepare("SELECT DATALENGTH([File]) AS [Size] , CONVERT(NVARCHAR(MAX),[File],2) …
Run Code Online (Sandbox Code Playgroud)

php sql-server pdo sql-server-2014 php-7

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

将sql-server DB从表格更改为多维

我有以下问题:当我尝试将我的SSAS项目(带有多维数据集,维度和所有爵士乐)部署到sql-server时,它会抛出错误说

您无法部署模型,因为数据库部署服务器未在多维模式下运行.

我是新手,所以这可能是一个愚蠢的问题,但我如何将数据库模式从表格更改为多维?

sql-server ssas multidimensional-array tabular sql-server-2014

5
推荐指数
3
解决办法
7232
查看次数

SQL事务日志传送无法将数据库还原到备用数据库

我已经设置了两个SQL 2014服务器之间的事务日志传送,一切似乎都正确设置但是当恢复发生时,如果.trn非常小,例如7k,它似乎失败了.

不确定这是否与它有关,但它是唯一不同的东西.

以下是还原作业的日志.

日期25/04/2016 22:59:24记录工作经历(LSRestore_IRIS_WebStock)

步骤ID 1服务器HERA作业名称LSRestore_IRIS_WebStock步骤名称日志传送还原日志作业步骤.持续时间00:00:04 Sql严重性0 Sql消息ID 0操作员已通过电子邮件发送
操作员网络已发送操作员已分页重试尝试0

消息2016-04-25 22:59:28.71错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425033000.trn'应用于辅助数据库'WebStock'.(Microsoft.SqlServer.Management.LogShipping)2016-04 -25 22:59:28.71错误:处理数据库'WebStock'的日志时发生错误.如果可能,从备份还原.如果备份不可用,则可能需要重建日志.恢复期间发生错误,导致数据库"WebStock"(12:0)无法重新启动.诊断恢复错误并修复它们,或从已知良好的备份恢复.如果错误未得到纠正或预期,请联系技术支持.

RESTORE LOG异常终止.数据库'WebStock'处理0页,文件'文件'WebStock'处理1页数据库'WebStock',文件'文件'WebStock_log'.(.Net SqlClient数据提供者)2016-04-25 22:59: 28.71错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73为二级数据库'WebStock'跳过日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425033000.trn',因为该文件不能验证.2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:恢复数据库访问模式时出错.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59 :28.73错误:ExecuteScalar需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425034500.trn'应用于辅助数据库'WebStock'.( Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73为二级数据库'WebStock'跳过日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425034500.trn',因为该文件不能验证.2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:恢复数据库访问模式时出错.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59 :28.73错误:ExecuteScalar需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425040000.trn'应用于辅助数据库'WebStock'.( Microsoft.SqlServer.Management.LogShipp

如果我删除该日志并再次运行还原,它将一直有效,直到找到另一个非常小的日志.

如果日志为空,还原会失败吗?

database sql-server log-shipping sql-server-2014

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

将开始和结束列合并为一列

我已经搜索了几个星期的高低,现在试图找到我的问题的解决方案.

我的问题如下:

A有一张桌子,上面有车辆遥测提供者的起点和终点坐标和日期.

我需要将这些合并到一个列中,以便我们的报告解决方案能够绘制它们.

一些示例数据如下:

DECLARE @TblVar AS TABLE([ServiceID] INT
                    ,[StartDate] DATETIME
                    ,[StartLocation] VARCHAR(255)
                    ,[StartLat] FLOAT
                    ,[StartLong] FLOAT
                    ,[EndDate] DATETIME
                    ,[EndLocation] VARCHAR(255)
                    ,[EndLat] FLOAT
                    ,[EndLong] FLOAT);
INSERT INTO @TblVar

VALUES (48322, '2016-11-28 05:38:37.000','Weaver Road,Leicester',52.5753273,-1.306842,'2016-11-28 05:40:02.000','Earl Street,Leicester',52.5781,-1.3048711)
      ,(48322, '2016-11-28 05:44:05.000','Earl Street,Leicester',52.5780996,-1.3048768,'2016-11-28 05:53:52.000','Arbor Road,Leicester',52.5533448,-1.2349645)
      ,(48322, '2016-11-28 09:14:25.000','Arbor Road,Leicester',52.5533833,-1.2349445,'2016-11-28 09:15:54.000','Coventry Road,Leicester',52.5522865,-1.2370495)  
      ,(48322, '2016-11-28 09:16:05.000','Coventry Road,Leicester',52.552292,-1.2370598,'2016-11-28 09:20:41.000','Arbor Road,Leicester',52.553338,-1.2352033)    
      ,(48322, '2016-11-28 13:34:36.000','Arbor Road,Leicester',52.553388,-1.2352651,'2016-11-28 13:53:29.000','Narborough Road South,Leicester',52.597422,-1.1832976)      
      ,(48322, '2016-11-28 13:55:36.000','Narborough Road South,Leicester',52.597352,-1.183299,'2016-11-28 13:58:51.000','Hazel Drive,Leicester',52.6020946,-1.1760238)
      ,(48322, '2016-11-28 14:11:53.000','Hazel Drive,Leicester',52.6020853,-1.1760053,'2016-11-28 14:24:40.000','Arbor Road,Leicester',52.5533118,-1.2352118)
      ,(48322, '2016-11-28 14:29:48.000','Arbor Road,Leicester',52.5532741,-1.2352471,'2016-11-28 14:30:39.000','Coventry Road,Leicester',52.552955,-1.2363475) …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2014

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