有没有一种简单的方法来确定sp_trace_create
SQL Server 2000上已设置了哪些跟踪?SQL Server 2005,2008,2012或2014怎么样?
sql-server sql-server-2005 sql-server-2008 sql-server-2012 sql-server-2017
我有以下查询:
WITH cteCountryLanguageMapping AS (
SELECT * FROM (
VALUES
('Spain', 'English'),
('Spain', 'Spanish'),
('Sweden', 'English'),
('Switzerland', 'English'),
('Switzerland', 'French'),
('Switzerland', 'German'),
('Switzerland', 'Italian')
) x ([Country], [Language])
)
SELECT
[Country],
CASE COUNT([Language])
WHEN 1 THEN MAX([Language])
WHEN 2 THEN STRING_AGG([Language], ' and ')
ELSE STRING_AGG([Language], ', ')
END AS [Languages],
COUNT([Language]) AS [LanguageCount]
FROM cteCountryLanguageMapping
GROUP BY [Country]
Run Code Online (Sandbox Code Playgroud)
我期待瑞士的Languages栏中的值以逗号分隔,即:
| Country | Languages | LanguageCount
--+-------------+-------------------------------------------+--------------
1 | Spain | Spanish and English | 2
2 | Sweden | …
Run Code Online (Sandbox Code Playgroud) MSDN对这篇文章说:
CLR使用.NET Framework中的代码访问安全性(CAS),不再支持它作为安全边界.使用PERMISSION_SET = SAFE创建的CLR程序集可能能够访问外部系统资源,调用非托管代码以及获取sysadmin权限.从SQL Server 2017开始,引入了名为clr strict security的sp_configure选项,以增强CLR程序集的安全性.默认情况下启用clr严格安全性,并将SAFE和EXTERNAL_ACCESS程序集视为标记为UNSAFE.可以禁用clr strict security选项以实现向后兼容性,但不建议这样做.Microsoft建议所有程序集都由证书或非对称密钥签名,并且相应的登录名已在master数据库中被授予UNSAFE ASSEMBLY权限.
如何创建CLR程序集PERMISSION_SET = SAFE
可以访问外部系统资源,调用非托管代码以及获取sysadmin权限?
为什么不再支持CAS作为安全边界?
据我所知,CLR组件不再安全,这是非常不幸的.
我在安装Visual Studio 2017的SQL Server数据工具时遇到问题
我收到以下错误(已翻译):
The requested meta file operation is not supported (0x800707D3)
Run Code Online (Sandbox Code Playgroud)
截图:见这里
日志文件可在此处获取:https: //www.dropbox.com/s/e34kry9ycj76j7n/SSDT-Setup-ENU_20171219090643.log?dl = 0
这是链接日志文件中的相关部分:
[13C4:3020][2017-12-19T10:07:22]i000: MainViewModel.OnPackageActionProgress: Percent completed: 0, Overall progress: 27
[13C4:3020][2017-12-19T10:07:22]i000: MainViewModel.OnPackageActionProgress: Percent completed: 0, Overall progress: 27
[13C4:3020][2017-12-19T10:07:22]i000: MainViewModel.OnPackageActionProgress: Percent completed: 0, Overall progress: 27
[13C4:3020][2017-12-19T10:07:22]i000: MainViewModel.OnPackageActionProgress: Percent completed: 0, Overall progress: 27
[13C4:3020][2017-12-19T10:08:49]i000: MainViewModel.OnPackageActionProgress: Percent completed: 0, Overall progress: 27
[13C4:3020][2017-12-19T10:08:51]i000: MainViewModel.OnPackageActionProgress: Percent completed: 0, Overall progress: 27
[13C4:3020][2017-12-19T10:08:51]i000: MainViewModel.OnPackageActionProgress: Percent completed: 0, Overall progress: 27
[13C4:3020][2017-12-19T10:08:51]i000: …
Run Code Online (Sandbox Code Playgroud) sql ssms sql-server-data-tools visual-studio-2017 sql-server-2017
我有一台新的Windows 10 Home机器,我想安装SQL服务器.我已经安装了Visual Studio 2017和SSMS 2017(我最初安装了SQL).
在第一次尝试时,我收到此错误:
VS Shell安装失败,退出代码为1638
并发现我需要卸载Microsoft Visual C++ 2017 Redistributable(x86)和(x64),安装SQL Server,然后重新安装Microsoft Visual C++ 2017 Redistributable(x86)和(x64).如此处所见
然后我收到了这个错误:
试图执行未经授权的操作
我一直在尝试安装SQL Server 4周
编辑:
我找到了日志,但错误似乎相同:
我正在尝试安装SQL Server 2014,但它在相同位置(Install_VCRuntime_Cpu32_Action)保持数小时.这已经是我第三次尝试安装,所以我不知道还能做什么.
SQL Server 2014安装
更新[19/6月/ 18]:今天我的一位同事也面临着与SQL Server 2017安装程序安装程序相同的问题.
迁移到SQL Server 2017后遇到了有趣的问题.
绝对路径测试
backup database master to disk = 'C:\Temp\1\2\3\master.bak'
Run Code Online (Sandbox Code Playgroud)
按预期在C:\ Temp\1\2\3 \中创建备份.
相对路径测试#1
backup database master to disk = 'C:\Temp\1\2\3\..\master.bak'
Run Code Online (Sandbox Code Playgroud)
备份在C:\ Temp \中创建
预计:C:\ Temp\1\2 \
相对路径测试#2
backup database master to disk = 'C:\Temp\11\22\33\..\master.bak'
backup database master to disk = 'C:\Temp\111\222\333\..\master.bak'
backup database master to disk = 'C:\Temp\bin\bin\bin\..\master.bak'
Run Code Online (Sandbox Code Playgroud)
备份在文件夹C:\ Temp\11 \,C:\ Temp\111 \,C:\ Temp\bin \中创建
预期:分别为C:\ Temp\11\22 \,C:\ Temp\111\222 \和C:\ Temp\bin\bin \.
相对路径测试#3
backup database master to disk = 'C:\Temp\Folder1\Folder2\Folder3\..\master.bak'
backup database master to disk = 'C:\Temp\1111\2222\3333\..\master.bak'
Run Code Online (Sandbox Code Playgroud)
按预期分别在文件夹C:\ …
DECLARE @Geom TABLE
(
shape geometry,
shapeType nvarchar(50)
);
INSERT INTO @Geom(shape,shapeType)
VALUES('LINESTRING(1 2, 3 4)', 'A'),
('LINESTRING(3.2 4, 7 8)', 'B');
SELECT *
FROM @Geom
SELECT geometry::UnionAggregate(shape).ToString(), geometry::UnionAggregate(shape)
FROM @Geom;
Run Code Online (Sandbox Code Playgroud)
输出的WKT是
MULTILINESTRING ((7 8, 3.2 4), (3 4, 1 2))
当我想要的时候
MULTILINESTRING ((1 2, 3 4), (3.2 4, 7 8))
其中"A"和"B"行的开始应该是(1 2)
和(3.2 4)
尊敬.
这种行为UnionAggregate
似乎并不关心几何的"方向",以便维持A联合B和B联合A是相同的结果.不过,我想保留的开始/终点,因为我unioning街道几何,我希望所有的线串在其原来的方向去了.
这里讨论这个问题:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/89e95366-3649-4294-a0bc-f3921598157f/union-of-linestrings-and-reversing-direction?forum= sqlspatial
他们似乎建议在检查最终结果的可能解决方案,但我不清楚如何做到这一点.它是在一个链接的线程中暗示的
MultiLineString始终表示距离原点最远的点的图形.
我不清楚这究竟意味着什么,但我认为我不能假设UnionAggregate的结果总是与我想要的相反
如果很难知道方向意图,那么我可以添加M个度量,其中方向应该跟随增加的M值.
假设我有一种方法可以反转积分,我该如何解决这个问题呢?
我找到了一个模拟STUnion
Z和M测量的附加支持的功能:http://www.spatialdbadvisor.com/files/SQLServer.html#robo48但是注意到"他们的方向可能会改变(例如,开始/起点关系) ).",这是我想要避免的.
当我尝试在某些条件下合并时,出现以下错误。有人能够解释为什么吗?看起来这是SQL Server本身的问题,但我想在这里发布它来确认。
尝试将不可为 NULL 的列的值设置为 NULL。
我正在使用 SQL Server 2017,但也在 Azure SQL 中观察到它
BEGIN TRANSACTION
SET XACT_ABORT ON;
CREATE TABLE RandomNumberHistory (Id INT NOT NULL, Number INT NOT NULL, [ValidFrom] DATETIME2 NOT NULL, [ValidTo] DATETIME2 NOT NULL);
CREATE TABLE RandomNumber (Id INT NOT NULL PRIMARY KEY CLUSTERED IDENTITY, Number INT NOT NULL,
ValidFrom DATETIME2 GENERATED ALWAYS AS ROW START,
ValidTo DATETIME2 GENERATED ALWAYS AS ROW END,
PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo),
)
WITH …
Run Code Online (Sandbox Code Playgroud) sql-server sql-merge azure-sql-database sql-server-2017 temporal-tables
我在SQL Server 2017中使用STRING_AGG函数。我想创建与相同的效果COUNT(DISTINCT <column>)
。我试过了,STRING_AGG(DISTINCT <column>,',')
但这不是合法的语法。
我想知道是否有T-SQL解决方法。这是我的样本:
WITH Sitings
AS
(
SELECT * FROM (VALUES
(1, 'Florida', 'Orlando', 'bird'),
(2, 'Florida', 'Orlando', 'dog'),
(3, 'Arizona', 'Phoenix', 'bird'),
(4, 'Arizona', 'Phoenix', 'dog'),
(5, 'Arizona', 'Phoenix', 'bird'),
(6, 'Arizona', 'Phoenix', 'bird'),
(7, 'Arizona', 'Phoenix', 'bird'),
(8, 'Arizona', 'Flagstaff', 'dog')
) F (ID, State, City, Siting)
)
SELECT State, City, COUNT(DISTINCT Siting) [# Of Types], STRING_AGG(Siting,',') Animals
FROM Sitings
GROUP BY State, City
Run Code Online (Sandbox Code Playgroud)
上面产生了以下结果:
+---------+-----------+--------------+-------------------------+
| State | City | …
Run Code Online (Sandbox Code Playgroud) sql-server-2017 ×10
sql-server ×8
sql ×3
installation ×2
.net ×1
distinct ×1
geometry ×1
spatial ×1
sql-merge ×1
sqlclr ×1
ssms ×1
t-sql ×1