上面的截图来自我的SSMS 2017.
我想开始在SQL服务器上使用tfs,我用Google搜索了如何使用它,显然应该有一个工具中的源代码控制选项 - >选项但是没有源代码控制选项.我该如何解决?
我有VS 2017年和2015年,我现在正在使用vs 2017和2017年的tfs.没问题.我也安装了团队基础服务器2018.
先感谢您
我已经阅读了我能找到的与此错误相关的所有问题,但它们并没有完全描述这种情况。在其他情况下,人们正在做一些事情,例如按顺序仅引用一个别名表(从联合的一侧) - 我理解为什么 SQLS 在我读过的所有其他问题中抱怨这个特定的错误。
我不明白为什么 SQL Server 对此有异议order by;order by 中提到的唯一列肯定是结果集 select 的成员:
--example data:
-- a,b,c
-- 1, ,2
-- ,3,5
SELECT 1 AS a, null AS b, 2 AS c INTO #tmp
UNION
SELECT null AS a, 3 AS b, 5 AS c
--let's call it a lame version of a rollup
SELECT * FROM #tmp --detail rows
UNION ALL
SELECT a, b, SUM(c) FROM #tmp --summary row
GROUP BY a, b
--the problem
ORDER …Run Code Online (Sandbox Code Playgroud) 我正在从SQL Server 2008R2升级到2017年,并使用SSIS进行同样的跳转.有许多平面文件导入正在拾取具有{CR}{LF}嵌入行中列中的回车符/换行符()的文件.
2008R2平面文件连接管理器忽略{CR}{LF}行内的嵌入式s,但2017年的平面文件连接管理器将每个{CR}{LF}作为新行处理.升级的连接管理器或我从头开始制作的全新连接管理器都是一样的.
在这两个版本中,连接管理器具有相同的规格:
General Tab
Locale: English (United States)
Unicode: No
Code page: 1252 (ANSI-Latin I)
Format: Delimited
Text qualifier: <none>
Header row delimiter: {CR}{LF}
Header rows to skip: 0
Column names in the first data row: Check
Columns Tab
Row delimiter: {CR}{LF}
Column delimiter: Vertical Bar{|}
Run Code Online (Sandbox Code Playgroud)
我正在测试的不是特别复杂的文本文件:
row_id|row_data|empty_column|created_by|one_more_field{CR}{LF}
1|random test data||ebrandt|{CR}{LF}
2|Data field with a carriage return{CR}{LF}
and a line feed embedded in it.||ebrandt|
Run Code Online (Sandbox Code Playgroud)
我粘贴在线路终结器上,只是为了表明它们在那里.
在Columns选项卡上,BIDS 2008R2中的"预览"窗口显示两行:
但在2017年,完全相同的文件被分成三行:
此项目中没有带宽可以重做所有文件导入. …
我需要从同一个表中获取最多3个不同的记录,所以目前我正在做:
SELECT 1, mycolumn FROM mytable WHERE id = @firstId
UNION ALL
SELECT 2, mycolumn FROM mytable WHERE id = @secondId
UNION ALL
SELECT 3, mycolumn FROM mytable WHERE id = @thirdId
Run Code Online (Sandbox Code Playgroud)
实际SELECT部分包含超过20列,该FROM部分包含许多列JOINs.第一列是常量,并且始终根据记录固定.我不知道有多少记录可能会返回.它可以是0到3个记录中的任何内容.
是否可以更改上面的查询,以便它使用IN如下所示:
SELECT ???, mycolumn FROM mytable WHERE id IN (@firstId, @secondId, @thirdId)
Run Code Online (Sandbox Code Playgroud)
但是如果我使用的话,如何将每条记录显式映射到固定常量IN?
我有一个NVARCHAR(MAX)用于存储 json 数据的列。强制该数据遵守某些 json 模式的最佳方法是什么?
我知道我可以使用函数添加检查约束来检查我的要求,但是有没有更好/内置的方法来做到这一点?
冒着过度解释我的问题的风险,我将在过多信息方面犯错。
我正在创建一个将数据插入两个表的批量上传过程。这两个表大致如下。 TableA是允许N个参考级别的自参考表。
Parts (self-referencing table)
--------
PartId (PK Int Non-Auto-Incrementing)
DescriptionId (Fk)
ParentPartId
HierarchyNode (HierarchyId)
SourcePartId (VARCHAR(500) a unique Part Id from the source)
(other columns)
Description
--------
DescriptionId (PK Int Non-Auto-Incrementing)
Language (PK either 'EN' or 'JA')
DescriptionText (varchar(max))
Run Code Online (Sandbox Code Playgroud)
(我也应该注意,还有其他表将引用我们暂时不涉及的表PartID 。)
在Description,的组合Description和Language将是独一无二的,但实际`DescriptionID总会有至少两个实例。
现在,对于批量上传过程,我创建了两个临时表,它们看起来很像Parts,Description但是没有任何PK,索引等。它们是Parts_Staging和Description_Staging。
在Parts_Staging其中有一个额外的列,其中包含一个层次结构节点字符串,它是这种格式的HierarchyNode:/1/2/3/等等。然后,当数据从_Staging表复制到实际表时,我使用CAST(Source.Column AS hierarchyid)。
由于在两个表中共享ID的复杂性,中的自引用ID和architectureid Parts以及要插入的行数(可能是100,000个),我决定100%编译其中的所有数据。首先是C#模型,包括PK ID。因此,该过程在C#中如下所示:
我正在使用本地 MS SQL 数据库,该数据库是使用实体框架自动创建的。数据库创建成功,没有任何错误。
但是,当我使用 Microsoft Managment studio 尝试创建数据库图表时,出现以下错误:
即使当我以 SA 用户身份登录时,我仍然遇到相同的错误,请了解为什么会发生这种情况以及如何修复此错误。
在我的项目中构建我的项目时出现以下错误databaseB。该数据库引用 master、msdb 以及其他数据库:databaseA和databaseAsynonyms。
databaseB使用来自 的同义词(链接服务器)databaseA。
构建返回以下错误:
SQL71501:计算列:[bi_tb_sales].[v_board_digital_inventory].[dim_panel_revenue_branch] 包含对对象的未解析引用。该对象不存在或引用不明确,因为它可能引用以下任何对象:[dbo].[bi_tb_sales_dim_panel]。[dim_panel_revenue_branch]、[dbo]。[bi_tb_sales_dim_panel]。[p]::[dim_panel_revenue_branch] 或 [dbo].[bi_tb_sales_dim_site]。[p]::[dim_panel_revenue_branch]。
截屏:
我尝试了https://social.msdn.microsoft.com/Forums/sqlserver/en-US/152759ac-8f03-471c-b79c-49f605fe12ba/unresolved-references-and-synonyms?forum=ssdt上列出的以下 6 个修复程序)但它并没有解决问题。
还有其他建议吗?
细节:
我已经关注了这篇文章,但没有效果https://blog.sqlauthority.com/2017/01/27/sql-server-sql-installation-fails-error-code-0x851a001a-wait-database-engine-recovery-handle -失败的/
Feature: Database Engine Services
Status: Failed
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log …Run Code Online (Sandbox Code Playgroud) 当我通过 EF 7 更新时,出现此错误:“如果该语句包含不带 INTO 子句的 OUTPUT 子句,则 DML 语句的目标表 'Table' 不能有任何启用的触发器。”
EF 7 执行此操作:
exec sp_executesql N'SET IMPLICIT_TRANSACTIONS OFF;
SET NOCOUNT ON;
UPDATE [ObrazacZahtjevZaIzvanrednuPozajmicu] SET [OdbijenOdobren] = @p0
OUTPUT 1
WHERE [ObrazacZahtjevZaIzvanrednuPozajmicuId] = @p1 AND [Zakljucan] = @p2;
',N'@p1 int,@p0 bit,@p2 bit',@p1=21858,@p0=1,@p2=0
Run Code Online (Sandbox Code Playgroud)