标签: sql-server-2016

将始终加密证书放在IIS 7.5 Web服务器上的哪个位置?

我们有一个使用Always Encrypted的SQL Server 2016数据库。我们最近发布的ASP.net网站尝试从该数据库中提取数据,当它出现时,我们将收到此错误:

Error: Failed to decrypt column 'EnSSd'. Failed to decrypt a column encryption key using key store provider: 'MSSQL_CERTIFICATE_STORE'. The last 10 bytes of the encrypted column encryption key are: 'B8-48-B3-62-90-0B-1D-A6-7D-80'. Certificate with thumbprint '97B0D3A64CADBE86FE23559AEE2783317655FD0F' not found in certificate store 'My' in certificate location 'CurrentUser'. Verify the certificate path in the column master key definition in the database is correct, and the certificate has been imported correctly into the certificate location/store. Parameter name: masterKeyPath

现在我们知道这意味着证书尚未放置在服务器上的正确位置。在开发过程中,我们只是将证书放在“个人证书存储”下的“证书”管理单元中就可以了,但是现在该站点已经发布,我们尝试在Web服务器上进行相同的操作,但是它不起作用(我们有点想通了)不会)。

网站上启用了匿名身份验证,匿名用户身份为IUSR。ASP.NET模拟已禁用。

放置证书的适当位置在哪里? …

asp.net iis iis-7.5 sql-server-2016 always-encrypted

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

SQL选择字符后的所有内容

我想选择放置在最右侧的某个字符( - )之后的所有内容.

例如.

abcd-efgh-XXXX
Run Code Online (Sandbox Code Playgroud)

我想选择这个XXXX部分

谢谢!

sql sql-server-2016

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

为什么SQL返回一个数组而不是一个对象?

我正在使用SQL SERVER 2016 JSON结果,但我不知道为什么它将所有内容转换为数组,例如,如果我执行以下查询,它返回一个数组而不是一个对象:

SELECT 1 AS One,2 AS Two,3 AS Three
FOR JSON PATH
Run Code Online (Sandbox Code Playgroud)

结果是:

[{"One":1,"Two":2,"Three":3}]
Run Code Online (Sandbox Code Playgroud)

但是我希望它能回归:

{"One":1,"Two":2,"Three":3}
Run Code Online (Sandbox Code Playgroud)

我也测试了这个查询,但结果是一样的,同样是一个数组:

SELECT TOP 1 1 AS One,2 AS Two,3 AS Three
FOR JSON PATH
Run Code Online (Sandbox Code Playgroud)

arrays json sql-server-2016

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

如何更新json对象中数组的特定项

我正在操作SQL Azure表/数据库中的JSON列,JSON对象形成如下:

