我似乎无法使用 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 等使用。
我将使用 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
我在本地安装了 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
我在 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:
我被困在这里,我什至不知道我能做什么
我正在努力实现以下目标:
得到的所有字段值,其中
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) 我已阅读此文档
所以我尝试了这个实验
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 |
编辑
这是我在文档中看到的
我试图在 select 语句的子查询中使用别名,如下所示:
SELECT
InvoiceId,
InvoiceTotal,
(SELECT
AVG(InvoiceTotal)
FROM Invoices) AS InvoiceAverage,
InvoiceTotal - (SELECT InvoiceAverage)
FROM Invoices;
Run Code Online (Sandbox Code Playgroud)
当我尝试执行查询时,出现此错误:
'无效的列名称'InvoiceAverage'。
我有一个表,其中有一些特殊的数据排列,其中有 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 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
我有一个看起来像这样的表:
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 是什么,不包括空值。它们不需要来自同一行,只需来自客户、站点编号的同一组即可。理论上这些值在所有设备上应该是相同的,但有时其中一个有拼写错误,或者数据丢失(空),所以我只需要合理地知道站点地址是什么,我想了多数规则是一种简单的方法。
我尝试过搜索,但不完全确定要搜索哪些术语。我做了 …
sql-server-2019 ×10
sql-server ×9
t-sql ×5
sql ×3
azure-devops ×1
casting ×1
dacpac ×1
datagrip ×1
date ×1
django ×1
ssdt-2019 ×1