在 SQL Server 中,我可以通过执行以下操作将一个表复制到另一个表中:
Select * into desttable from sourcetable
Run Code Online (Sandbox Code Playgroud)
但是,源表中有重复的行,我只想复制不同的行。我该怎么做呢?
谢谢
在不同文件组上为操作系统创建数据库的优缺点是什么?我知道如果您想让数据库的静态部分在其他部分(位于不同的文件组)可以恢复时保持在线状态,这很有用。然而,这种情况对我们没有用(根据系统的性质)。
根据您的经验,如果在不同的文件组上创建数据库,我们还能获得其他好处吗?如果是这样,分配文件组的最佳做法是什么?
非常感谢。
我们的数据库服务器由另一家公司托管。它们提供每天发生一次的文件级备份。它们还允许日志传送。我的公司正在利用他们的 Logshipping 选项作为其备份和恢复解决方案的主要部分。
我想要一个更好的备份系统,让我们能够将数据恢复到故障点。通常,这将是数据库的完整备份模型和事务日志的备份以及完整和增量。但是,供应商告诉我,向我们提供事务日志备份会导致日志传送出现问题。
是否有备份策略可以让我恢复到故障点并使用日志传送?
我的数据库目前在ID每个表的列上都有一个主键/聚集索引。但是,连接到数据库的应用程序始终查看定义为:
SELECT * FROM Table WHERE DeletedDate IS NULL
Run Code Online (Sandbox Code Playgroud)
最好将 the 添加DeletedDate到聚簇索引中,还是将非聚簇索引DeletedDate作为包含的更好的做法?
index sql-server clustered-index sql-server-2008-r2 nonclustered-index
我正在慢慢收集并尝试分析有关我们所有实例 (2008R2 SP1) 的大量信息。我现在正在查看错误日志,我有几个问题。有很多关于错误日志大小的内容,并发现了不同的建议,sp_cycle_errorlog例如每周循环使用日志,以避免出现非常大的错误日志并能够充分处理它们。所以...
我目前正在构建一个流程,Powershell在该流程中,我们SQL Server Agent只需输入服务器名称即可将作业从一台服务器复制到另一台服务器。该脚本使用 SMO 库来获取对两个作业服务器的访问权限,为“其他”服务器上不存在的作业编写脚本,然后运行这些脚本(在 SqlConnection 和 SqlCommand 下)。问题是如何检查ServerOne与ServerTwo.
我尝试了四种不同的方法:使用来自 ServerTwo(比较服务器)的作业构建一个数组,然后查看该数组是否是contains来自 ServerOne 的作业;我也尝试过类似逻辑的操作符;并且,使用数组,我在Compare-Object从两台服务器加载两个带有作业名称的数组并测量另一个不存在的作业(也产生所有内容)之后使用。最后,我遍历 ServerTwo 上的每个作业并遍历 ServerOne 上的每个作业,看看它们是否彼此相等(这是下面的代码)。这将产生一切,因为每个工作不等于每个工作:
$ServerName = "S1\I"
$ComServer = "S2\I"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null
$srv = New-Object "Microsoft.SqlServer.Management.Smo.Server" $ServerName
$com = New-Object "Microsoft.SqlServer.Management.Smo.Server" $ComServer
foreach ($a in $com.JobServer.Jobs)
{
$a = $a.Name.ToString()
foreach ($j in $srv.JobServer.Jobs)
{
$j = $j.Name.ToString()
if ($a -like $j)
{
Write-Host $j
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有另一种方法可以检查作业是否存在于一台服务器上与另一台服务器上(请注意,我已经知道如何编写作业脚本,执行它等等;确保作业不存在的部分已经存在是这里的问题)?
使用 AO SQL 2012,是否可以将其中一个成员配置为延迟副本?我知道理想情况下我们希望同步它,但在人为错误的情况下,这将使我们能够检查辅助节点并从辅助节点恢复未提交的数据。在我们之前的一个设置中,我们使用了日志传送,其中还原到一个辅助服务器的时间延迟了一个小时。因此,在出现任何数据问题时,我们能够更快地恢复数据,而不是恢复整个数据库并恢复到时间点。任何输入表示赞赏...提前致谢
是否有可能——是否存在性能计数器——显示连接到 SQL Server 的最终用户应用程序的名称?
我想计算数据库中非空约束的列数。于是想到了查询表sys.all_columns:
select * from sys.all_columns
问题是它为我提供了我不需要的额外信息(系统定义表中的列)。
所以我必须添加一些SQL 代码来确定某些列是否属于用户定义表。最好的方法是什么?
我有数据库:
-两个文件组(主要和索引)
-三个文件 .mdf(data), .ndf(index) 和 .ldf(log)
每个文件都在不同的磁盘上,昨天 NDF 文件所在的磁盘崩溃了,所以我丢失了该文件。有没有办法修复数据库,而无需恢复?
TNX!
sql-server ×10
backup ×1
connections ×1
error-log ×1
filegroups ×1
index ×1
log-shipping ×1
perfmon ×1
powershell ×1
restore ×1
storage ×1