标签: sql-server-2017

安装SQL Server 2017 Developer Edition时Oracle JRE规则失败

Feature Rules屏幕上的Windows 10计算机上安装SQL Server 2017 Developer Edition时,我无法通过以下规则:

  • Polybase需要Oracle JRE 7 Update 51(64位)或更高版本

我收到以下错误:

此计算机未安装Oracle Java SE运行时环境版本7更新51(64位)或更高版本.Oracle Java SE运行时环境是由第三方提供的软件.Microsoft不授予您此类第三方软件的权利.您有责任并且必须单独查找,阅读和接受适用的第三方许可条款.要继续,请从https://go.microsoft.com/fwlink/?LinkId=526030下载Oracle SE Java Runtime Environment .

在此输入图像描述

我的机器上安装了足够高的Java版本(9.x).我运行了命令java -XshowSettings:properties -version,它在我的盒子上提供了与Java安装相关的以下细节:

Property settings:
    awt.toolkit = sun.awt.windows.WToolkit
    file.encoding = Cp1252
    file.encoding.pkg = sun.io
    file.separator = \
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    java.awt.printerjob = sun.awt.windows.WPrinterJob
    java.class.path =
    java.class.version = 53.0
    java.home = C:\Program Files\Java\jre-9.0.1
    java.io.tmpdir = C:\Users\RASIK~1.BIH\AppData\Local\Temp\
    java.library.path = C:\ProgramData\Oracle\Java\javapath
        C:\Windows\Sun\Java\bin
        C:\Windows\system32
        C:\Windows
        C:\ProgramData\Oracle\Java\javapath
        C:\Program Files (x86)\Intel\iCLS Client\
        C:\Program Files\Intel\iCLS Client\
        C:\Windows\system32
        C:\Windows …
Run Code Online (Sandbox Code Playgroud)

sql-server installation sql-server-2017

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

通过SQL Operations Studio连接到MAC OSX上的Docker SQL Server 2017容器

我按照以下方式启动并运行以下SQL Server 2017容器 -

https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker

CONTAINER ID        IMAGE                                      COMMAND                    CREATED             STATUS              PORTS                    NAMES
910d34ad3c3e        microsoft/mssql-server-linux:2017-latest   "/bin/sh -c /opt/m..."   11 minutes ago      Up 11 minutes       0.0.0.0:1401->1433/tcp   sql1
Run Code Online (Sandbox Code Playgroud)

我可以使用SQLCMD连接docker容器内部.

但是我不确定要在SQL Operations Studio中输入什么来连接它 -

在此输入图像描述

sql-server sql-server-2017 sql-operations-studio

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

窗口7上的SQL Server 2017安装问题

我在安装SQL Server 2017(开发人员以及Express版本)时遇到问题.

我收到一个错误:

SQL Server 2017不支持您的操作系统

我的系统配置是:

  • Windows 7专业版,Service Pack 1
  • 8 GB RAM,64位OS,处理器:2.3 GHz

我的操作系统有什么问题,如何安装它?

sql-server-2017

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

由于加密消息,无法将存储过程添加到数据库

我设置了一个本地数据库(SQL Server 2017 Express)。一切正常,但是在 SSMS 中创建一个简单的存储过程时我也会出错。

例如,这

CREATE PROCEDURE [dbo].[EMS_Operations_SyncAssetTableByID2]
    @Table_Name VARCHAR(255),
    @Ids_For_Update VARCHAR(255),
    @Is_Test BIT = 0
AS
BEGIN
    DECLARE @DB_String varchar(55) ='Redesign'
END
Run Code Online (Sandbox Code Playgroud)

不会运行,我收到错误消息:

消息 156,级别 15,状态 1,第 1 行
关键字“PROCEDURE”附近的语法不正确。

消息 156,级别 15,状态 1,第 1 行
关键字“PROCEDURE”附近的语法不正确。

消息 8180,级别 16,状态 1,过程 sp_describe_parameter_encryption,第 1 行 [批处理起始行 0]
无法准备语句。

消息 8180,级别 16,状态 1,过程 sp_describe_parameter_encryption,第 1 行 [批处理起始行 0]
无法准备语句。

执行批处理时发生错误。错误信息是:内部错误。sp_describe_parameter_encryption 返回的结果集格式无效。结果集之一丢失。

我不确定是什么导致了这种情况,或者数据库中是否存在损坏,因为数据库中有加密,而且我不确定它在调用什么。

我还注意到批处理中的第一个 SQL 语句下面有一条蓝线,上面写着

