我们有一个使用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模拟已禁用。
放置证书的适当位置在哪里? …
我想选择放置在最右侧的某个字符( - )之后的所有内容.
例如.
abcd-efgh-XXXX
Run Code Online (Sandbox Code Playgroud)
我想选择这个XXXX部分
谢谢!
我正在使用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) 我正在操作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无法正常工作,我将不胜感激
我使用官方教程创建了一个默认实例 https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-ubuntu
但现在我想创建一个命名实例却找不到方法
sql-server named-instance sql-default-instance sql-server-2016 ubuntu-16.04
在我做SSMS的时候
在文件中查找和替换
(默认按键CTRL+SHIFT+H)
编辑>查找和替换>替换文件
如果我将"查找范围"设置为"当前文档",然后进行更改并选择"全部替换"按钮,"查找范围"下拉列表更改以选择
所有开放文件
如何将Look In设置为我之前选择的内容? 我想保持它设置为当前文档 坦率地说这种行为非常烦人.
我怎样才能在该字段名称读取JSON文件值包含使用空间OPENJSON在SQL服务器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' 将返回空值。有没有办法读取这个值?
如何将以下结果变为黄色?
我想找到上一年的最高分(不包括当前日期)和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 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) 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-server-2016 ×10
sql-server ×5
sql ×4
t-sql ×3
json ×2
arrays ×1
asp.net ×1
iis ×1
iis-7.5 ×1
ssms ×1
ubuntu-16.04 ×1