标签: sql-server-2019

DataGrip 中的 SQL Server 2019 支持(无法连接到实例)

我似乎无法使用 DataGrip (2019.3) 连接到本地安装的 SQL Server 2019 实例。无论我使用哪种身份验证(域或 SQL),我都会收到以下错误:

“指定的数据库用户/密码组合被拒绝:[08S01] 服务器 SQL19 未配置为侦听 TCP/IP”

我要连接的 URL 是jdbc:sqlserver://localhost\SQL19。如果我使用 SQL Server 2016 实例名称而不是“SQL19”部分,它工作正常,所以我假设我正确配置了连接,除非我需要对 SQL 2019 进行一些调整?

我可以从 SSMS 和应用程序连接到 2019 实例,它可以通过 TCP/IP 等使用。

sql-server datagrip sql-server-2019

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

SSDT:无法连接到主服务器或目标服务器“DB_NAME”。您必须在主服务器或目标服务器“DB_NAME”中拥有具有相同密码的用户

我将使用 Visual Studio 2019 通过 SSDT-DACPAC 自动化数据库部署,将部署更改的数据库是 SQL SERVER 2019,对于部署介质,我在部署启动时使用 Azure 管道和任务“SQL Server 数据库部署”抛出一个错误

  *** Could not deploy package.
      Unable to connect to master or target server 'DB_NAME'. You must have a user with the same 
      password in master or target server 'DB_NAME'.
Run Code Online (Sandbox Code Playgroud)

虽然我已经双重验证了数据库的用户和密码,但相同的密码将我连接到 ssms

请查找日志

2020-07-22T06:51:57.3001061Z ##[debug]Evaluating condition for step: 'Deploy using : dacpac'
2020-07-22T06:51:57.3004812Z ##[debug]Evaluating: succeeded()
2020-07-22T06:51:57.3005875Z ##[debug]Evaluating succeeded:
2020-07-22T06:51:57.3008135Z ##[debug]=> True
2020-07-22T06:51:57.3009350Z ##[debug]Result: True
2020-07-22T06:51:57.3010674Z ##[section]Starting: Deploy using : dacpac
2020-07-22T06:51:57.3715291Z ==============================================================================
2020-07-22T06:51:57.3716242Z Task         : SQL Server …
Run Code Online (Sandbox Code Playgroud)

dacpac sql-server-data-tools azure-devops sql-server-2019 ssdt-2019

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

如何在 SQL Server Express 2019 安装中添加全文搜索

我在本地安装了 Microsoft SQL Server Express 2019,但遇到以下错误:

未安装全文搜索,或无法加载全文组件。

所以,我的理解是SQL Server Express 支持全文搜索,但是我需要添加组件。

根据我发现的一篇文章,在 SQL Server Express 2016 中有一个新的 SQL Server 独立安装或向现有安装选项添加功能。但我在 SQL Server 安装中心没有这个选项。

谁能告诉我如何为我的安装添加全文支持?

更新:

看起来,虽然 SQL Server Express 2019 不支持全文搜索,但具有高级服务的SQL Server Express 2019 支持。所以我想我的问题是:如何安装高级服务?

sql-server full-text-search sql-server-express sql-server-2019 sql-server-2019-express

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

将 Django 连接到 Sql 服务器 2019

我在 django 中创建了一个新项目,并尝试连接到 sql server 2019。

因此,我安装了 sql-server-2019,安装后,我检查 ODBC DRIvers 是否正常,如您所见,到目前为止一切正常。

在此输入图像描述

我做的下一件事是pip install django-pyodbc-azure

在此输入图像描述

我安装了更多软件包,因为我正在测试我发现的所有内容,到目前为止我总是遇到相同的错误。

在此输入图像描述

这意味着conn = Database.connect(connstr, django.db.utils.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且没有预定义驱动程序 (0) (SQLDriverConnect )已指定)

这是我来自 django 的 settings.py:

在此输入图像描述

我被困在这里,我什至不知道我能做什么

sql-server django django-database sql-server-2019

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

在 WHERE 子句中将 nvarchar 转换为 bigint 时出错,但在 SELECT 中有效

我正在努力实现以下目标:

得到的所有字段值,其中FieldValue大于100时的值被存储为一个数字。

一个值是否存储为数字的指示符由字段类型给出,这是另一个 where 子句。

我面临的问题是,当我尝试在 WHERE 语句中进行数据字段转换时,它失败了。

我跑:

SELECT FieldValue FROM CARData A
JOIN Fields B ON A.FieldId = B.FieldId
WHERE FieldTypeId = 3 AND FieldValue IS NOT NULL 
Run Code Online (Sandbox Code Playgroud)

这将返回以下预期结果:

结果

但是,如果我添加了 WHERE 子句以按值过滤:

SELECT FieldValue FROM CARData A
JOIN Fields B ON A.FieldId = B.FieldId
WHERE FieldTypeId = 3 AND FieldValue IS NOT NULL 
AND CAST(FieldValue AS BIGINT) > 100
Run Code Online (Sandbox Code Playgroud)

