SQL Server 数据库管理常用的SQL和T-SQL语句

1. 看数据 的版本
select @@version

2.
看数据 所在机器操作系 参数
exec master..xp_msver

3.
看数据 的参数
sp_configure

4.
看数据 动时间
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1

看数据 器名和 例名
print 'Server Name...............: ' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................: ' + convert(varchar(30),@@SERVICENAME)
5.
看所有数据 名称及大小
sp_helpdb

重命名数据 用的 SQL
sp_renamedb 'old_dbname', 'new_dbname'

6.
看所有数据 信息
sp_helplogins

看所有数据 所属的角色信息
sp_helpsrvrolemember

迁移服 孤立用 户时 , 可以用的 fix_orphan_user 脚本或者 LoneUser

更改某个数据 象的用 属主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'

注意 : 更改 象名的任一部分都可能破坏脚本和存 储过 程。

把一台服 器上的数据 信息 份出来可以用 add_login_to_aserver 脚本

7.
接服
sp_helplinkedsrvlogin

端数据 信息
sp_helpremotelogin

8.
看某数据 下某个数据 象的大小
sp_spaceused @objname

可以用 sp_toptables 程看最大的 N( 认为 50) 个表

看某数据 下某个数据 象的索引信息
sp_helpindex @objname

可以用 SP_NChelpindex 看更 详细 的索引情况
SP_NChelpindex @objname

clustered
索引是把 记录 按物理 序排列的,索引占的空 少。
对键值 DML 操作十分 繁的表我建 用非 clustered 索引和 束, fillfactor 参数都用默 认值
看某数据 下某个数据 象的的 束信息
sp_helpconstraint @objname

9.
看数据 里所有的存 储过 程和函数
use @database_name
sp_stored_procedures
看存 储过 程和函数的源代
sp_helptext '@procedure_name'

看包含某个字符串 @str 的数据 象名称
select distinct object_name(id) from syscomments where text like '%@str%'

建加密的存 储过 程或函数在 AS 前面加 WITH ENCRYPTION 参数

解密加密 的存 储过 程和函数可以用 sp_decrypt

10.
看数据 里用 程的信息
sp_who
SQL Server 数据 里的活 程的信息
sp_who 'active'
SQL Server 数据 里的 的情况
sp_lock

程号 1--50 SQL Server 内部用的 , 程号大于 50 的才是用 .
spid
,dbid 是数据 库编 ,objid 是数据
程正在 行的 SQL
dbcc inputbuffer ()

推荐大家用 经过 后的 sp_who3 程可以直接看到 程运行的 SQL
sp_who3

检查 sp_who_lock
sp_who_lock

11.
数据 日志文件的方法
缩简单 模式数据 日志,收 @database_name_log 的大小 M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.
分析 SQL Server SQL 句的方法 :

set statistics time {on | off}
set statistics io {on | off}
形方式 查询执

查询 分析器 -> 查询 -> 示估 (D)-Ctrl-L 或者点 工具 里的

文本方式 查询执
set showplan_all {on | off}

set showplan_text { on | off }
set statistics profile { on | off }

13.
不一致 错误时 NT 事件 看器里出 3624 错误 ,修 数据 的方法

先注 用程序里引用的出 不一致性 错误 的表,然后在 份或其它机器上先恢 然后做修 操作

alter database [@error_database_name] set single_user

不一致 错误 的表

dbcc checktable('@error_table_name',repair_allow_data_loss)

或者可惜 选择 不一致 错误 的小型数据

dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB
3 个参数 :
repair_allow_data_loss
包括 行和 页进 行分配和取消分配以改正分配 错误 构行或 错误
以及 除已 坏的文本 象, 些修 可能会 致一些数据 失。
操作可以在用 下完成以允 所做的更改。
如果回 数据 仍会含有 错误 应该 行恢
如果由于所提供修 漏某个 错误 的修 漏任何取决于 的修
完成后, 请备 份数据
repair_fast
行小的、不耗 的修 操作,如修 非聚集索引中的附加
些修 可以很快完成,并且不会有 失数据的危
repair_rebuild
行由 repair_fast 完成的所有修 ,包括需要 较长时间 的修 (如重建索引)。
些修 复时 不会有 失数据的危

你可能感兴趣的:(sql,SQL Server,XP,脚本)