SQLServer数据库DBA - 零散知识积累

注:以下内容使用的软件版本为:Microsoft SQL Server 2017 (RTM-GDR) (KB4583456) - 14.0.2037.2 (X64)

强制参数化

ALTER DATABASE PARAMETERIZATION =Force

解决数据库日志大小的问题

1:属性->选项->恢复模式:设为简单
2:任务->收缩->数据库
3:属性->文件->日志,最大设为1024M

设置数据库模式为简单

ALTER DATABASE [] SET RECOVERY SIMPLE

查询所有数据库的大小

with fs
as
(
    select database_id, type, size * 8.0 / 1024 size
    from sys.master_files
)
select 
    name,
    (select   cast(round(sum(size),2)   as   numeric(15,2))  from fs where type = 0 and fs.database_id = db.database_id) DataFileSizeMB,
    (select cast(round(sum(size),2)   as   numeric(15,2))  from fs where type = 1 and fs.database_id = db.database_id) LogFileSizeMB
from sys.databases db
order by 2 desc;

查询当前数据库的大小

EXEC sp_spaceused

删除保存的用户名和密码

删除文件夹C:\Users\thinkpad\AppData\Roaming\Microsoft\SQL Server Management
Studio\14.0\下的SqlStudio.bin文件,重启sqlserver

数据库显示“正在还原”的处理方法

1)新建查询,复制下面代码,修改数据库名后,执行;

--恢复并且回到可访问状态,要执行
 RESTORE database 数据库名  with recovery

2)点击对象资源管理器->数据库->右键->刷新,
再次展开,就OK了。

数据库发生死锁怎么处理

  1. 查看被锁进程号及被锁表名:
SELECT request_session_id spid, --进程号
       OBJECT_NAME(resource_associated_entity_id) tableName  --被锁表名
FROM sys.dm_tran_locks
WHERE resource_type = 'OBJECT'
  1. 解锁:
KILL [进程号]

版权声明:本文为gukk50原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。