维护MSSQL(SQL SERVER)的几条经验



1.数据库用久了,表的索引碎片太多,速度变慢,需要重新组织、重新生成索引

步骤:展开表>索引>右键

2.数据库使用久了,数据库或日志占用磁盘空间大。需要缩小日志、数据库。步骤:
1).数据库>右键>属性>选项>恢复模式 设置为“简单”
2).数据库>右键>任务>收缩>数据库、文件
3).再把1中的“恢复模式”改为原来的模式

3.跨库查询,建立dblink:

假如一个库DB5在 192.168.1.5上,另一个库DB10在192.168.1.10的服务器上。在DB5的存储过程里要操作DB10的表,此时可以在DB5上建一个连接DB10数据库的链接。

步骤:

1).展开 服务器对象>链接服务器>右键 新建链接服务器


2).在弹出窗口中
2.1).常规选项卡

 链接服务器,随便填写一个名称如 LinkDB10,服务器类型选“其它数据源”;访问接口选“SQL Native Client”;产品名称写前面的 LinkDB10,数据源写另一个库所在的IP及端口 如192.168.1.10,3333;如果是默认1433端口可以不写;目录写数据库名称如 DB10


 2.2).安全性选项卡

 选择“使用此安全上下文建立链接”,输入DB10的数据库登录名及密码。如 sa 123456


 2.3).服务器选项 选项卡

 前5个全设置为True


测试,假设DB10里有一张Table1表:
SELECT TOP 10 * FROM LinkDB10.DB10.dbo.Table1;
注意,此方法跨库可能引起 @@identity 返回值为NULL问题,用到@@identity 需要换另一种方法取值


4.用Profiler 捕获正在执行脚本,分析效率等,类似抓包
打开步骤:工具>Sql Server Profiler

5.sql prompt:
除了智能感知外,可解密单个加密的视图、存储过程

6.主键重新递增
方法1:不要表中的数据,直接执行:
TRUNCATE TABLE 表名;
方法2:先去除递增,保存。再打开递增,保存。(主要用于保留表中的一部分数据,后面的做递增的情况);

7.表中数据量大,加索引或加字段容易卡死。使用以下方法,步骤:
1).在表上点右键 “设计”或“修改”
2).进行操作,操作完不点保存
3).在当前窗口点右键>生成更改脚本。拷出脚本打开查询窗口执行。
4).拷出脚本去执行。

8.加字段太慢:
不加默认值可瞬间完成,如:
ALTER TABLE ADD feild1;

加完字段field1的值为NULL


9.作业:
SQL Server 代理>作业
可进行定时执行某sql脚本任务,如备份(需自己写sql)等

可视化自动备份:

管理>维护计划向导>填写一个名字如“每周自动备份”> 点更改 进入时间配置 >下一步 选择 “备份数据库完整”或“备份数据库差异”>下一步


10.附加数据库时,发现拷了一个数据库文件,但没有把数据库日志文件一起拷过来。

附加时把日志路径删除即可。



以上操作皆在SQL Server Management Studio中进行。

类别:数据库   阅读(0)   评论(0)    发表时间:2018-06-08 22:19  星期五

评论区

发表评论

        姓名:
邮箱|网站:
        内容:

  (可按Ctrl+Enter提交)