日度归档:2018年7月8日

mssql sqlserver 收缩tempdb数据库或收缩tempdb中ldf文件的方法分享


摘要:
下文讲述收缩tempdb数据库的方法如下所示:



收缩数据库的最简单的方法为:重启数据库服务,当我们重启db服务时,tempdb数据库会被初始化,变为最小;
tempdb数据库默认存储在”C:\Program Files\Microsoft SQL Server\MSSQL\Data\”路径下:
文件名分别为: tempdb.mdf 、 templog.ldf
tempdb数据库的功能为:数据库运行时,所产生的临时数据库对象提供存储位置。


收缩数据库的方法:

方法1:重启DB服务,tempdb恢复至最小
方法2:收缩tempdb数据库大小,收缩时,可能会导致数据库涉及临时表操作的对象无法对外服务。
使用 DBCC SHRINKFILE命令 收缩单个 tempdb 文件。
使用此命令收缩数据库不会影响同一数据库的不同数据库文件,此操作命令接收target size参数。

—– 说明:使用此命令需在tempdb数据库无涉及此数据的应用时运行,需以单用户模式启动sqlserver.
—–例:
  use tempdb
  go
  dbcc shrinkfile (tempdev, ‘target size in MB’)
  go
  –此命令收缩逻辑文件名tempdev的逻辑文件 target size in MB 指定文件尺寸
  dbcc shrinkfile (templog, ‘target size in MB’)
  go
  —-此命令收缩逻辑文件名templog的逻辑文件 target size in MB 指定文件尺寸
   DBCC SHRINKFILE 可以将文件大小减小到小于其原始大小。

方法3:使用DBCC SHRINKDATABASE对tempdb数据库进行整体收缩,此命令接收的参数为百分比,此参数为收缩后数据库文件中剩余可用空间所需的百分比。

注意事项:
运行此命令时,tempdb数据库不能发生相应的活动,运行此命令需使用单用户模式启动sqlserer.
例:
dbcc shrinkdatabase (tempdb, ‘target percent’)

mssql sqlserver 获取特定字符在字符串中出现的次数的方法分享


摘要:
下文将通过例子讲述逗号在指定字符串中出现的次数,如下所示:
实现环境:sqlserver 2008 R2


实现思路:
将指定字符全部替换掉,然后和原字符串长度进行对比,长度之差则为字符串的出现的次数

 declare @a varchar(100)
 declare @b char(1)
 ---逗号出现的次数
 set @a ='maomao365,78,com,123'
 set @b =','
 select len(@a)-len(replace(@a,@b,''))
 
mssql_sqlserver_字符出现次数分享

mssql_sqlserver_字符出现次数分享