微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer: 迁新服务器常见的初始准备工作

一、检查即时初始化是否开启, 没有开启则开通相关权限并开启。相关文档:点击打开链接

二、检查sql Server中的计算机名与实际计算机名是否一致,不一致则应该修正:

IF SERVERPROPERTY('servername') <> @@servername
BEGIN
    DECLARE @server SYSNAME
    SET @server = @@servername
    EXEC sp_dropserver @server = @server
    SET @server = CAST(SERVERPROPERTY('servername') AS SYSNAME)
    EXEC sp_addserver @server = @server,@local = 'LOCAL'

    PRINT 'ok'
END

SELECT @@SERVERNAME,SERVERPROPERTY('servername')

 

三、tempdb文件设置为8个固定的数据文件(主要是优化并发性能)和一个日志文件, 类似下图:

--大的平台8*8G--8*12G,小的8*1G或8*2G, 要导大型报表的应该大一些。 如果磁盘比较紧张,可以设置稍小一点,后面监控tempdb的使用情况再来修改

--但还是尽量在前期做好,后面修改需要重启sql Server服务,比较麻烦。

四、检测数据库服务器各个磁盘的 IO 。工具见 点击打开链接 。

如果DB所在的磁盘IO性能太差(seq read<100MB/s,4k read<1.2MB/s),必须及时反馈和跟进。

五、设置正式数据库的增长量。

--  一般设置为 50MB~150MB (按上面的IO检测性能来,如果够好还可以设置大一些)。

--  设置为固定值MB增长,太大太小都会影响性能;设置为按百分比增长,则可能影响性能,浪费磁盘空间、容易导致磁盘空间爆满。

六、设置正式数据库的基于行版本的控制级别。

这一步必须在没有连接上任何应用时做,因为一旦连接上很可能就设置不了。

连接上了生产环境的应用,则应该在晚上或者其它基本没有用户使用时操作。

方法1:脚本操作:

--注:下面的数据库名 mydb 有四处, 如改设置其它库, 请自行查找替换!
--1. 杀进程
DECLARE @sql NVARCHAR(MAX),@currdbname NVARCHAR(100)
SET @currdbname='mydb' --如果在当前库上执行,可改为: SET @currdbname = DB_NAME()
WHILE EXISTS( SELECT 1 FROM sys.sysprocesses WHERE dbid=DB_ID(@currdbname) AND spid!=@@SPID )
    SELECT TOP 1 @sql='kill '+CAST(spid AS NVARCHAR(50)) FROM sys.sysprocesses WHERE dbid=DB_ID(@currdbname) AND spid!=@@SPID 
EXEC (@sql
END
--2. 修改行版本控制级别
ALTER DATABASE mydb SET ALLOW_SNAPSHOT_ISOLATION ON
Go
ALTER DATABASE mydb SET READ_COMMITTED_SNAPSHOT ON
GO
--3. 查看是否已修改过来(两个1才是正确的)
SELECT [name]
,snapshot_isolation_state

FROM master.sys.databases
WHERE NAME='mydb'

方法2:如果脚本无法生效,那就得改用单用户模式进入再操作, 这就不赘述了。

七、增加一个专用于监控(主要是sqlClr存储过程来监控cpu)的数据库名称格式:monitor_地区_项目_本地ip(或外网IP) 。

八、WinServer2008安装framework3.5 sp1(自身带),安装framework4.5.2 framework4.5.2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