惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 于斯人也

JsonHelper MergeJsonTemplate Add Indexer to DynamicJson Etw EventSourceProvider_EventsProducer.cs OopConsoleTraceEventListenerMonitor_TraceControllerEventsConsumer.cs WorkFlowHelper ConcurrentAsyncQueue 2014-09-07 KeyedPriorityQueue JsonHelper developed by using Newtonsoft.Json.NET, Deserialize to <T> object , XmlToJson/JsonToXml, QuoteName by using JToken Path. Udp SocketAsyncEventArgs SocketAsyncDataHandler C#: using JsonReader avoid Deserialize Json to dynamic XmlValidationHelper XSD、Schema(XmlSchemaSet)、XmlReader(XmlValidationSettings)、XmlDocument、XDocument Validate SharePoint 2013 Apps TokenHelper SharePointContext OAuth Provider-Hosted App (抄袭,测试 csc.rsp 用) nuget packages batch install csc.rsp Nuget MVC/WebAPI、SignalR、Rx、Json、EntityFramework、OAuth、Spatial SQL 2012 Group By Rollup, Grouping EasyPerformanceCounterHelper 并发异步处理队列 .NET 4.5+ (改进性能计数器) 2013-11-16 CodeTimerPerformance EasyPerformanceCounterHelper .NET 4.5 csc.rsp Nuget MVC/WebAPI 5.0、SignalR 2.0、Rx、Json、Azure、EntityFramework、OAuth、Spatial MEF Parts Sample
SQL 2012 Restore HeaderOnly
于斯人也 · 2014-01-18 · via 博客园 - 于斯人也

--USE [master]
GO
/****** Object:  StoredProcedure [dbo].[zsp_RestoreHeaderOnly]    Script Date: 2014/1/18 13:31:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter proc [dbo].[zsp_RestoreHeaderOnly]
--@sql varchar(max)
    @Text   nvarchar(MAX),  --待分拆的字符串
    @Separator nvarchar(8) = ','     --数据分隔符
as
begin
/*
declare @Text nvarchar(max)
set @text = N'
    d:\iFundGlobalCenter.log.1.bak,
    d:\iFundGlobalCenter.log.2.bak,
    d:\iFundGlobalCenter.log.3.bak,
    d:\iFundGlobalCenter.log.4.bak,
    d:\iFundGlobalCenter.ful.5.bak
'
exec zsp_RestoreHeaderOnly @text
*/
declare @sql nvarchar(max) = N''
declare @Table table
(
    id int
    ,F nvarchar(256)
)
set @Text = replace(@Text,N' ',N'')
set @Text = replace(@Text,nchar(13),N'')
set @Text = replace(@Text,nchar(10),N'')
set @Text = replace(@Text,nchar(9),N'')
set @Separator = N','
DECLARE @SeparatorLen int
SET @SeparatorLen=LEN(@Separator + N'$') - 2
set @Text = replace(@Text,N' ',N'')
declare @i int
set @i = 1
WHILE CHARINDEX(@Separator,@Text )>0
BEGIN
    declare @v nvarchar(max)
    set @v = (LEFT(@Text ,CHARINDEX(@Separator,@Text )-1))
    INSERT @Table (id,F)
    select @i,@v
    where rtrim(ltrim(@v)) != '' 
            and not exists (select 1 from @Table  where F = @v)
    if @@rowcount > 0
    begin
        set @i = @i + 1
    end
    SET @Text = STUFF(@Text ,1,CHARINDEX(@Separator,@Text )+@SeparatorLen,'')
END
INSERT @Table  (id,F)
select @i,@Text
where rtrim(ltrim(@Text)) != ''
        and not exists (select 1 from @Table where F = @Text)
