SQLSERVER修复小知识
在与数据库打交道的工作中时常会碰到一些数据库的错误,这就涉及到了修复的过程,以下知识点都是从网上收集而来:
1、dbcc checkdb
这个命令恐怕是我们最常用的了,带检查和修复功能
语法格式:
DBCC CHECKDB
[
[ ( database_name | database_id | 0
[ , NOINDEX
| , { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ]
) ]
[ WITH
{
[ ALL_ERRORMSGS ]
[ , EXTENDED_LOGICAL_CHECKS ]
[ , NO_INFOMSGS ]
[ , TABLOCK ]
[ , ESTIMATEONLY ]
[ , { PHYSICAL_ONLY | DATA_PURITY } ]
}
]
]
REPAIR_ALLOW_DATA_LOSS 该参数会尝试修复所有错误,但在修复的过程中会出现数据的丢失
REPAIR_FAST 该参数进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失 数据的危险。
REPAIR_REBUILD 该参数执行由 REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不 会有丢失数据的危险。
DBCC CHECKDB 对索引视图执行物理一致性检查。只用于向后兼容的 NOINDEX 选项也适用于索引视图上的任何辅助索引。
DBCC CHECKDB 是最安全的修复语句,因为它对最多的可能出现的各种错误进行标识和修复。如果只报告数据库中有分配错误,请执行带修复选项的 DBCC CHECKALLOC 以对这些错误进行修复。然而,若要确保正确修复所有错误(包括分配错误),请执行带修复选项的 DBCC CHECKDB,而不要执行带修复选项的 DBCC CHECKALLOC。
DBCC CHECKDB 对数据库中所有内容的完整性进行验证。如果当前正在执行或最近已执行 DBCC CHECKDB,则不需要运行 DBCC CHECKALLOC 或 DBCC CHECKTA
相关文档:
SQL SERVER临时表
也可以创建临时表。临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。
有本地和全局两种类型的临时表,二者在名称、可见性和可用性上均不相同。本地临时表的名称以单个数字符号 (#) 打头;
它们仅对当前的用户连接是可见的;当用户从 Microsoft? SQL Server? 2000 实例断 ......
CREATE function fGetPy(@str varchar(500)='')
returns varchar(500)
as
begin
declare @strlen int,@return varchar(500),@ii int
declare @c nchar(1),@chn nchar(1)
select @strlen=len(@str),@retur ......
今天一不冷静就把sqlserver数据库初始化了,在网上找了半天发现了几篇帖子,受益非浅,记录下
DB2中可以使得数据库回复到指定的时间点,SQL Server数据库的Recovery Model为full 或者Bulk copy的时候,是可以从日志来恢复数据库的。实际上日志中记录的一条一条的transact sql语句,恢复数据库的时候会redo这些sql语句。&nb ......
package cn.ctgu.edu.ac;
import java.sql.*;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String url="jdbc:sqlserver://localhost:1433;Database=网上书店管理系统;integr ......