Test post

 /* =====================================================

   FULL REFRESH: TRUNCATE + RELOAD (COPY DATA AS-IS)

   ===================================================== */


SET QUOTED_IDENTIFIER ON;

SET ANSI_NULLS ON;

SET ANSI_PADDING ON;

SET ANSI_WARNINGS ON;

SET CONCAT_NULL_YIELDS_NULL ON;

SET NUMERIC_ROUNDABORT OFF;

GO


SET NOCOUNT ON;


/* ---------- CONFIGURE DATABASES ---------- */

DECLARE @SourceDB SYSNAME = 'HCHB_CANTEX';

DECLARE @TargetDB SYSNAME = 'HCHB_CTX';


/* ---------- TABLE LIST ---------- */

DECLARE @Tables TABLE (SchemaName SYSNAME, TableName SYSNAME);


INSERT INTO @Tables VALUES

('dbo','AGENCIES_SERVICELINES_BRANCHES'),

('dbo','AGENCY_RCD_SUSPENSION_PERIODS'),

('dbo','BRANCHES'),

('dbo','CLIENT_EPISODE_BENEFIT_PERIOD'),

('dbo','CLIENT_EPISODE_FACETOFACE'),

('dbo','CLIENT_EPISODE_FS'),

('dbo','CLIENT_EPISODE_FS_PPS_PRECLAIM_REVIEW'),

('dbo','CLIENT_EPISODE_FS_PPS_PRECLAIM_REVIEW_NONAFFIRMATION_REASONS'),

('dbo','Client_Episode_FS_PreClaim_Review_Answers'),

('dbo','CLIENT_EPISODES_ALL'),

('dbo','CLIENT_ORDERS_ALL'),

('dbo','FACETOFACE_REVIEW_STATUSES'),

('dbo','PAYOR_SOURCE_FACE_TO_FACE_SETUP'),

('dbo','PAYOR_SOURCE_HOME_HEALTH_SETTINGS'),

('dbo','PAYOR_SOURCES'),

('dbo','PAYOR_TYPES'),

('dbo','PPS_CLIENT_EPISODE_PAYOR_PRECLAIM_REVIEW_DATA'),

('dbo','PPS_PRECLAIM_REVIEW_COVERAGE_DETERMINATIONS'),

('dbo','PPS_PRECLAIM_REVIEW_STATES'),

('dbo','PPS_PRECLAIM_REVIEW_SUBMISSION_STATUSES'),

('dbo','Questions'),

('dbo','TEAMS'),

('PDGM','NOTICE_OF_ADMISSION'),

('PDGM','PDGM_PERIOD'),

('dbo','PHYSICIANS'),

('dbo','PHYSICIAN_OFFICES'),

('dbo','SNAPSHOT_RPTCLIENT_485'),

('dbo','CLIENT_EPISODE_VISITS_ALL'),

('dbo','WORKER_BASE'),

('dbo','WORKER_BASE_PAYROLL_DETAILS'),

('dbo','CLIENT_485_ALL'),

('dbo','CLIENT_EPISODE_SERVICE_LOCATIONS'),

('dbo','CLIENTS_ALL'),

('dbo','PAYOR_SOURCE_BRANCHES'),

('dbo','SYSTEM_SETTINGS'),

('dbo','REQUEST'),

('dbo','CLIENT_CALENDAR'),

('dbo','SERVICECODES'),

('dbo','JOB_DESCRIPTIONS'),

('dbo','SCHED'),

('dbo','TimeCards_Rounding_Rules'),

('dbo','TimeCards_Rounding_Templates'),

('dbo','TimeCards_Rounding_StoredProcs'),

('dbo','TimeCards_Rounding_Rules_Filters'),

('dbo','TimeCards_Rounding_Filters'),

('dbo','WORKER_JOBDESCRIPTIONS'),

('dbo','PROGRAMS'),

('dbo','DISCIPLINES'),

('dbo','BILLING_CODES'),

('dbo','PDGM_HCPCS'),

('dbo','SERVICES'),

('dbo','CLIENT_EPISODE_VISIT_CLAIM_CODES'),

('dbo','CLAIM_CODES'),

('dbo','CLIENT_EPISODE_FREQUENCY_WEEKS'),

('dbo','CLIENT_EPISODE_ORDERED_VISITS'),

('dbo','CLIENT_EPISODE_VISIT_NOTES'),

('dbo','CLIENT_EPISODE_VISIT_VS_ALERTS'),

('dbo','CLIENT_EPISODE_VISIT_VS_READINGS'),

