日度归档:2018年7月11日

mssql sqlserver 反斜杠(换行符)的用法简介


摘要:
下文分享sqlserver中sql脚本,使用反斜杠将一行字符分成两行字符进行编写的方法


在sql脚本中,\(反斜杠),可将长字符串分成多行进行编写,方便代码阅读。

反斜杠语法:

第一行字符\
第二行字符

说明:
sql脚本中,将返回第一行字符加上第二个字符,会剔除一个回车键和一个反斜杠

—————-

反斜杠举例应用:

 declare @a varchar(2000)
set @a ='maomao\
365.com'
print @a 
-----输出-----
maomao365.com
mssql_sqlserver_sql脚本_反斜杠的用法说明

mssql_sqlserver_sql脚本_反斜杠的用法说明

mssql sqlserver DBCC CHECKDB关键字的用法简介


摘要:
DBCC CHECKDB关键应用于对数据库进行完整性检查,
修复数据库损坏,使数据库能够被重新访问
涉及对数据库操作如下所示:
1 检查系统表
2 进行CHECKALLOC 检查
3 进行CHECKTABLE 检查
4 进行CHECKCATALOG 检查
5 验证索引视图中的内容是否完整
6 验证Service Broker数据



一、CHECKDB语法说明简介

DBCC CHECKDB
(
{ ‘database_name’ | database_id | 0 }
[ , NOINDEX
| { REPAIR_ALLOW_DATA_LOSS
| REPAIR_FAST
| REPAIR_REBUILD
}]

)
[ WITH
{
[ ALL_ERRORMSGS ]
[ , [ NO_INFOMSGS ] ]
[ , [ TABLOCK ] ]
[ , [ ESTIMATEONLY ] ]
[ , [ PHYSICAL_ONLY ] ]
[ , [ DATA_PURITY ] ]
[ , [ EXTENDED_LOGICAL_CHECKS ] ]
}
]
参数说明:
database_name | database_id | 0:
待检查数据库的名称或数据库Id或0(输入0代表当前数据库)
NOINDEX:
不对用户表的非聚集索引执行检查,减少检查时间
REPAIR_ALLOW_DATA_LOSS:
修复报告所有错误,可能会导致数据丢失
REPAIR_ALLOW_DATA_LOSS 选项是受支持的功能,但是,它可能并非总是使数据库处于物理上一致的状态的最佳选项。 如果成功,REPAIR_ALLOW_DATA_LOSS 选项可能会导致一些数据丢失。
实际上,它可能导致的数据丢失多于用户从上次已知成功备份还原数据库导致的数据丢失。

REPAIR_ALLOW_DATA_LOSS 选项不是从已知成功备份还原的替代方法。 这是一个紧急选项,仅当不可从备份恢复时建议作为“最后手段”使用。

REPAIR_FAST:
向后兼容
REPAIR_REBUILD:
修复操作不会丢失数据
ALL_ERRORMSGS:
显示所有错误信息,缺省条件下也显示所有错误信息
EXTENDED_LOGICAL_CHECKS:
如果兼容性级别为 100 ( SQL Server 2008) 或更高,则对索引视图、XML 索引和空间索引(如果存在)执行逻辑一致性检查。
NO_INFOMSGS:
取消所有信息性消息显示
TABLOCK:
使DBCC CHECKDB 获取锁,而不使用内部数据库快照。 这包括一个短期数据库排他 (X) 锁。 TABLOCK 可使 DBCC CHECKDB 在负荷较重的数据库上运行得更快,但 DBCC CHECKDB 运行时会减少数据库上可获得的并发性。
ESTIMATEONLY:
显示运行包含所有其他指定选项的 DBCC CHECKDB 时所需的 tempdb 空间估计量。 不执行实际数据库检查。
PHYSICAL_ONLY:
将检查限制为页和记录标头的物理结构完整性以及数据库的分配一致性。 设计该检查是为了以较小的开销检查数据库的物理一致性,但它还可以检测会危及用户数据安全的残缺页、校验和错误以及常见的硬件故障。
DBCC CHECKDB 完成运行所需的时间可能比早期版本要长得多。
逻辑检查更加全面。
要检查的某些基础结构更为复杂。
引入了许多新的检查以包含新增功能。
因此,使用 PHYSICAL_ONLY 选项可能会大幅减少对较大数据库运行 DBCC CHECKDB 所需的时间,所以对需要频繁检查的生产系统,建议使用此选项。 我们仍然建议完整地定期执行 DBCC CHECKDB。 这些运行的执行频率取决于各业务和生产环境特定的因素。
此参数始终表示 NO_INFOMSGS,不能与任何一个修复选项一同使用。


二、CHECKDB举例应用

--对当前数据库执行checkDb操作    
DBCC CHECKDB;    
GO        
---对数据库test进行检查,不对非聚集索引进行检查
DBCC CHECKDB (test, NOINDEX);    
GO    
---检查当前数据库,取消信息性消息 
DBCC CHECKDB WITH NO_INFOMSGS;    
GO

mssql sqlserver DBCC CHECKCONSTRAINTS 关键字用法简介


摘要:
下文讲述 DBCC CHECKCONSTRAINTS功能描述及举例说明
实验环境:sql server 2008 R2



一、DBCC CHECKCONSTRAINTS 关键字简介

DBCC CHECKCONSTRAINTS 功能说明:
CHECKCONSTRAINTS应用于检查当前数据库的指定表上的约束完整性,或整个数据库上的约束完整性
此约束检查包括对(外键约束和指定的check约束)
运行此命令,需要拥有sysadmin权限
—————————————————————
DBCC CHECKCONSTRAINTS 语法说明:
DBCC CHECKCONSTRAINTS
[
(table_name | table_id | constraint_name | constraint_id)
]
[ WITH
[ { ALL_CONSTRAINTS | ALL_ERRORMSGS } ]
[ , ] [ NO_INFOMSGS ]
]
——————————参数说明————————-
table_name | table_id | constraint_name | constraint_id:
分为为 表名 表名ID 约束名 约束名iD
如果此参数未指定,则检查整个数据库上表的约束完整性
ALL_CONSTRAINTS:
如果此参数指定,则检查表或数据库上所有约束(启用和禁用),否则只对已启用的约束进行检查,如果指定了约束名,则此参数无任何作用。
ALL_ERRORMSGS:
返回违反约束的所有行,此参数缺省则只返回前200行
NO_INFOMSGS:
取消所有信息性消息

返回值说明:
Table Name:违反约束的表名称
Constraint Name:约束名称
Where:约束所对应的where条件信息,可定位至相应的数据



二、DBCC CHECKCONSTRAINTS 关键字举例说明

 CREATE TABLE test (keyId int, info char (30));  
GO  
INSERT INTO test VALUES (888, 'testInformation');  
GO  
ALTER TABLE test WITH NOCHECK ADD CONSTRAINT chkTest CHECK (keyId > 8880);  
GO  
DBCC CHECKCONSTRAINTS(test);  
GO  

truncate table test 
drop table test 
 -----------------------------------------
DBCC CHECKCONSTRAINTS WITH ALL_CONSTRAINTS;    ---检查整个数据库的约束
GO  
mssql_sqlserver_DBCC_CHECKCONSTRAINTS用法说明

mssql_sqlserver_DBCC_CHECKCONSTRAINTS用法说明