select
    @sql +=
    N'RESTORE HEADERONLY FROM disk=''' + F + '''' + nchar(13) + nchar(10)
from
    @table
select @sql
declare @ table
(
--CREATE TABLE #T(
    BackupName nvarchar(256) ,
    BackupDescription nvarchar(256) ,
    BackupType int ,
    ExpirationDate datetime ,
    Compressed tinyint ,
    Position int ,
    DeviceType int ,
    UserName nvarchar(256) ,
    ServerName nvarchar(256) ,
    DatabaseName nvarchar(256) ,
    DatabaseVersion int ,
    DatabaseCreationDate datetime ,
    BackupSize numeric(38,0) ,
    FirstLSN numeric(38,0) ,
    LastLSN numeric(38,0) ,
    CheckpointLSN numeric(38,0) ,
    DatabaseBackupLSN numeric(38,0) ,
    BackupStartDate datetime ,
    BackupFinishDate datetime ,
    SortOrder int ,
    [CodePage] int ,
    UnicodeLocaleId int ,
    UnicodeComparisonStyle int ,
    CompatibilityLevel int ,
    SoftwareVendorId int ,
    SoftwareVersionMajor int ,
    SoftwareVersionMinor int ,
    SoftwareVersionBuild int ,
    MachineName nvarchar(256) ,
    Flags int ,
    BindingID uniqueidentifier ,
    RecoveryForkID uniqueidentifier ,
    Collation nvarchar(256) ,
    FamilyGUID uniqueidentifier ,
    HasBulkLoggedData bit ,
    IsSnapshot bit ,
    IsReadOnly bit ,
    IsSingleUser bit ,
    HasBackupChecksums bit ,
    IsDamaged bit ,
    BeginsLogChain bit ,
    HasIncompleteMetaData bit ,
    IsForceOffline bit ,
    IsCopyOnly bit ,
    FirstRecoveryForkID uniqueidentifier ,
    ForkPointLSN numeric(38,0) NULL ,
    RecoveryModel nvarchar(256) ,
    DifferentialBaseLSN numeric(38,0) NULL ,
    DifferentialBaseGUID uniqueidentifier ,
    BackupTypeDescription nvarchar(256) ,
    BackupSetGUID uniqueidentifier NULL
    , [CompressedBackupSize] numeric(38,0)
    , [Containment] numeric(38,0)
)
INSERT
    --#1
    @
EXEC
    (@sql)
;with T
as
(
    select
        NewBackupType = iif([BackupType] in (1, 5) , 1 ,[BackupType])
        , NewDifferentialBaseLSN = iif(backuptype=1, FirstLSN, DifferentialBaseLSN)
        , *
    from
        @
    --order by
    --    databaseName
    --    ,[FirstLSN]
)
, TT
as
(
    select
        MachineName_0 =                        MachineName 
        , DatabaseName_0 =                    DatabaseName
        , NewBackupType_0 =                    NewBackupType
        --, IsDamaged_0 =                        IsDamaged
        --, BeginsLogChain_0 =                BeginsLogChain
        , LagNewBackupType =            Lag(NewBackupType)
                                            over
                                                (
                                                    order by
                                                        MachineName
                                                        , DatabaseName
                                                        , FirstLSN
                                                )
        , LagLastLSN =
                                        lag([LastLSN])
                                                OVER
                                                    (
                                                        ORDER BY
                                                            NewBackupType
                                                            , [FirstLSN]
                                                    )
        , FirstLSN_0 =                    FirstLSN
        , LastLSN_0 =                    LastLSN
        , FirstValue_FirstLSN =                iif
                                                (
                                                    backupType in (1,5)
                                                    , --FIRST_VALUE(FirstLSN)
                                                        min(FirstLSN)
                                                        OVER
                                                            (
                                                                partition by
                                                                    MachineName
                                                                    , databaseName
                                                                    , NewDifferentialBaseLSN
                                                                order by
                                                                    --MachineName
                                                                    --, DatabaseName
                                                                    --, 
                                                                    FirstLSN
                                                            )
                                                    , null
                                                )
        , DifferentialBaseLSN_0 =        DifferentialBaseLSN
        , BackupTypeDescription_0 =        BackupTypeDescription
        , BackupFinishDate_0 =            BackupFinishDate
        , *
    from
        T
)
select
    ok =    iif(FirstLSN = LagLastLSN, 'Y', 'N')
    , *
from
    TT
order by
    MachineName
    , databaseName
    --, NewBackupType
    , FirstLSN
end