在设置新的 SQL Server 时,我使用以下代码来确定设置的良好起点MAXDOP:
/*
This will recommend a MAXDOP setting appropriate for your machine's NUMA memory
configuration. You will need to evaluate this setting in a non-production
environment before moving it to production.
MAXDOP can be configured using:
EXEC sp_configure 'max degree of parallelism',X;
RECONFIGURE
If this instance is hosting a Sharepoint database, you MUST specify MAXDOP=1
(URL wrapped for readability)
http://blogs.msdn.com/b/rcormier/archive/2012/10/25/
you-shall-configure-your-maxdop-when-using-sharepoint-2013.aspx
Biztalk (all versions, including 2010):
MAXDOP = 1 is only required on the BizTalk …Run Code Online (Sandbox Code Playgroud) 现代 SQL Server 中有两种不同的页面验证选项;被撕裂页面检测和校验和。无当然也是一种选择。
我相信校验和是在 SQL Server 2005 中引入的,并且从先前版本升级或恢复数据库将保持其先前的页面验证方法。即没有隐式升级。
所涉及的问题是我们有一个生产数据库,该数据库使用 SQL Server 2000 投入生产,此后转移到 SQL Server 2008 R2 服务器。当我一直期望它是Torn Page Detection时,页面验证被设置为None。回顾这段时间,我们似乎认为 DB 最初是在 SQL Server 7.0 中开发的,然后迁移到 SQL Server 2000,这可以解释观察到的结果。
我想知道撕裂页面检测和校验和何时成为 SQL Server 的一项功能,以及它们在迁移或升级到新版本时的表现。
编辑:总结一些答案:
撕裂页面检测进入 SQL Server 的某些日期存在一些差异。
链接 1:http
: //support.microsoft.com/kb/230785
链接 2:http : //technet.microsoft.com/en-us/library/aa337525(v=sql.90).aspx
第一个链接指示 SQL 7.0 和第二个 SQL2000。我倾向于相信 SQL7.0 的建议,并且链接 2 对它在 SQL7.0 中默认关闭而在 SQL2000 中默认打开感到困惑。
我在 SQL Server 2000 上遇到了三个旧数据库,我需要将其迁移到 2012 年。我相信标准方法是恢复到 2005 年或 2008 年的实例,更新、重新导出并最终恢复到 2012 年。
很好,除了我们没有 2005 或 2008 实例可用。
是否有任何可能值得尝试的变通方法或其他方法?
作为参考,数据库只包含 15-20 个表和几个视图,它们看起来非常简单,备份大小只有 100-200MB。
sql-server migration sql-server-2000 restore sql-server-2012
我是管理 SQL Server 的新手,但我对 SQL 语言和制作 SSIS 包很满意。
我想将数据从 SQL Server 2005 迁移到 2016。
我的问题是我是否需要担心系统数据库和其他对象,例如索引、存储过程、视图、安全性和权限。登录或者我可以只迁移数据。
在这种情况下,这将是推荐的程序。
我需要从旧服务器自动迁移某些数据库。我知道使用 C# 编写一个工具脚本是一种可能性,但我需要一个简单、快速和有效的解决方案来构建一个批处理文件来完成这项工作。
我的公司正在将我们的基础设施迁移到新的数据中心,我正在尝试找出使新服务器上的数据库与当前生产数据库保持同步的最佳方法,直到新环境准备好投入使用。作为一名全职 DBA,我做了一些研究,从我所读到的内容来看,跨国复制设置似乎最适合我们的需求。
一些细节:生产数据库的大小约为 90 GB,使用 Robocopy 将其副本移动到其中一台新服务器需要大约 9 个小时。当前的生产数据库需要在整个迁移过程中保持在线和可访问。由于是简单恢复,所以数据库镜像不可用。
事务复制是保持数据库同步的最佳方法吗?
我的计划:
我心里有两件事。事务复制要求每个发布的表都有一个主键,而生产数据库中的很多表都没有定义主键。我不认为这会是一个太大的问题,因为我主要关心的是让数据库同步。我们将在稍后的数据中测试使用数据库的不同应用程序,但我想确保这不是一个严重的问题。其次,我是否还需要从原始实例中移动任何关联的系统 DB,例如 master?我们正在新环境中迁移到 Active Directory 设置,所以我不关心用户等,但我不确定系统 DB 的必要性。
总的来说,我是否正确理解了这些概念?
我们有相当多的 SQL Server 需要从 2005 版升级到 2008 R2。工作计划在今年年中之前完成,因为 Microsoft 将结束对它的支持。
2005 SQL Server 都是 SP3 和 SP4,运行在 Windows Server 2003(其支持已经结束,但我们有延长一年的例外),但在需要时我们也可能会升级服务器操作系统。
这些服务器包括复制(事务)、日志传送、报告服务和运行 SSIS 包的集成服务器。
我的问题不是如何,而是我想知道所涉及的风险或在计划此升级之前可以进行的任何预检查?
此外,对于此迁移/升级,就地升级是否是比并行升级更好的计划?
我在涉及复制的发布者上有一个数据库(为合并和事务配置的发布)。尝试重新控制此特定数据库的日志文件(VLF 计数、大小等)。
在尝试对日志文件执行任何维护之前,我需要对复制设置做些什么(或要小心)吗?我不是复制领域的专家,找不到任何可靠的东西来指导应该采取什么措施。
编辑:这也包括在分发数据库上工作,由于某种原因根本没有配置数据保留。
sql-server sql-server-2008-r2 merge-replication transactional-replication
我有一台运行 SQL Server 2008 Web 版的生产服务器,它必须保持 24x7 全天候运行,几乎没有停机时间,现在是我们转向更先进的服务器硬件的时候了,也是转向 SQL Server 的好机会2012年企业。
现在我的问题是,如何在不关闭数据库的情况下进行此迁移?例如在两台服务器之间设置一些东西作为复制左右,所以我在两台服务器上都有完全相同的数据库,然后我可以将主要服务关闭 1 分钟,更改数据库连接的 IP 地址从旧服务器到新服务器,我确信新服务器具有与旧服务器相同的副本。
我不能采用备份/恢复方法,因为它需要的时间超过可接受的时间,这就是为什么我需要一些东西来保证完全相同的数据库,就像我在做备份/恢复一样。5 分钟可能是可承受的最大停机时间。
数据库大小约为 100GB。
新服务器运行2012 Enterprise,旧服务器运行2008 Web
我可以异常地归档数据库中的记录,并将其大小最小化到 20GB 之类。
我可以选择将我的 SQL Server 2008 Web 版升级到企业版,如果这有助于更多解决方案,比如复制?
replication sql-server-2008 sql-server migration sql-server-2012
我需要获取 SQL 服务器迁移项目的数据库大小列表。我们要迁移的 SQL Server 服务器安装了三个实例,一个是默认实例,两个是命名实例。如果重要的话,它在 Server 2008 R2 上运行 SQL Server 2008 R2。
为了得到这个列表,我删除了我在上一个职位上作为事实上/意外 DBA 使用的旧 T-SQL“脚本”,它在默认实例上按预期工作,但没有返回任何一个命名实例的数据。
SELECT [Database Name] = DB_NAME(database_id),
[Type] = CASE WHEN Type_Desc = 'ROWS' THEN 'Data File(s)'
WHEN Type_Desc = 'LOG' THEN 'Log File(s)'
ELSE Type_Desc END,
[Size in MB] = CAST( ((SUM(Size)* 8) / 1024.0) AS DECIMAL(18,2) )
FROM sys.master_files
GROUP BY GROUPING SETS
(
(DB_NAME(database_id), Type_Desc),
(DB_NAME(database_id))
)
ORDER BY DB_NAME(database_id), Type_Desc DESC
GO
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我原因(以及如何解决),或提出更好的解决方案吗?
(它一定是FROM sys.master_files一点,因为它还能是什么,但我不确定我应该在命名实例上使用什么。)
编辑:下面是我在我的命名实例上看到的内容,无论如何......所以如果这段代码确实/应该适用于命名实例,那么关于它为什么不适用于这些实例的想法将不胜感激。