我在服务器上有很多 SQL Server 作业。每当完成任何作业执行时,我都需要执行 SP。一种困难的方法是在每个调用该 SP 的作业上创建一个步骤。
有没有简单的方法可以做到这一点?作业完成后,SQL Server 是否执行任何 SP 或任何内容?
我们正在尝试在 Windows 2012 R2 操作系统上从 SQL Server 2012 迁移到 SQL Server 2014。
升级后,我们正在进行性能测试,并观察到仅从一个表(根本没有连接)运行简单查询的巨大差异。
该查询在 SQL Server 2012 中执行时间为 4 秒,但在 SQL Server 2014 中执行时间超过 1 分钟。
SQL Server 安装在 2 个不同的 VM(不同的 IP 地址)上。他们在每台机器上只有一个 SQL Server 实例。
两台机器之间的处理器/内存/硬盘空间相同。
这些机器安装了相同的应用程序。我们直接从 SQL Server Management Studio 运行相同的选择查询。
performance sql-server upgrade sql-server-2012 sql-server-2014
在安装了 SQL Server LocalDB 2014 的机器上,我正在寻找 SQLCMD.EXE 文件,但在任何地方都找不到它。有没有办法单独安装?
不幸的是,我不是机器的本地管理员,所以我不喜欢 MSI ...
找到此链接https://www.microsoft.com/en-us/download/confirmation.aspx?id=36433,但不能使用 MSI ... 也许复制可执行文件和 dll 可以解决问题。
C:\Program Files\Microsoft SQL Server\110\Tools\Binn 从安装了 SSMS 的另一台计算机复制文件 SQLCMD.EXE、BATCHPARSER.DLL 和 SQLCMD.RLL 后,我仍然收到错误:
Microsoft SQL Server Native Client 11.0:未找到数据源名称且未指定默认驱动程序。
运行sqlcmd -S np:\\.\pipe\LOCALDB#F8040C8F\tsql\query。
在安装较新版本后安装以前版本的 SQL Server 实例时,是否有任何需要注意的问题?例如,将 2008 安装到具有现有 2012 实例的服务器上?
我找不到特定于这种情况的陈述,但这似乎有风险。
在 2 节点 Windows Server 故障转移群集配置中,如何重新启动 SQL Server 服务而不故障转移到其他节点?
我想将一张表合并到另一张表中。我需要在我的 WHEN MATCHED 子句中应用条件逻辑,理想情况下这样做:
MERGE INTO ATable AS a
USING BTable AS b
ON a.ID = b.ID
WHEN NOT MATCHED THEN
-- Do insert
WHEN MATCHED AND b.NeedsAdjustment = 1 THEN
UPDATE SET
Col1 = b.Col1 + b.Adjustment
,Col2 = b.Col2 + b.Adjustment
,Col3 = b.Col3 + b.Adjustment
WHEN MATCHED THEN -- Default case (b.NeedsAdjustment <> 1)
UPDATE SET
Col1 = b.Col1
,Col2 = b.Col2
,Col3 = b.Col3
Run Code Online (Sandbox Code Playgroud)
这不是有效的 SQL。根据 MSDN 文档:
如果有两个 WHEN MATCHED 子句,则一个必须指定 UPDATE 操作,一个必须指定 DELETE 操作。 …
我想说我已经浏览了一些 sql 博客和 MSDN BOL,但仍然有一些困惑。
SQL Server 2012 Express 的限制是 10 GB。这是基于实例还是基于每个数据库的限制?
SQL Server 2012 Express 的连接数:连接数有限制或无限制。
如果我将使用服务器版本的操作系统,那么最大并发用户连接数是多少。
限制来自数据库级别或操作系统级别。
如果我将 Windows Server 2012 R2 与 SQL Server 2012 Express SP1 一起使用,那么最大并发连接数是多少?
我们可以在单个 SQL Server 实例下保留多少个数据库。
任何帮助或建议将不胜感激
max-connections sql-server-2012 sql-server-express windows-server
我正在尝试运行一个脚本,该脚本执行一些工作,包括从列的每一行内的字符串中去除前导两个字符。为此,我正在使用RIGHT()它,当我在 a 中使用它时它工作正常,SELECT..FROM但是当我在 a 中使用相同的代码时UPDATE它失败了
传递给 RIGHT 函数的长度参数无效
为什么它失败了UPDATE但不是SELECT...FROM?
USE JobSight;
DROP TABLE #ReleaseTemp;
SELECT A.MajRelease,
A.MinRelease,
A.Build,
Split.a.value('.', 'VARCHAR(MAX)') AS ReleaseNotes
INTO #ReleaseTemp
FROM
(
SELECT MajRelease,
MinRelease,
Build,
CAST ('<M>' + REPLACE(RelNotes, ';;', '</M><M>') + '</M>' AS XML) AS ReleaseNotes
FROM JobsDB.dbo.ReleaseData
) AS A
CROSS APPLY ReleaseNotes.nodes ('/M') AS Split(a);
UPDATE #ReleaseTemp
SET ReleaseNotes = RIGHT(ReleaseNotes, LEN(ReleaseNotes) - 2);
UPDATE #ReleaseTemp
SET ReleaseNotes = LTRIM(#ReleaseTemp.ReleaseNotes);
SELECT MajRelease, …Run Code Online (Sandbox Code Playgroud) 我正在阅读 Microsoft 文章如何解决“无法生成 SSPI 上下文”错误消息
这两句话暗示,如果我知道域是什么,我应该知道森林是什么,但我不知道。我用谷歌搜索了一下,我发现的所有东西要么不相关(“只见树木不见森林”),要么没有解释该术语。
将 SPN 视为服务器资源中某个实例的域或林唯一标识符。
——
3.检查服务器所属的域和您用来连接的域帐户是否在同一个林中。这是 SSPI 工作所必需的。
作为理论测试(因为我想复习我对 SQL Server 安全性的理解)我想设置一个 SQL Server 登录,它只能看到一个数据库中一个表上的几个字段。
除了默认的 public,我没有为此登录分配任何角色。我不希望假设的用户具有任何服务器角色(即不是 sysadmin、dbcreator)……而且我不想为数据库使用任何标准角色(db_datareader 等)……
登录有默认数据库,登录映射到数据库(默认架构dbo)。现在,在用户安全对象中,我已授予对一张表的访问权限并使用列权限来指定列,但在测试登录时我真的没有做到这一点。
当我使用 SQL Server 身份验证和新登录名登录到 SSMS 时,除了 master/tempdb 之外,我看不到任何数据库...
我应该看到我的默认/映射数据库吗?我没有看到任何其他类似这样的问题,所以我猜我错过了一些完全明显的东西。
为了使用 sql 登录名登录到 SSMS,您是否必须拥有分配的服务器角色才能查看非系统数据库?当我添加 sysadmin 时我可以看到数据库,但随后我又回到了过度授权。
CREATE LOGIN [Chris_Test2] WITH PASSWORD=N'¯\Ï<ÞZcÅÎ5¿ûY!ËDåÜ''¨Äs»¾Þja7',
DEFAULT_DATABASE=[Finance_Receivables_TEST],
DEFAULT_LANGUAGE=[us_english],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF
GO
USE [Finance_Receivables_TEST]
GO
/****** Object: User [Chris_Test2] Script Date: 01/18/2017 14:40:21 ******/
GO
CREATE USER [Chris_Test2] FOR LOGIN [Chris_Test2] WITH DEFAULT_SCHEMA=[dbo]
Run Code Online (Sandbox Code Playgroud) sql-server ×8
clustering ×1
failover ×1
installation ×1
instance ×1
kerberos ×1
merge ×1
performance ×1
security ×1
sqlcmd ×1
t-sql ×1
update ×1
upgrade ×1
windows ×1