('dbo','VITALSIGN_TYPES'),

('dbo','CLIENT_EPISODE_VITALSIGNPARAMETERS'),

('dbo','CLIENT_485_GOALS'),

('dbo','CLIENT_EPISODE_PHYSICIAN_PROTOCOLS'),

('dbo','PHYSICIAN_PROTOCOLS'),

('dbo','PATIENT_MEDS'),

('dbo','PATIENT_MED_ATTRIBUTES'),

('dbo','PATIENT_MEDS_UNDERSTANDING'),

('dbo','PATIENT_MEDS_TO_MEDS_UNDERSTANDING'),

('dbo','PATIENT_ORDER_MEDS'),

('dbo','CLIENT_MEDS'),

('dbo','CLIENT_WOUNDS'),

('dbo','CLIENT_WOUNDS_ORDERS'),

('dbo','CLIENT_WOUND_HISTORY');

/* ---------- VARIABLES ---------- */

DECLARE

    @Schema SYSNAME,

    @Table  SYSNAME,

    @Cols   NVARCHAR(MAX),

    @SQL    NVARCHAR(MAX),

    @HasIdentity BIT;


/* ---------- CURSOR ---------- */

DECLARE cur CURSOR FAST_FORWARD FOR

SELECT SchemaName, TableName FROM @Tables;


OPEN cur;

FETCH NEXT FROM cur INTO @Schema, @Table;


WHILE @@FETCH_STATUS = 0