{
  "statusId": "5A5BC717-F33A-42A5-8E48-99531C30EC87",
  "creationDateTime": "",
  "assignations": [
    {
      "userId": "CA3B0589-B558-4FCC-93A6-560754D324FC",
      "dateTime": "",
      "isCurrentAssigned": false
    },
    {
      "userId": "CA3B0589-B558-4FCC-93A6-560754D325E8",
      "dateTime": "",
      "isCurrentAssigned": false
    },
    {
      "userId": "CA3B0589-B558-4FCC-93A6-560754D347N",
      "dateTime": "",
      "isCurrentAssigned": true
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想要完成的是在数组"assignations"中找到一个特定的元素,然后更新它的一些属性,就像这样:

UPDATE MyTable
SET JsonData = JSON_MODIFY(JsonData, '$.assignations.isCurrentAssigned', CONVERT(BIT, 0))
FROM MyDb
WHERE JSON_VALUE(JsonData, '$.assignations.isCurrentAssigned') = CONVERT(BIT, 1) AND
JSON_VALUE(JsonData, '$.assignations.userId') =  CONVERT(UNIQUEIDENTIFIER, 'CA3B0589-B558-4FCC-93A6-560754D347N')
Run Code Online (Sandbox Code Playgroud)

当然这个T-SQL无法正常工作,我将不胜感激

t-sql sql-server-2016 azure-sql-database

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

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

如何保持SSMS查找和替换文件"查找"更改

在我做SSMS的时候

在文件中查找和替换

(默认按键CTRL+SHIFT+H)

编辑>查找和替换>替换文件

如果我将"查找范围"设置为"当前文档",然后进行更改并选择"全部替换"按钮,"查找范围"下拉列表更改以选择

所有开放文件

如何将Look In设置为我之前选择的内容? 我想保持它设置为当前文档 坦率地说这种行为非常烦人.

sql-server ssms sql-server-2016 sql-server-2017

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

如何在 SQL Server 2016 中使用 OPENJSON 在 Json 中读取带有空格的字段名称

我怎样才能在该字段名称读取JSON文件值包含使用空间OPENJSONSQL服务器2016。请参阅以下代码:

DECLARE @json NVARCHAR(MAX)
SET @json = N'{ "full name" : "Jayesh Tank"}';
SELECT * FROM OPENJSON(@json) WITH ( [name] [varchar](60) '$.full name')
Run Code Online (Sandbox Code Playgroud)

该空间中的另一个示例代码位于字段名称之后。

SET @json = N'{ "name   " : "abc"}';
SELECT * FROM OPENJSON(@json) WITH ( [name] [varchar](60)    '$.name')
Run Code Online (Sandbox Code Playgroud)

'$.name' 将返回空值。有没有办法读取这个值?

t-sql json sql-server-2016

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

Max()Over Partition By with date conditions

如何将以下结果变为黄色?

在此输入图像描述

我想找到上一年的最高分(不包括当前日期)和Name1和Parent1的分区

我已经尝试了以下没有给出所需结果的内容,它只返回正确分区的max,但是在所有日期之间.

select 
[VDate]
,[Name1]
,[Parent1]
,[Score]
,max(case when [VDate] > dateadd(year, -1, [VDate]) then [Score] else null end) over (partition by [Name1], [Parent1]) AS MaxScoreInPreviousLast12Months
from [dbo].[Control]
Run Code Online (Sandbox Code Playgroud)

表数据:

CREATE TABLE Control
    ([VDate] datetime, [Name1] varchar(10), [Parent1] varchar(10), [Score] int);

INSERT INTO Control ([VDate], [Name1], [Parent1], [Score])
VALUES
('2018-08-01 00:00:00', 'Name1', 'Parent1', 80),
('2018-07-01 00:00:00', 'Name1', 'Parent1', 85),
('2018-06-01 00:00:00', 'Name1', 'Parent1', 90),
('2017-09-01 00:00:00', 'Name1', 'Parent1', 100),
('2017-08-01 00:00:00', 'Name1', 'Parent1', 95),
('2017-07-01 00:00:00', 'Name1', 'Parent1', 70),

('2018-08-01 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2016

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

SQL Server 2016中的String_agg

这是我在SQL Server 2016中的代码

insert into @entdef_queries(entitydefid,squery)
            select A.entitydefid
                ,
                (
                    select String_agg(cols,ioperator)
                    from
                    (
                        Select case when lower(b.metricdatatype) like 'string%' or lower(b.metricdatatype) like '%char%' or lower(b.metricdatatype) ='bit' or lower(b.metricdatatype) like 'date%' then
                                ' lower("'+ b.metricname +'") ' + b.metriccondition +' '''+ b.value1 +''' ' 
                            when lower(b.metricdatatype) not like 'string%' and lower(b.metricdatatype) like '%char%' and lower(b.metricdatatype) !='bit' and lower(b.metricdatatype) not like 'date%' then 
                                case when lower(b.metriccondition)='between' then  ' "'+ b.metricname +'"' + b.metriccondition +' '+ b.value1 +' and ' + b.value2 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server string-aggregation sql-server-2016

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

How to use CASE statement inside a WHERE with an IN clause?

I am trying to do the following (pseudocode since it doesn't compile):

declare showListedOrSold  int = 1 -- get value from config table

select *
from table
where CASE WHEN @showListedOrSold = 0 THEN id IN (1, 2, 5, 6, 10, 11) 
             WHEN @showListedOrSold = 1 THEN id IN (1, 5, 6, 10, 11) 
             WHEN @showListedOrSold = 2 THEN id IN (2) 
      END
Run Code Online (Sandbox Code Playgroud)

Basically depending on value of showListedOrSold, it should bring back certain id values.

The statement is …

sql sql-server sql-server-2016

6
推荐指数
3
解决办法
80
查看次数