分组取第一条数据
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';