我有一个主动的被动 SQL 集群。当我从 SQL Server 配置管理器停止活动节点上的 SQL 服务时,SQL 群集不会进行故障转移,而是显示为部分联机。
如果 SQL 服务从 Configuration Manager 停止,它不会故障转移到另一个节点?
我必须为我的客户准备测试用例,所以我迫切需要清除这个疑问。
我有一个查询,如果日期列有一组日期中的任何一个,我想在其中排除行。
我很难弄清楚如何在不过滤一个月的情况下返回正确的结果集。
我最初的尝试假设运算符 '!=' 能够指定多个变量,但我可能会误会。
如何以删除所有我不想要的指定日期的方式过滤结果?
SELECT * INTO IPS_TransactionDataAll2
FROM
[IPS_TransactionDataAll1]
where Format([Start Date], 'MM/yyyy') != ('07/2016''08/2016''09/2016''10/2016''11/2016''10/2016''01/2017''02/2017''03/2017''04/2017''05/2017''06/2017''07/2017')
Run Code Online (Sandbox Code Playgroud)
伪代码:
从 TableA 中选择到 TableB 其中日期不在 7-11/2016 和 1-7/2017 月份
我有几个数据库,前端应用程序在其中管理某些维护任务。在这个特定的例子中,我每晚都在运行 INDEX OPTIMIZE 作业,它经常与应用程序发生冲突并失败。
以下是我收到的错误:
Msg 50000, Level 16, State 1, Server MyTestServer01, Procedure CommandExecute, Line 152
Msg 2550, The index "clidx_StatisticalInterface_dPollTime" (partition 1) on table "StatisticalInterface" cannot be reorganized because it is being reorganized by another process.
Run Code Online (Sandbox Code Playgroud)
我知道有时供应商宁愿他们的内置解决方案管理维护。我确定我可以在应用程序中找到该功能并将其关闭,但这个问题是为了以防万一。
我将如何配置或编辑此作业以忽略同一实例中的特定数据库或数据库列表?
经过一段时间寻找答案后,我收到了很多问题,说要使用coalesce、concat()等,但我需要的是:
桌子:
create table nulos ( nome varchar(max))
alter table nulos add cidade varchar(max)
Run Code Online (Sandbox Code Playgroud)
价值观:
insert into nulos values ( 'rafael','são paulo'),('juliana',null)
Run Code Online (Sandbox Code Playgroud)
我需要将这个表中的值连接到一个插入中,如下所示:
select 'insert into nulos (nome,cidade) values ('+nome+','+cidade+')'
from nulos
Run Code Online (Sandbox Code Playgroud)
和选择的结果:
insert into nulos (nome,cidade) values (rafael,são paulo)
NULL
Run Code Online (Sandbox Code Playgroud)
如何在此串联中使用 NULL 值?每个答案都说用''or替换空值'_',但我需要的是:
insert into nulos (nome,cidade) values (rafael,são paulo)
insert into nulos (nome,cidade) values (Juliana,NULL)
Run Code Online (Sandbox Code Playgroud)
SET CONCAT_NULL_YIELDS_NULL on 不是一个选项,因为它只是删除 NULL 值,我需要插入它。
今天我注意到在 SQL Server 2014 中创建存储过程的过程中出现了一个奇怪的行为。下面是我的测试过程。请解释为什么 SQL Server 不允许用第一个SELECT编译而允许用第二个编译。
CREATE PROCEDURE [dbo].[test]
AS
BEGIN
SET NOCOUNT ON;
IF 1=0 -- this will never occur
BEGIN
select x from Table -- TABLE EXIST BUT COLUMN NOT - STORED PROCEDURE IS NOT CREATED
--Msg 207, Level 16, State 1, Procedure test, Line 25
--Invalid column name 'x'.
-- But if i change
select x from TableWhichNotExistInDatabase -- This table not exist in database, but stored procedure has been created without any …Run Code Online (Sandbox Code Playgroud) 我有一个包含 3 个表的 SQL Server 数据库。我需要恢复包含4 个表的备份,同时仍保留原始 3 个表中的旧数据。这可能吗?
我想从下面提到的 json 字符串中获取“OrderNumber”字段值。请建议最好的方法来获得相同的
DECLARE @JSON NVARCHAR(MAX)=
'{"ErpOrderResponses":[{"OrderSubmitStatus":"Ok","TransactionId":"{5EAB3ADC-EB9B-47F7-98B8-1449E2CC0A6B}","OrderNumber":7000027934,"CustomerNumber":80038707,"Description":"Request Successful","ResponseCode":"Success","ResponseType":"None","Errors":[]}],"IsErpUnavailable":false,"IsSuccessful":true,"IsPartiallySuccessful":false,"IsValidationFailed":false,"IsFailed":false}'
DECLARE @OrderNumber BIGINT =
(SELECT REPLACE(REPLACE(SUBSTRING(@JSON,CHARINDEX('OrderNumber',@JSON)+1,
CHARINDEX(',',@JSON,
CHARINDEX('OrderNumber',@JSON)+1
)-CHARINDEX('OrderNumber',@JSON)
)
,'RDERNUMBER":',''),',','') )
--SELECT CAST( @OrderNumber AS BIGINT)
SELECT @OrderNumber
Run Code Online (Sandbox Code Playgroud) 我有一个数据库的 mdf 和日志文件的副本。该数据库是 MSSQL 2012 数据库。为了使用它,我执行了以下步骤(实际上有点偶然,因为我试图首先从数据目录中复制一个 mdf 和日志文件,并且在服务器使用它们时它不会让我使用它们):
DATA目录中。在SQL server management studio中,出现了新的数据库。我想我可能需要附加它。
MSSQL 服务器是否会自动附加数据目录中的所有 mdf?我担心它不能正常工作,即使它看起来像它。
执行下面的查询时,如果我使用PRINT它打印正确。我可以复制并粘贴打印的代码并执行它。但是,如果我使用 EXEC,则会出现以下错误:
有没有办法简化我正在做的事情?为什么 SQLPRINT和 SQL 会EXEC提供这两种截然不同的结果集?
DECLARE @TableName as NVARCHAR(250), @SQL as VARCHAR(MAX);
DECLARE @TableCursor as CURSOR;
SET @TableCursor = CURSOR FOR
SELECT sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U'
AND name like 'HISTORY_MasterList_%'
ORDER BY sobjects.name
OPEN @TableCursor;
FETCH NEXT FROM @TableCursor INTO @TableName;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL ='select '''+ @TableName +''', 0
Union All
select All ''Server Count'',count(1) from ['+ @TableName +']
Union All
select All ''Server Cores'',sum(convert(decimal(18,0),cores)) …Run Code Online (Sandbox Code Playgroud) sql-server-2008 sql-server t-sql sql-server-2008-r2 sql-server-2012
我试图了解由执行某些表扫描的 SQL 语句引起的缓存流失。
假设 LRU 缓存,如果某事正在执行 400K 逻辑 IO,则流过多少内存(IO 块大小 * 逻辑 IO)。
此外,我试图了解如何获取关于顶级逻辑 IO SQL 语句的报告并获取这些产生的物理 IO。
鉴于此,我的问题是:
sql-server ×10
t-sql ×2
clustering ×1
failover ×1
format ×1
null ×1
restore ×1
ssms ×1
storage ×1