我在 mssql 2012 中拥有包含 170 多个表的数据库。其中一些包含字段“UserID”、varchar(9) 而另一些则不包含。由于应用程序重新设计,我需要更改数据库中的所有表以检查该字段是否存在,如果存在,我需要将其更改为 varchar(50)。如果没有,那么我需要添加它。
有人可以指出我如何使用某种批处理程序来做到这一点吗?我对 mssql 数据库没有太多经验,因此将不胜感激。
我想使用不同的数据库名称将 SQL Server 2008 数据库复制到 SQL Server 2012。
.bak文件,但 SQL Server 说“测试”正忙top 这样做的正确方法是什么?
基本上是将 2008 年生产数据库的快照放入 2012 年测试环境中。
谢谢
鲍勃
将主键列上的聚集索引轻松转换为非聚集索引的好方法是什么?我知道如何手动执行此操作,但是如果有几个表具有主键的外键,因为需要删除和重新创建它们,这会很耗时。
寻找脚本或免费工具来自动执行此操作。
我正在使用 SQL Server 2012
我将 Visual Studio 2012 Professional 与 SQL Server Data Tools 与 SQL Server 2012 标准版数据库实例一起使用。
我无法在我的开发机器或托管 SQL Server 实例的服务器上找到 master.dacpac 文件。
我怎样才能获得这个文件,这样我就可以摆脱如下警告:
SQL71502: Procedure: <ProcedureName> has an unresolved reference to object [sys].[objects]
Run Code Online (Sandbox Code Playgroud) 过去 15 天我一直在使用 SQL Server 2012,它运行良好,但现在我遇到了一个问题:
找不到一个或多个组件。请重新安装应用程序
我们目前使用一个监控工具,它通过等待任务的数量或总等待时间向我们显示我们的最高等待统计数据。以下是按等待任务数量以及每个任务的等待时间的等待统计数据。
我们有用户抱怨系统速度变慢,但服务器的指标在磁盘 IO、内存和 CPU 方面似乎很好。有谁知道 PREEMPTIVE 等待是否有问题?
Number of waiting tasks
SOS_SCHEDULER_YIELD
PAGELATCH_EX
PAGELATCH_SH
PREEMPTIVE_XE_CALLBACKEXECUTE
PREEMPTIVE_XE_GETTARGETSTATE
PREEMPTIVE_XE_SESSIONCOMMIT
Average wait per task
PAGEIOLATCH_SH
PREEMPTIVE_XE_GETTARGETSTATE
Run Code Online (Sandbox Code Playgroud)
更新:
我从 Paul Randal 运行了一个类似于您发布的查询并得到以下信息:
WaitType Wait_S Resource_S Signal_S WaitCount Percentage AvgWait_S AvgRes_S AvgSig_S
PREEMPTIVE_XE_GETTARGETSTATE 9704.81 9704.81 0.00 604647 44.60 0.0161 0.0161 0.0000
Run Code Online (Sandbox Code Playgroud)
我知道这不是很好,但基本上这种等待类型占所有等待类型的 %44.60。此外,由于这种类型没有信号等待,因此这表明没有 CPU 压力,而是在等待其他资源。不知道我是如何推断出该资源是什么的。
这也是 SQL 2012 SP1
更新2 此处请求的 AS 是您查询的结果。关于扩展事件,唯一运行的会话是我刚刚注意到的默认 system_health 1 和 2 SharePoint 会话,它们必须默认放置在那里。我可能会关闭这些,我想知道这些是否会导致问题。
有趣的是,我的 PREEMPTIVE_XE_GETTARGETSTATE 似乎不在此列表中。
wait_type wait_time_ms signal_wait_time_ms resource_wait_time_ms percent_total_waits percent_total_signal_waits percent_total_resource_waits
SP_SERVER_DIAGNOSTICS_SLEEP 300014 355508314 0 24.621089361251698 99.883069863550302 …Run Code Online (Sandbox Code Playgroud) performance sql-server sql-server-2012 wait-types performance-tuning
在 SSMS 代码编辑器(对于 SQL Server 2012)中,我在编辑器中编写了这段代码,应用了深色主题。当您单击一个变量时,SSMS 会突出显示该变量在范围内的所有其他出现。请注意,变量突出显示的颜色在背景中非常暗。

在“工具”>“选项”>“字体和颜色”菜单中,谁能告诉我哪个是Display items编辑此颜色的正确选择?我已经经历了所有可以看到大致匹配相同颜色的颜色,但没有一个实际上影响代码。
我想打开AllowRowLocks=ON多个索引。其中一些索引位于大表上,我真的不想重建或重新组织索引。
从MSDN文章中不清楚是否会重建索引。
作为此问题的次要相关部分,MSDN 文章指出正在逐步淘汰 this 的使用,不应再使用:
此功能将在 Microsoft SQL Server 的下一版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。而是使用 ALTER INDEX (Transact-SQL)。
看着ALTER INDEX,您似乎被迫重建或重组。我理解正确吗?通过ALTER INDEX我可以重置这个行锁定选项吗?
我正在使用 SQL Server 2012 并且我想保留我预先存在的数据但导致 ID(身份)列跳过 2000 行。
为什么会这样?我有一个场景,我可能会在备用服务器上发生事务,我需要将其复制到当前服务器。我希望 ID 匹配。因此,我不希望此服务器上的任何新事务与我的备用服务器具有相同的 ID。
希望这是有道理的!!谢谢
我是一名软件开发人员,只能读取我们的产品数据库(当然)。
有时,当我的 DBA 不可用时,我们的服务器上会出现性能问题。
是否有任何类型的查询可以运行(仅具有数据读取器权限)可以告诉我有关 SQL Server 当前运行状况的任何信息?
如果有某种边缘权限不允许更改有用的数据或架构,我可能会获得该权限。(例如,我被授予在我们的生产环境中监控复制的权限。)
sql-server-2012 ×10
sql-server ×8
alter-table ×1
backup ×1
ddl ×1
index ×1
index-tuning ×1
performance ×1
restore ×1
ssdt ×1
ssms ×1
t-sql ×1
wait-types ×1