SQL Server数据库管理常用SQL和T-SQL语句
### SQL Server数据库管理常用SQL和T-SQL语句详解 #### 一、系统信息查询 **1. 查询服务器版本信息** ```sql SELECT @@VERSION; ``` 此命令用于获取当前SQL Server实例的版本信息。 **2. 查询服务器详细信息** ```sql EXEC master..xp_msver; ``` 通过执行这个扩展存储过程可以获取服务器更详细的版本信息。 **3. 查询服务器配置** ```sql EXEC sp_configure; ``` 该命令用来显示或修改SQL Server实例的配置设置。 **4. 查询服务器时间** ```sql SELECT CONVERT(VARCHAR(30), LOGIN_TIME, 120) FROM master..sysprocesses WHERE SPID = 1; ``` 此命令可用来查看登录时间,其中`120`为日期格式代码,可以根据需求调整。 **5. 打印服务器名称和实例名** ```sql PRINT 'ServerName: ' + CONVERT(VARCHAR(30), @@SERVERNAME); PRINT 'Instance: ' + CONVERT(VARCHAR(30), @@SERVICENAME); ``` 这两行命令用于打印服务器名称和实例名称。 #### 二、数据库操作 **6. 查看数据库信息** ```sql EXEC sp_helpdb; ``` 该命令可以列出所有数据库的信息。 **7. 重命名数据库** ```sql EXEC sp_renamedb 'old_dbname', 'new_dbname'; ``` 使用此命令可以更改数据库名称。 #### 三、用户管理 **8. 查看登录用户信息** ```sql EXEC sp_helplogin; ``` 该命令列出所有登录到SQL Server的用户信息。 **9. 查看服务器角色成员信息** ```sql EXEC sp_helpsrvrolemember; ``` 通过执行这个命令可以查看服务器角色成员的信息。 **10. 修改用户权限** ```sql EXEC sp_changeobjectowner @objectname='object', @newowner='owner'; ``` 此命令用于更改对象的所有者。 **11. 添加登录用户到服务器** ```sql EXEC sp_add_login_to_server 'username', 'password'; ``` 添加一个新的登录用户到服务器上。 #### 四、连接服务器操作 **12. 查看链接服务器登录信息** ```sql EXEC sp_helplinkedsrvlogin; ``` 此命令用于查看链接服务器登录信息。 **13. 查看远程服务器登录信息** ```sql EXEC sp_helpremotelogin; ``` 使用该命令可以查看远程服务器的登录信息。 #### 五、表空间管理 **14. 查看表空间大小** ```sql EXEC sp_spaceused @objname; ``` 此命令用于查看指定对象的表空间使用情况。 **15. 查看表索引信息** ```sql EXEC sp_helpindex @objname; ``` 此命令用来查看指定表的索引信息。 **16. 查看表约束信息** ```sql EXEC sp_helpconstraint @objname; ``` 此命令用于查看指定表的约束信息。 #### 六、存储过程管理 **17. 查看存储过程列表** ```sql USE @database_name; EXEC sp_stored_procedures; ``` 该命令可以列出指定数据库中的所有存储过程。 **18. 查看存储过程定义** ```sql EXEC sp_helptext '@procedure_name'; ``` 此命令用于查看存储过程的定义信息。 **19. 查找含有特定字符串的对象** ```sql SELECT DISTINCT object_name(id) FROM syscomments WHERE text LIKE '%@str%'; ``` 该命令可用于查找含有特定字符串的对象。 **20. 解密加密的存储过程** ```sql EXEC sp_decrypt; ``` 如果存储过程中包含了加密信息,则可以通过该命令解密。 #### 七、活动会话查询 **21. 查看活动会话信息** ```sql EXEC sp_who; ``` 此命令可以查看当前活跃的会话信息。 **22. 查看活动会话的详细信息** ```sql EXEC sp_who 'active'; ``` 通过该命令可以获取当前活跃会话的更多细节信息。 **23. 查看锁信息** ```sql EXEC sp_lock; ``` 此命令用于查看锁的状态信息。 **24. 查看当前正在执行的SQL** ```sql DBCC INPUTBUFFER(); ``` 此命令可以用来查看当前正在执行的SQL语句。 **25. 结合使用其他命令** ```sql EXEC sp_who3; EXEC sp_who_lock; ``` 这些命令结合使用可以更详细地了解会话状态。 #### 八、事务日志管理 **26. 缩小事务日志文件大小** ```sql DBCC SHRINKFILE(@database_name_log, 5); ``` 此命令可以缩小指定的日志文件大小。 #### 九、性能监控设置 **27. 开启统计时间** ```sql SET STATISTICS TIME ON; ``` 开启后可以显示查询执行的时间统计信息。 **28. 开启统计IO** ```sql SET STATISTICS IO ON; ``` 开启后可以显示查询执行时的I/O统计信息。 **29. 显示查询计划** ```sql SET SHOWPLAN_ALL ON; ``` 开启后可以在执行查询前看到查询的执行计划。 **30. 开启统计分析** ```sql SET STATISTICS PROFILE ON; ``` 开启后可以查看查询的详细执行过程。 #### 十、故障修复 **31. 检查并修复数据损坏** ```sql ALTER DATABASE [@error_database_name] SET SINGLE_USER; DBCC CHECKTABLE('@error_table_name', REPAIR_ALLOW_DATA_LOSS); ALTER DATABASE [@error_database_name] SET MULTI_USER; ``` 当遇到数据损坏时,可以先将数据库设为单用户模式,然后尝试修复损坏的表,并在完成后恢复多用户模式。 **32. 检查并修复整个数据库** ```sql DBCC CHECKDB('@error_database_name', REPAIR_ALLOW_DATA_LOSS); ``` 此命令用于检查并修复整个数据库的数据损坏问题,可能需要较长时间。 以上这些SQL和T-SQL语句是SQL Server数据库管理中的常用命令,涵盖了服务器信息查询、数据库管理、用户管理、存储过程管理等多个方面,对于日常维护和故障排查都具有重要的作用。在实际操作中,应根据具体情况选择合适的命令进行使用。
2012-02-07 10:11
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
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
剩余6页未读,继续阅读
- 粉丝: 1
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助