@DB_String 将被转换为 System.Data.SqlClient.SqlParameter 具有以下属性:SqlDbType = varchar,Size 55, Precision=0

当我在远程服务器上运行相同的代码时,它可以毫无问题地完成。知道是什么原因造成的吗?

sql-server ssms sql-server-2017

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

将某个范围内的值插入表中

我正在尝试对表(例如 table1)进行插入,我想在附加 char 或 int 声明后插入一系列数字?

前任。对于范围 1-10

abc1,
abc2,
abc3,
abc4,
.
.
.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

sql t-sql sql-server-2017

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

SSIS 服务器维护作业错误

我在负责删除旧执行日志的维护作业的 sql server 2017 代理作业中收到以下错误消息:

Date        5/23/2018 12:18:45 AM
Log     Job History (SSIS Server Maintenance Job)

Step ID     1
Server      KARABL3
Job Name        SSIS Server Maintenance Job
Step Name       SSIS Server Operation Records Maintenance
Duration        00:02:34
Sql Severity    16
Sql Message ID  16916
Operator Emailed    
Operator Net sent   
Operator Paged  
Retries Attempted   3

Message
Executed as user: ##MS_SSISServerCleanupJobLogin##. A cursor with the name 'execution_cursor' does not exist. [SQLSTATE 34000] (Error 16916).  NOTE: The step was retried the requested number of …
Run Code Online (Sandbox Code Playgroud)

sql-server-agent ssis sql-server-2017

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

将计算列设置为 PERSISTED 的目的是什么?

我的表格包含calcIncome计算列:

CREATE TABLE foo
(
    id int, 
    name varchar(100),
    [other columns], 
    calcIncome AS dbo.fn_calcIncome() PERSISTED NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

询问:

select * 
from foo
where calcIncome > 100
Run Code Online (Sandbox Code Playgroud)

即使我设置calcIncomePERSISTED,此查询仍然需要fn_calcIncome每一行。

PERSISTED那么,如果计算列的行为与非持久计算列相同,那么设置计算列的目的到底是什么?

sql t-sql sql-server sql-server-2017

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

T-SQL NULLIF 返回 NULL 为零

为什么下面的脚本返回NULL而不是0

DECLARE @number BIGINT = 0;

SELECT  NULLIF(@number, '');
Run Code Online (Sandbox Code Playgroud)

根据 MSDN,它应该返回0

NULLIF
如果两个指定的表达式相等,返回空值。

对于SQL server,0''被认为是一样的(=equal)?背后的逻辑是什么?

sql t-sql sql-server nullif sql-server-2017

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

SQL Server 2017 开发版用户无法连接

我有 SQL Server 2017 开发版。我正在使用服务器身份验证在那里创建用户:

在此处输入图片说明

添加后,我可以在服务器登录中看到用户:

在此处输入图片说明

但是当我尝试与该用户建立联系时,出现错误:

在此处输入图片说明

连接的 stus 和赠款已到位:

在此处输入图片说明

添加用户后我重新启动服务器仍然无法登录。这是开发者版的一些限制吗?

login sql-server-2017

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

SQL MERGE:是否可以忽略 MATCH?

这是我的合并语句:

MERGE PE_TranslationPhrase T
USING PE_TranslationPhrase_Staging S 
ON (T.CultureName = S.CultureName AND T.Phrase = S.Phrase)
WHEN MATCHED 
        THEN UPDATE SET T.TranslationId = T.TranslationId -- do nothing
WHEN NOT MATCHED BY TARGET
        THEN INSERT (TranslationId, CultureName, Phrase)
        VALUES (S.TranslationId, S.CultureName, S.Phrase);
Run Code Online (Sandbox Code Playgroud)

我似乎在该WHEN MATCHED部分遇到了麻烦。根据这个问题和答案,我将其更改WHEN MATCHED为:

THEN UPDATE SET T.TranslationId = T.TranslationId
Run Code Online (Sandbox Code Playgroud)

但我仍然收到此错误:

MERGE 语句尝试多次更新或删除同一行。当目标行与多个源行匹配时,就会发生这种情况。MERGE 语句不能多次更新/删除目标表的同一行。优化 ON 子句以确保目标行最多匹配一个源行,或使用 GROUP BY 子句对源行进行分组。

我明白原因了。根据该ON声明,我得到了重复的匹配项。但是……我不在乎。如果源表中的记录已存在于目标表中,那么我不想执行任何操作。根本不更新任何东西。跳过它。

那可能吗?

sql t-sql sql-server merge sql-server-2017

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