วันจันทร์ที่ 19 พฤษภาคม พ.ศ. 2568

Mongodb ลง สำรอง และ ล้างตัวเก่า

 สามารถ ลง Mongodb ได้หลายตัว ในเครื่องเดียวกัน วิธีให้หา Version ติดๆกัน เช่น 6 กับ 7 

ปรกติ Installer จะ set default ให้ตัวล่าสุด

ให้ปิด Service ตัวเก่า แล้ว ไป command cmd  >mongod --config <config>.cfg ใน Program files..\mongodb..\server..\<version>


วิธีล้าง ใช้ mongo shell 

db.adminCommand("listDatabases").databases.
   map(d => d.name).
   filter(n => ["admin", "config", "local"].indexOf(n) == -1 ).
   map(n => db.getSiblingDB(n).dropDatabase())

python
from pymongo import MongoClient

# Connect to MongoDB
client = MongoClient('mongodb://localhost:27017/')

# Get the list of all database names, excluding 'admin', 'config', 'local'
db_names = client.list_database_names()
db_names = [name for name in db_names if name not in ('admin', 'config', 'local')]

# Drop each of the filtered databases
for db_name in db_names:
    client.drop_database(db_name)
    print(f"Dropped database: {db_name}")


ต้องการ restore ก็ทำได้

Visual studio dotnet 8 complied ถาษาไทย

 แก้ใน .csproj

<PropertyGroup>

    <!-- ตั้ง Neutral Resources เป็นไทย (ใช้เมื่อมี .resx หลายภาษา) -->

    <NeutralResourcesLanguage>th-TH</NeutralResourcesLanguage>

    <!-- ให้ MSBuild สร้าง satellite assembly (.th-TH) อัตโนมัติหากมี *.th-TH.resx -->

    <GenerateSatelliteAssemblies>true</GenerateSatelliteAssemblies>

    <!-- ปิดการตัด Globalization (กรณี Publish AOT หรือ Trim) -->

    <InvariantGlobalization>false</InvariantGlobalization>

 </PropertyGroup>

วันอังคารที่ 31 ธันวาคม พ.ศ. 2567

Simple Script SQL server backup แบบ เร็วๆ

 -- source: https://www.MSSQLTips.com

-- https://www.mssqltips.com/sqlservertip/1070/simple-script-to-backup-all-sql-server-databases/

DECLARE @name NVARCHAR(256) -- database name  

DECLARE @path NVARCHAR(512) -- path for backup files  

DECLARE @fileName NVARCHAR(512) -- filename for backup  

DECLARE @fileDate NVARCHAR(40) -- used for file name

 

-- specify database backup directory

SET @path = 'C:\test\'  

 

-- specify filename format

SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112) 

 

DECLARE db_cursor CURSOR READ_ONLY FOR  

SELECT name 

FROM master.sys.databases 

WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases

AND state = 0 -- database is online

AND is_in_standby = 0 -- database is not read only for log shipping

 

OPEN db_cursor   

FETCH NEXT FROM db_cursor INTO @name   

 

WHILE @@FETCH_STATUS = 0   

BEGIN   

   SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  

   BACKUP DATABASE @name TO DISK = @fileName  

 

   FETCH NEXT FROM db_cursor INTO @name   

END   

 

CLOSE db_cursor   

DEALLOCATE db_cursor

วันอังคารที่ 24 ธันวาคม พ.ศ. 2567

SQL server ทั้ง ตัวเต็มและ localdb ลงไม่ได้ เพราะ harddisk มี Sector size มากกว่า 4K

เป็นปัญหา สำหรับเครื่องรุ่นใหม่ กับ Sql server 2019-... ลงได้ และ Start ไม่ได้ จาก Sector size >4Kให้แก้ Registry ตาม Link นี้



https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/database-file-operations/troubleshoot-os-4kb-disk-sector-size


ดูขนาด Sector
fsutil fsinfo sectorinfo <volume pathname>


คำสั่ง registry จาก CMD
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t   REG_MULTI_SZ /d "* 4095" /f

REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes"

คำสั่ง Validate ว่า ใช้ได้




วันอังคารที่ 3 ธันวาคม พ.ศ. 2567