摘要:
前记:原系统挂了,把用户数据库移到新服务器上,附加后出现很多孤立用户。然后一个一个排除很麻烦。才想起了备份系统数据库是多么重要啊。以下是孤立用户的解决方法。sqlserver的用户安全管理分两层,整个服务器一层,每个数据库一层。一个用户,在每一层上都有账号,在两个层面上都会分配不同的权力。服务器层的账号,叫登录账号(Login),可以设置它管理整个sqlserver服务器,开启跟踪,修改sqlserver安全配置,备份所有数据库等。数据库层的账号,叫数据库用户(databaseuser),可以设置对这个特定数据库有读写,修改表结构、存储过程定义等权限。所以服务器层面的安全,是设置在服务器的登录 阅读全文
摘要:
运行以下sql。INSERTINTO[AdventureWorks].[Person].[Address]( [AddressLine1],[AddressLine2],[City],[StateProvinceID],[PostalCode],[rowguid],[ModifiedDate])VALUES( '1313MockingbirdLane', 'Basement', 'Springfield', '79', '02134',NEWID(),GETDATE() );执行计划如下图:首先我们看到的是一个常量 阅读全文
摘要:
临时表:sqlserver会在上面维护统计信息,用户也可建立索引。表变量:不能创建索引,也不会有统计信息。sqlserver在做执行计划的时候,总是认为表变量里的数据量只有很少的几行。-----------------------------------------------------------------------总结:表变量:好处:维护成本低,大量并发使用时对系统的负担比临时表低。缺点:没有统计信息,存放大量数据时,性能不好。适合存放一些很小的结果集(几十行甚至更小)临时表好处:功能和普通用户表接近,能够为大数据集做优化缺点:维护成本比较高。大量并发使用时,会对系统带来比较重的负担 阅读全文
摘要:
net use //ip/ipc$ " " /user:" " 建立IPC空链接 net use //ip/ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: //ip/c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: //ip/c$ 登陆后映射对方C:到本地为H: net use //ip/ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 n 阅读全文
摘要:
PAGEIOLATCH-SH 磁盘度等待(说明此进程正在从磁盘读数据) 阅读全文
摘要:
根据备份的目标分为:数据备份和日志备份根据备份下来的文件范围分为:完整数据库备份,文件备份和部分备份。从是否拷贝所所有的数据来分:完成备份和差异备份完整数据库备份拷贝下数据库里的所有信息,通过一个单个完整备份,就能将数据库恢复到某一个时间点的状态。由于数据库备份是一个在线的操作,数据库会发生变化,所以还要对部分事务日志做备份,以便能够恢复数据库到一个事务一致的状态。备注: 完整备份拷贝的信息包括数据和部分事务日志的信息,事务日志的作用是能将数据库恢复到一个事务一致的状态。文件备份指备份一个或者多个文件或文件组中的所有数据。部分备份是sql 2005中新增的功能。默认只包含数据库可读写部分。因为 阅读全文
摘要:
今天有人不小心使用update语句时,忘记加条件了,把整个表的数据都更新了。这时候恢复数据库,测试后,步骤如下:先备份日志文件,还原数据库,一个最近的完整备份文件,刚刚备份的日志文件,恢复到某一个时间点,就可恢复到update之前的状态了。有一点很重要,如果当时发现,可以只作事物日志备份,然后再还原。但是如果是事后才发现,要求还原到某一点时,要做日志尾部备份,然后还原。不然会因为日志被截断而无法还原到某一点上。 阅读全文
摘要:
--本月 ,上月,本季度,本年SELECT CONVERT(datetime,CONVERT(char(8),GETDATE (),120)+ '1 ') --月第一天SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,GETDATE ()),120)+ '1 ') --月最后一天SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(M,-1,GETDATE ()),120)+ '1 ') --上个月第一天SELECT DATEADD(Day,-1, 阅读全文