BEGIN

    /* ---------- Build column list + identity detection ---------- */

    SET @SQL = N'

    SELECT

        @ColsOut =

            STUFF((

                SELECT '','' + QUOTENAME(c.name)

                FROM ' + QUOTENAME(@TargetDB) + '.sys.columns c

                WHERE c.object_id = OBJECT_ID(''' + @TargetDB + '.' + @Schema + '.' + @Table + ''')

                  AND c.is_computed = 0

                ORDER BY c.column_id

                FOR XML PATH(''''), TYPE

            ).value(''.'',''nvarchar(max)''),1,1,''''),

        @HasIdentityOut =

            CASE

                WHEN EXISTS (

                    SELECT 1

                    FROM ' + QUOTENAME(@TargetDB) + '.sys.columns

                    WHERE object_id = OBJECT_ID(''' + @TargetDB + '.' + @Schema + '.' + @Table + ''')

                      AND is_identity = 1

                )

                THEN 1 ELSE 0

            END;

    ';


    EXEC sys.sp_executesql

        @SQL,

        N'@ColsOut NVARCHAR(MAX) OUTPUT, @HasIdentityOut BIT OUTPUT',

        @ColsOut = @Cols OUTPUT,

        @HasIdentityOut = @HasIdentity OUTPUT;


    IF @Cols IS NULL OR LEN(@Cols) = 0

    BEGIN

        PRINT 'Skipping ' + @Schema + '.' + @Table + ' (no usable columns)';

        FETCH NEXT FROM cur INTO @Schema, @Table;

        CONTINUE;

    END


    /* ---------- TRUNCATE ---------- */

    SET @SQL = N'

    PRINT ''Truncating ' + @Schema + '.' + @Table + ''';

    TRUNCATE TABLE ' + QUOTENAME(@TargetDB) + '.' + QUOTENAME(@Schema) + '.' + QUOTENAME(@Table) + ';

    ';

    EXEC sys.sp_executesql @SQL;


    /* ---------- INSERT (IDENTITY SAFE – SINGLE BATCH) ---------- */

    SET @SQL = N'

    PRINT ''Reloading ' + @Schema + '.' + @Table + ''';


    ' + CASE WHEN @HasIdentity = 1 THEN

        'SET IDENTITY_INSERT ' + QUOTENAME(@TargetDB) + '.' + QUOTENAME(@Schema) + '.' + QUOTENAME(@Table) + ' ON;'

      ELSE '' END + '


    INSERT INTO ' + QUOTENAME(@TargetDB) + '.' + QUOTENAME(@Schema) + '.' + QUOTENAME(@Table) + '

        (' + @Cols + ')

    SELECT ' + @Cols + '

    FROM ' + QUOTENAME(@SourceDB) + '.' + QUOTENAME(@Schema) + '.' + QUOTENAME(@Table) + ';


    ' + CASE WHEN @HasIdentity = 1 THEN

        'SET IDENTITY_INSERT ' + QUOTENAME(@TargetDB) + '.' + QUOTENAME(@Schema) + '.' + QUOTENAME(@Table) + ' OFF;'

      ELSE '' END + '

    ';


    EXEC sys.sp_executesql @SQL;


    FETCH NEXT FROM cur INTO @Schema, @Table;

END


CLOSE cur;

DEALLOCATE cur;


PRINT '===== FULL REFRESH COMPLETED SUCCESSFULLY (DATA COPIED AS-IS) =====';


Long Running SQL Agent Jobs - How I Monitor Them Automatically

In day-to-day DBA work, one common issue we face is SQL Agent jobs that keep running for hours. They don’t fail, but they block other jobs, eat resources, and usually get noticed only after someone escalates.

To avoid that, I built a simple monitoring script that keeps an eye on long-running SQL Agent jobs and sends an email alert when something crosses the expected time.

How to Remotely Log Off a Stuck RDP Session

 Sometimes when working on a remote server, you may see "Signing out" stuck forever. In such cases, you can forcefully log off the session without restarting the server.




Using Command Prompt:-

qwinsta /server:ServerName

logoff <SessionID> /server:ServerName

Example logoff 2 /server:SP-SQL-BI


Using PowerShell:-

quser /server:ServerName

logoff <SessionID> /server:ServerName


Fast PowerShell Script to Copy Latest SQL Backups Over Network

If you're managing SQL Server backups and need to automatically copy the latest .bak files from one server to another within the same domain and on a high-bandwidth connection, this PowerShell + robocopy script is optimized for speed and reliability.

function Copy-LatestBackupFast {
    param (
        [string]$SourceDir,
        [string]$DestDir
    )

    # Ensure destination exists
    if (!(Test-Path $DestDir)) {
        New-Item -ItemType Directory -Path $DestDir -Force | Out-Null
    }

    # Get the latest .bak file
    $Latest = Get-ChildItem -Path $SourceDir -Filter *.bak | Sort-Object LastWriteTime -Descending | Select-Object -First 1

    if ($Latest) {
        $SourcePath = $Latest.FullName
        $FileName   = $Latest.Name

        # robocopy works on directories, so we pass the directory and file
        $SourceFolder = Split-Path $SourcePath

        $cmd = @(
            "robocopy",
            "`"$SourceFolder`"",
            "`"$DestDir`"",
            "`"$FileName`"",
            "/COPY:D",              # Copy data only
            "/NFL", "/NDL",         # No file/dir listing
            "/NP",                  # No progress
            "/NJH", "/NJS",         # No job header/summary
            "/R:0", "/W:0",         # No retries/wait
            "/MT:32"                # Multi-threaded copy
        ) -join ' '

        Write-Host "Copying: $FileName from $SourceFolder to $DestDir ..."
        Invoke-Expression $cmd
    } else {
        Write-Warning "No .bak files found in $SourceDir"
    }
}

# === Copy Each Backup Set ===

Copy-LatestBackupFast "\\node1\adads"             "\\node\Backup\addad"
Copy-LatestBackupFast "\\node2\aff"                "\\node\Backup\addd"
Copy-LatestBackupFast "\\node3\addd"            "\\node\Backup\asdref"
Copy-LatestBackupFast "\\node3\addd"   "\\node\Backup\adeedd"
Copy-LatestBackupFast "\\node3\eeww"        "\\node\Backup\addd"

Automate Emailing of Latest Excel Reports from Shared Folders Using PowerShell

Automatically send the latest Excel file from a shared folder via email, along with the file's creation date, using a simple PowerShell script. No more manual checks

# Configuration
$sharedFolder = "\\YourSharedServer\SharedFolderPath"
$smtpServer = "smtp.yourdomain.com"
$from = "sender@yourdomain.com"
$to = "recipient@yourdomain.com"
$subject = "Latest Excel File from Shared Location"

# Get the latest Excel file
$latestFile = Get-ChildItem -Path $sharedFolder -Filter *.xls* |
    Sort-Object LastWriteTime -Descending |
    Select-Object -First 1

if ($latestFile) {
    $filePath = $latestFile.FullName
    $fileName = $latestFile.Name
    $fileDate = $latestFile.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss")

    $body = @"
Hello,

Please find the latest Excel file attached.

**File Name:** $fileName  
**Generated On:** $fileDate

Regards,  
Your DBA Automation
"@

    # Send email with attachment
    Send-MailMessage -From $from -To $to -Subject $subject -Body $body `
        -SmtpServer $smtpServer -BodyAsHtml -Attachments $filePath
} else {
    Write-Host "No Excel file found in the shared folder."
}