就在最近,我让一位开发人员意外地尝试将数据库恢复到生产环境,而他本应恢复到临时副本。这很容易做到,因为数据库名称相似,即 CustomerName_Staging 与 CustomerName_Production。
理想情况下,我会将这些放在完全独立的盒子上,但这成本太高,而且,严格来说,如果用户连接到错误的盒子,它不会阻止同样的事情发生。
这本身并不是一个安全问题——它是使用临时数据库的正确用户,如果在生产数据库上有工作要做,那也是他。我很想有一个部署官来解决这些问题,但团队不够大。
我很想听听关于如何防止这种情况的实践、配置和控制方面的一些建议。
还是应该将 perfmon 限制为具有模拟生产活动的负载测试的 Dev/QA 服务器?
我想运行 perfmon 两天(就像 Sql Server master Brent Ozar 建议的那样)来全面了解我的 web 应用程序的数据库性能。
每个 SQL Server 数据库管理员都应该知道哪些事情?
书籍、博客、工具,应有尽有。
如何在不重新安装的情况下重命名 SQL Server 2008 实例?
例如,如果数据库被引用为“MySQLServer\MSSQL2008”,我该如何重命名为“MySQLServer\SQL2008”?
我正在尝试连接到 sql server 数据库时出现此错误
Database 'XXX' is in transition. Try the statement later.
Run Code Online (Sandbox Code Playgroud)
我今天早些时候取消了一个长查询,但由于某种原因,我无法恢复数据库。有什么我可以做的吗?
最近,我们将 Windows 2008 R2 数据库服务器从X5470 升级到X5560。理论上,两个 CPU 的性能非常相似,如果有的话,X5560 稍微快一点。
但是,SQL Server 2008 R2 的性能在过去一天左右的时间里一直很糟糕,CPU 使用率也很高。
页面的预期寿命很长,页面的缓存命中率几乎达到 100%,因此内存不是问题。
当我跑:
SELECT * FROM sys.dm_os_wait_stats
order by signal_wait_time_ms desc
Run Code Online (Sandbox Code Playgroud)
我有:
wait_type waiting_tasks_count wait_time_ms max_wait_time_ms signal_wait_time_ms -------------------------------------------------- —————————————————————————— -------------------- -------------------- XE_TIMER_EVENT 115166 2799125790 30165 2799125065 REQUEST_FOR_DEADLOCK_SEARCH 559393 2799053973 5180 2799053973 SOS_SCHEDULER_YIELD 152289883 189948844 960 189756877 CXPACKET 234638389 2383701040 141334 118796827 睡眠任务 170743505 1525669557 1406 76485386 LATCH_EX 97301008 810738519 1107 55093884 LOGMGR_QUEUE 16525384 2798527632 20751319 4083713 写日志 …
将日志和数据文件分开以将磁盘与操作系统分开的标准做法(临时数据库、备份和交换文件也是如此) 当您的驱动器都是基于 SAN 并且您的 LUN 不是由特定磁盘或突袭集雕刻时,这种逻辑是否仍然有意义-它们只是 SAN 上 x 个驱动器的一部分,而 LUN 只是空间分配
我正在运行 Sql 2008 的 Windows Server 2003 机器上安装客户端的 ASP.net 站点。
该站点使用 Report Viewer 2012,但是当我尝试在服务器上安装它时,我收到消息“Sql Server 2012 的 CLR 类型”丢失。
有谁知道是否可以在 SQL 2008 和 Sql 2012 的情况下安装 2012 CLR 类型?
非常感谢。
我们需要使用SQL Server 跟踪标志 7646来帮助缓解一些全文阻塞,但我很沮丧地发现跟踪标志“未设置”本身,可能是在数据库服务器重新启动时。
我用过
DBCC TRACEON (7646, -1)
Run Code Online (Sandbox Code Playgroud)
设置跟踪标志和
DBCC TRACESTATUS
Run Code Online (Sandbox Code Playgroud)
显示所有跟踪标志,它告诉我它没有设置(重启后,我猜)。要永久设置跟踪标志,我这样做了:
并添加
;-T{跟踪编号}
到最后,就像这样......
-dD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;-eD:\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf ;-T7646
那是对的吗?我在SQL Server Startup Parameters 的语法上发现了相互矛盾的结果。
我听说 MS SQL Server 会占用尽可能多的 RAM 来缓存结果。好吧,它没有为我们的小服务器的 RAM 留下足够的讨价还价空间。
如何更改设置以限制它可以使用的 RAM 量?
在 Windows Server 2008 上运行的 MS SQL Server。
sql-server ×10
iscsi ×1
lun ×1
perfmon ×1
performance ×1
sqlclr ×1
ssrs ×1
trace ×1
windows ×1