分组取第一条数据
select * from (select row_number() over(partition by ID order by ID) as rownum , * from table) as temp where temp.rownum = 1
分组后,以逗号分割拼接某字段
SELECT SharerintName ,ProdCode = STUFF(( SELECT ',' + CONVERT(nvarchar,Id) FROM AA_PrinterInfo a
WHERE a.SharerintName = b.SharerintName FOR XML PATH('') ), 1,1, '') FROM AA_PrinterInfo b GROUP BY SharerintName
添加字段和描述
if COL_LENGTH('FC_JobTask','DeferCPIsFinished') is null
begin
alter table FC_JobTask add [DeferCPIsFinished] bit DEFAULT 0 NOT NULL
exec sp_addextendedproperty N'MS_Description', N'暂缓工序完工否', N'user', N'dbo', N'table', N'FC_JobTask', N'column', N'DeferCPIsFinished'
end
--更新描述
exec sp_updateextendedproperty N'MS_Description', N'状态:0 待审核', N'user', N'dbo', N'table', N'PO_SellOrderDetail', N'column', N'State'
日志收缩与备份
--查询数据库文件信息
USE [JStandard];
GO
EXEC sp_helpfile;
--完整恢复模式 FULL
--简单恢复模式 SIMPLE
--大容量日志恢复模式 recovery_model_desc
SELECT recovery_model_desc FROM sys.databases WHERE name = 'JStandard';
-- 根据情况是否先进行完整备份
-- 日志备份只能在数据库已经进行过完整备份之后才会被允许。
--BACKUP DATABASE JStandard TO DISK = '/var/opt/mssql/data/JStandard_full_backup.bak';
----备份日志
BACKUP LOG [JStandard] TO DISK = 'D:\Backup\JStandard_log_backup.trn';
--收缩日志,单位:M
DBCC SHRINKFILE (N'JStandard_log', 1024);
--修改文件的 MAXSIZE
ALTER DATABASE [JStandard]
MODIFY FILE (NAME = N'JStandard_log', MAXSIZE = 1536MB);
--将数据库恢复模式设置为简单恢复模式
ALTER DATABASE JStandard SET RECOVERY SIMPLE;
-- 数据库恢复模式为完整恢复模式的时候先截断日志,再搞个脚本定时截断。
----备份日志
--BACKUP LOG [JStandard] TO DISK = 'D:\Database\JStandard_log_backup.trn';
----SQL Server 作业
--DECLARE @LogSize INT;
---- 获取日志文件的当前大小(单位:KB)
--SELECT @LogSize = size * 8 / 1024
--FROM sys.master_files
--WHERE database_id = DB_ID('你的数据库名') AND type_desc = 'LOG';
---- 如果日志文件超过 500MB(500MB = 500 * 1024 KB),则执行日志备份
--IF @LogSize > 500
--BEGIN
-- BACKUP LOG [你的数据库名] TO DISK = 'D:\备份\日志备份.trn';
--END
分享一个MV
EXO组合的咆哮