谁能告诉我为什么这对我不起作用?
CREATE TABLE #UndistributedCmds
(
pendingcmdcount int,
estimatedprocesstime INT
)
INSERT INTO #UndistributedCmds
EXEC sp_replmonitorsubscriptionpendingcmds ...
Run Code Online (Sandbox Code Playgroud)
错误:
消息 8164,级别 16,状态 1,过程 sp_replmonitorsubscriptionpendingcmds,第 152 行
INSERT EXEC 语句不能嵌套。
该错误似乎暗示存储过程定义的第 152 行是问题所在,但我无法理解这一点。这是因为存储过程本身有多个存储过程吗?
我有一张像:
create table x (a varchar(20),
b varchar(30),
c varchar(30),
primary key clustered(a asc))
Run Code Online (Sandbox Code Playgroud)
所以我想知道我是否创建了一个像这样的索引:
Create nonclustered index test on x(a) include (b,c)
Run Code Online (Sandbox Code Playgroud)
该索引将使我使用列 a、b、c 的查询更快?
返回错误信息:
消息 102,级别 15,状态 1,过程 vw_IVStockAging,第 12 行
“-”附近的语法不正确。
当我执行此操作时:
CREATE VIEW vw_IVStockAging
AS SELECT IV00101.ITEMNMBR AS ITEMNUMBER,
IV00101.ITEMDESC AS ITEMNAME,
...
(IV10200.QTYRECVD – IV10200.QTYSOLD) AS QTYAVAILABLE
FROM ...
Run Code Online (Sandbox Code Playgroud) 我使用 SQL Server 2014 Management Studio 创建了完整备份。之后,我将其删除并创建了差异备份,一切正常。如果原始完整备份被删除,服务器如何知道需要进行哪些差异备份?
我启用Database Mail XPs并在我的开发机器上测试它。我只是想知道这是否DB Mail是一个糟糕的安全选择,以及通过应用程序服务器(ColdFusion 或 PHP)发送这种消息是否更安全(或标准做法)?我将使用Database Mail数据库备份/恢复消息、错误或错误检查消息(我能想到的)。我知道启用功能总是会增加风险。
使用:
提前致谢。
我有这个代码
ALTER PROCEDURE [dbo].[tablepass12]
(@TableName nvarchar(20))
AS
BEGIN
DECLARE @SQL VARCHAR(8000)
SELECT @SQL = 'SQLCMD -S ICB3110\SQLEXPRESS -d teena -E -Q "SELECT * FROM "'+@TableName+' -o d:\processing\'+@TableName+'.csv'
EXEC MASTER..XP_CMDSHELL @SQL
END;
Run Code Online (Sandbox Code Playgroud)
执行它时,我收到此错误
消息 105,级别 15,状态 1,服务器 ICB3110\SQLEXPRESS,第 1 行
字符串 'AIR_LINE ' 后的未闭合引号。消息 102,级别 15,状态 1,服务器 ICB3110\SQLEXPRESS,第 1 行
“AIR_LINE”附近的语法不正确。
架构表归 dbo 和另一个架构名称所有。下面的代码没有在任何表格上移动。我还需要添加其他东西才能传输表格吗?没有需要移动的存储过程或视图。
$xfr1 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Transfer($prodServerDB.Databases[$devDatabase])
#Set this objects properties
$xfr1.DestinationLoginSecure = $false
$xfr1.DestinationServer = $devServer
$xfr1.DestinationLogin = $devUsername
$xfr1.DestinationPassword = $devPassword
$xfr1.DestinationDatabase = $devDatabase
$xfr1.BatchSize = 10485760
$xfr1.CopyData = $true
$xfr1.CopyAllTables = $true
$xfr1.CopyAllObjects = $true
$xfr1.CopyAllDatabaseTriggers = $true
$xfr1.CopyAllLogins = $false
$xfr1.CopyAllRoles = $false
$xfr1.CopyAllUsers = $false
$xfr1.CopySchema = $true
$xfr1.PreserveDbo = $true
$xfr1.PreserveLogins = $true
$xfr1.Options.AllowSystemObjects = $false
$xfr1.Options.ContinueScriptingOnError = $true
$xfr1.Options.Indexes = $true
$xfr1.Options.IncludeIfNotExists = $true
$xfr1.Options.DriAll = $true
$xfr1.Options.SchemaQualify = $true
$xfr1.Options.ScriptSchema = …Run Code Online (Sandbox Code Playgroud) 我们在 SQL Server 2014 中使用事务复制,有一个主(发布者)、1 个分发者(专用服务器)和 3 个从(订阅者)。
所有的写入都是对 master 进行的,而读取是从 3 个订阅者之一完成的。
我的问题是,如果您进行了插入/更新/删除操作,并且页面正在刷新,则更新尚不存在。在订阅者更新之前有 1-4 秒的延迟,这会使用户感到困惑,因为该行已插入/删除/更新,但尚未反映在订阅者上...
我们正在考虑进行点对点复制,但这似乎是 IDENTITY 的开销,它可以返回写入一个,但复制也需要太多时间......
我们可以/应该做什么?
我有挑战!我需要从 4 个不同服务器的 4 个不同表中进行选择。
例子:
Select * from server1.tableS1.sys.view
Select * from server2.tableS2.sys.view
Select * from server3.tableS3.sys.view
Select * from server4.tableS4.sys.view
Run Code Online (Sandbox Code Playgroud)
如何在同一个查询中进行选择?
我正在学习 SQL,我正在努力找一份工作。我在 MS SQL Server 2014 中有下表:
该表名为 Game,具有以下字段:Name、Stage #、Score。
我的目标是用他/她的名字写出每个阶段的获胜者(阶段的获胜者是获得最高分的人)。
这是原始表:
Name Stage # Score
George A 10
Joe A 10
Pete A 9
Jane B 7
Sally B 6
Run Code Online (Sandbox Code Playgroud)
输出应该如下所示:
Winner Name Score Stage
George 10 A
Joe 10 A
Jane 7 B
Run Code Online (Sandbox Code Playgroud)
我怎样才能完成这个任务?一位同事向我推荐了http://sqlfiddle.com/以帮助我解决这个问题,但该网站显然不适用于 MS SQL Server 2014 或 MS SQL Server 2008。因此,我可以在这里获得一些帮助吗?
我了解一些基本功能,例如 SELECT、WHERE、GROUP BY、JOIN 和 HAVING,但我无法将它们放在一起以获得我想要的正确的三行输出。
sql-server ×10
t-sql ×2
amazon-rds ×1
backup ×1
index-tuning ×1
optimization ×1
powershell ×1
replication ×1
security ×1
select ×1
smo ×1
sqlcmd ×1