标签: sql-server-2016

如何将嵌套的XML转换成对应的表?

我有一个复杂的嵌套 XML(从 C# 实体图生成),例如:

<Customers>
  <Customer>
    <Id>1</Id>
    <Number>12345</Number>
    <Addresses>
      <Address>
        <Id>100</Id>
        <Street>my street </street>
        <city>London</city>
      </Address>
      <Address>
        <Id>101</Id>
        <street>my street 2</street>
        <city>Berlin</city>
      </Address>
    </Addresses>
    <BankDetails>
      <BankDetail>
        <Id>222</Id>
        <Iban>DE8439834934939434333</Iban>
      </BankDetail>
      <BankDetail>
        <Id>228</Id>
        <Iban>UK1237921391239123213</Iban>
      </BankDetail>
    </BankDetails>
    <Orders>
      <Order>         
        <OrderLine>         
        </OrderLine>
      </Order>
    </Orders>
  </Customer>
</Customers>
Run Code Online (Sandbox Code Playgroud)

在将上述 XML 数据保存到实际表中之前,我需要先对其进行处理。为此,我创建了相应的表类型。这些表类型中的每一个都有一个额外的列(guid 为 ROWGUID),因此,如果我正在处理新数据(尚未分配主键),我会生成一个唯一键。我使用此列来保持不同表类型之间的关系完整性。

将上述嵌套 XML 转换为其相应表的 SQL 语法是什么,请记住子记录必须引用生成的父 guid?

xml sql sql-server-2014 sql-server-2016

0
推荐指数
1
解决办法
2708
查看次数

网络服务或 AppPool 帐户的始终加密证书

我正在尝试将 Always Encrypted 应用程序部署到 Amazon AWS。有一个 2016 RDS 数据库和一个托管 ASP.NET 4.6 应用程序的 Windows Server 2016。

在 Windows Server 上,当应用程序在网络服务或应用程序池标识下运行时,我们得到的正是我非常确定的问题。

我们的错误:

System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out

  • 我们尝试了该帖子中的解决方案,但没有成功
  • 我们尝试了这篇文章中的解决方案,但无法让 powershell 脚本返回除运行时异常之外的任何内容。我对 powershell 不太熟悉,所以也许我不明白这个脚本。
  • 如果我们将证书导入到管理员帐户,并使用管理员帐户运行 IIS 应用程序池,则一切正常(不是连接问题或任何问题)
  • 我们尝试将证书导入本地计算机“个人”证书,并赋予应用程序帐户对密钥的完全控制权
  • 我们尝试将证书导入到本地计算机受信任的根证书颁发机构(如 as/o post 中的建议)。
  • 我们尝试为 DefaultAppPool 和 Network Service 帐户使用“runas”运行 certmgr,但是当提示输入密码时,我们不知道密码是什么(空白密码不起作用)。我什至按照此处的建议查找了 DefaultAppPool 密码,根据该输出,密码为空。

到目前为止,没有任何效果(除了以管理员身份运行应用程序之外),我们不知道下一步该尝试什么。我们到处寻找某种“微软官方部署指南”,但所有这些都是关于如何在本地开发环境中使始终加密工作的教程,而不是关于服务器部署。

sql-server iis sql-server-2016 always-encrypted

0
推荐指数
1
解决办法
1331
查看次数

sql - 分割名字和姓氏

我需要将所有名字分成名字和姓氏。

\n\n

我的名字在同一列中,并且名字有几个单词。\n例如

\n\n
table1\n\nNome\n____________________________________\nAbel da Silva Barros                                   \nAbel da Silva Dias                                     \nAbilio Rodrigo Garcia da Silva Costa                   \nAdelino David Oliveira Silva                           \nAdemar Adolfo Lopes Gomes                              \nAdriano Leonel Fernandes Castro Goncalves              \nAgostinho Alberto Pereira Duarte                       \nAgostinho Fernando Nogueira Pereira                    \nAires Manuel Oliveira da Costa                         \nAlberto Costa                                          \nAlberto Sergio Oliveira Dias Silva                     \nAlbino Mouta de Sousa                                  \nAlfredo de Sousa Barreto                               \nAlfredo Guilherme Gon\xc3\xa7alves Cerqueira                  \nAlfredo Magalh\xc3\xa3es Queiros                              \nAlfredo Miguel Pereira Goncalves Vieira da Silva  \n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要这样的输出,只有拳头和姓氏!

\n\n
Abel Barros\nAbel Dias\nAbilio …
Run Code Online (Sandbox Code Playgroud)

sql sql-server split sql-server-2016

0
推荐指数
1
解决办法
5860
查看次数

ubuntu 22.04 sqlcmd 无法连接到 ms sql server 2016

我花了几天时间在谷歌搜索上寻找解决方案,但没有找到合适的解决方案。所以我把它贴在这里。

我有 3 台虚拟机。

虚拟机 1:
Windows Server 2012 R2 sp1,192.168.1.10
sql server 2016,端口 1432
sql server 2017,端口 1433

虚拟机2:
ubuntu 20.04
openssl 1.1.1p

虚拟机3:
ubuntu 22.04
openssl 3.0.2

在VM2(ubuntu 20.04)上:
连接到sql server 2016
sqlcmd -S 192.168.1.10,1432 -U test -P test
成功连接
连接到sql server 2017
sqlcmd -S 192.168.1.10,1433 -U test -P test
成功连接

在VM3(ubuntu 22.04)上:
连接到sql server 2017
sqlcmd -S 192.168.1.10,1433 -U test -P test
成功连接
连接到sql server 2016
sqlcmd -S 192.168.1.10,1432 -U test -P test
出现错误:
Sqlcmd:错误:适用于 SQL Server …

openssl sql-server-2016 ubuntu-22.04

0
推荐指数
1
解决办法
2251
查看次数

使用查询从实时环境更新测试 SQL Server 数据库上的表

我需要从我们的生产数据库更新测试环境中的一些表。基本上是同一张表,只是更新了几个月。

所以,这是我试图实现的一个查询:

UPDATE [Server-DEV].[Database].[dbo].[bHRRM] 
SET [Field1] = b.[Field1], 
    [Field2] = b.[Field2], ... ,
    [FieldX] = b.[FieldX]
FROM [Server-PROD].[Database].[dbo].[bHRRM] AS b
Run Code Online (Sandbox Code Playgroud)

我不关心数据被覆盖,因为它是一样的。即使相反也是如此 - 如果有差异,最好测试服务器进行相应更新。但我不想要重复的。

KeyID现在,如果包含列,则存在问题。即使我将其排除在SET- 之外,仍然存在错误:

无法在具有唯一索引“biHRRM”的对象“dbo.bHRRM”中插入重复的键行。重复的键值为 (5, 1000)。

所以,第一个问题是——我做错了什么?

t-sql sql-server sql-server-2016

0
推荐指数
1
解决办法
311
查看次数

Sql Server 2016

最近我安装了Microsoft Sql Server 2016,无论如何我找不到管理工作室文件,我想知道它位于何处?谢谢

sql-server microsoft-metro sql-server-2016

-1
推荐指数
2
解决办法
155
查看次数

T-SQL 循环遍历两个表

我一直无法找到解决以下困境的可行解决方案。

我正在使用 SQL Server 2016 并在数据库中有下面显示的 2 个表。

Users 桌子:

Id   Name
----------
1    Lisa
2    Paul
3    John
4    Mike
5    Tom
Run Code Online (Sandbox Code Playgroud)

Role 桌子:

Id   UserId   Role
------------------------
1    3        Manager
2    2,4,5    Developer
3    1        Designer
Run Code Online (Sandbox Code Playgroud)

我正在寻找循环遍历Role表的T-SQL 代码,提取UserIds 并Id从Users表中检索每个的关联名称。

所以循环结果看起来像这样:

John
Paul,Mike,Tom
Lisa
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server stored-procedures sql-server-2016

-1
推荐指数
1
解决办法
987
查看次数

在查询列中使用购买和销售运行总计

我有一张如下表:

表

如何使用Transact-SQL(按日期排序)获得如下所示的列?

在此输入图像描述

我正在使用SQL Server 2016.

sql-server running-total sql-server-2016

-1
推荐指数
1
解决办法
100
查看次数

获取选择查询中列的数据类型

我知道您可以使用下面的查询获取表的列的类型。

select COLUMN_NAME, DATA_TYPE 
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME = 'myTbl'
Run Code Online (Sandbox Code Playgroud)

我想知道是否在编写包含2个或更多表的选择查询时是否可以执行类似的操作?即有没有一种方法可以确定列数据类型?

sql-server sql-server-2016

-1
推荐指数
1
解决办法
57
查看次数

在 SQL Server 中随机更新表记录

我想随机更改表中记录的顺序。是否可以?我正在使用 SQL Server 2016。

Example:
From that:
[UID] [Name]
54     Name1
24     Name5
8      Name6
50     Name7
19     Name10

to like that: (randomly)
[UID] [Name]
50     Name7
8      Name6
19     Name10
54     Name1
24     Name5
Run Code Online (Sandbox Code Playgroud)

注意:这是两列

不需要100%替换记录,有时可以像彩票一样重复相同的顺序。我只需要混合它们。

sql sql-server sql-server-2016

-1
推荐指数
1
解决办法
123
查看次数