标签: sql-server

简单地插入到临时表并失败

谁能告诉我为什么这对我不起作用?

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 行是问题所在,但我无法理解这一点。这是因为存储过程本身有多个存储过程吗?

sql-server stored-procedures t-sql temporary-tables

1
推荐指数
1
解决办法
4528
查看次数

使用 include 创建索引聚集 X NonClustered

我有一张像:

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 的查询更快?

sql-server optimization t-sql index-tuning

1
推荐指数
1
解决办法
121
查看次数

创建视图时语法错误不正确

返回错误信息:

消息 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

1
推荐指数
1
解决办法
1288
查看次数

SQL Server 完整备份位置

我使用 SQL Server 2014 Management Studio 创建了完整备份。之后,我将其删除并创建了差异备份,一切正常。如果原始完整备份被删除,服务器如何知道需要进行哪些差异备份?

sql-server backup sql-server-2014

1
推荐指数
1
解决办法
93
查看次数

数据库邮件是否值得冒险/标准做法

我启用Database Mail XPs并在我的开发机器上测试它。我只是想知道这是否DB Mail是一个糟糕的安全选择,以及通过应用程序服务器(ColdFusion 或 PHP)发送这种消息是否更安全(或标准做法)?我将使用Database Mail数据库备份/恢复消息、错误或错误检查消息(我能想到的)。我知道启用功能总是会增加风险。

使用:

  • 在防火墙后面等。
  • 视窗 2012 r2
  • 微软 SQL Server 2012
  • Exchange 在单独的服务器上
  • 使用 Windows 身份验证
  • 启用需要安全连接

提前致谢。

security sql-server sql-server-2012 database-mail

1
推荐指数
1
解决办法
3193
查看次数

如何将表名作为参数传递

我有这个代码

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”附近的语法不正确。

sql-server sqlcmd

1
推荐指数
1
解决办法
400
查看次数

尝试使用 SMO 传输对象将数据库从一个实例传输到另一个实例

架构表归 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 powershell sql-server-2012 smo amazon-rds

1
推荐指数
1
解决办法
3827
查看次数

复制在请求之间花费太多时间

我们在 SQL Server 2014 中使用事务复制,有一个主(发布者)、1 个分发者(专用服务器)和 3 个从(订阅者)。

所有的写入都是对 master 进行的,而读取是从 3 个订阅者之一完成的。

我的问题是,如果您进行了插入/更新/删除操作,并且页面正在刷新,则更新尚不存在。在订阅者更新之前有 1-4 秒的延迟,这会使用户感到困惑,因为该行已插入/删除/更新,但尚未反映在订阅者上...

我们正在考虑进行点对点复制,但这似乎是 IDENTITY 的开销,它可以返回写入一个,但复制也需要太多时间......

我们可以/应该做什么?

replication sql-server transactional-replication

1
推荐指数
1
解决办法
345
查看次数

如何使用单个查询从不同服务器中选择数据?

我有挑战!我需要从 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-server select

1
推荐指数
1
解决办法
46
查看次数

找到每个阶段的获胜者

我正在学习 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 sql-server-2014

1
推荐指数
1
解决办法
1393
查看次数