它抛出错误:

将数据类型 nvarchar 转换为 bigint 时出错。

我有点理解问题是什么 - 它试图将表中的所有值转换为 bigint 并且在遇到非数字值时失败。

我试图通过在第二个查询中嵌套第一个查询来解决这个问题,如下所示:

SELECT RESULT.FieldValue FROM …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server casting sql-server-2019

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

@@DATEFIRST 未返回文档中所述的结果

我已阅读此文档

所以我尝试了这个实验

declare @t table (test date)
insert into @t values ('20220404'), ('20220405'),('20220406'),('20220407'),('20220408'),('20220409'),('20220410')

select datename(weekday, test),
       datepart(weekday, test)
from   @t
Run Code Online (Sandbox Code Playgroud)

它返回这个

第一栏 第2栏
周一 2
周二 3
周三 4
周四 5
星期五 6
周六 7
星期日 1

我检查了我的值或@@DATEFIRST

select @@DATEFIRST
Run Code Online (Sandbox Code Playgroud)

它返回7

那么为什么我没有得到文档中描述的结果呢?

第一栏 第2栏
周一 1
周二 2
周三 3
周四 4
星期五 5
周六 6
星期日 7

编辑

这是我在文档中看到的

在此输入图像描述

t-sql sql-server date sql-server-2019

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

无法在 SQL Select 子句内的子查询中使用 ALIASES

我试图在 select 语句的子查询中使用别名,如下所示:

SELECT 
     InvoiceId,
     InvoiceTotal,
     (SELECT 
       AVG(InvoiceTotal)
       FROM Invoices) AS InvoiceAverage,
     InvoiceTotal - (SELECT InvoiceAverage)
FROM Invoices;
Run Code Online (Sandbox Code Playgroud)

当我尝试执行查询时,出现此错误:

'无效的列名称'InvoiceAverage'。

sql sql-server sql-server-2019

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

在 SQL 中使用相对列名值计算 DATE 值

我有一个表,其中有一些特殊的数据排列,其中有 28-31 列对应于一系列唯一 ID 的月份日期。我想做的是将其转化为具有实际日期值的更可行的格式。我的表格如下所示:

DECLARE @Month VARCHAR(3) 
SET @Month = 'NOV'
Run Code Online (Sandbox Code Playgroud)
ID 地位 1 2 3 4 5
111 积极的 A 2 3 4 Z
222 不活跃 Z 5 F 6 7

理想情况下,我希望有一种方法可以将其转换为如下所示的内容:

ID 地位 日期 价值
111 积极的 11/1/2022 A
111 积极的 11/2/2022 2
111 积极的 11/3/2022 3
111 积极的 11/4/2022 4
111 积极的 11/5/2022 Z
222 不活跃 11/1/2022 Z
222 不活跃 11/2/2022 5
222 不活跃 11/3/2022 F
222 不活跃 11/4/2022 6
222 不活跃 11/5/2022 7

在对性能进行一些小的考虑的情况下,对于列数(相对于一个月中的不同天数)灵活的方法将是更可取的。

sql t-sql sql-server sql-server-2019

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

100 是 SELECT * FROM [Multi-Statement-Table-Valued-Function] 查询的基数估计的幻数吗?

我正在 SQL Server 2019 上运行。每当我编写以下形式的查询时

SELECT * 
FROM [Multi-Statement-Table-Valued-Function]
Run Code Online (Sandbox Code Playgroud)

执行计划显示它期望从此进程中获取 100 行。这是一致且有记录的模式吗?或者这只是我的服务器的一个怪癖?

我有一组关于 SQL Server 2014 基数估计的注释,我相信估计方法自 2014 年以来没有改变,但他们没有提到这个神奇的数字。

t-sql sql-server user-defined-functions sql-server-2019 cardinality-estimation

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

通过 group by 获取多列的最常见值

我有一个看起来像这样的表:

Customer    SiteNumber  DeviceNumber    Address         ValueA      ValueB
100         1           T1              123 Main St     50          60  
100         1           T2              123 Main St     50          null
100         1           T3              null            50          60
100         3           T1              27 Front St     100         null    
100         3           T2              null            null        null
100         3           T3              27 Front St     100         60
200         1           T1              222 Main St     40          60  
200         1           T2              222 Main St     40          null
200         1           T3              null            40          60
Run Code Online (Sandbox Code Playgroud)

查询是为了汇总一些数据。本质上,我想知道按客户分组的每个站点,最常见的地址是什么(不包括空值),以及最常见的 ValueA 和 Value B 是什么,不包括空值。它们不需要来自同一行,只需来自客户、站点编号的同一组即可。理论上这些值在所有设备上应该是相同的,但有时其中一个有拼写错误,或者数据丢失(空),所以我只需要合理地知道站点地址是什么,我想了多数规则是一种简单的方法。

我尝试过搜索,但不完全确定要搜索哪些术语。我做了 …

t-sql sql-server sql-server-2019

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